본문 바로가기

Java

[Java] 11

복합 대입 연산자

(ex) num += 3; → num = num + 3;

(ex) num -= i; → num = num - i;

(ex) num *= 2; → num = num * 2;

(ex) num /= 3; → num = num / 3;

(ex) num %= 3; → num = num % 3;

증감연산자

1. 후위형

- 우선순위가 낮다.

(ex) num++; → num += 1; → num = num + 1;

(ex) num--; → num -= 1; → num = num - 1;

2. 전위형

- 우선순위가 높다.

(ex) ++num;

(ex) --num;

중첩문

1. 다중 for문(= 중첩 for문 : nested for)

2. 이중 for문

- for문 안에 for문이 있는 형태

continue

- 즉시 다음 반복으로 이동한다.

- 중첩 for문에서 continue가 사용되면, 자기 자신을 감싸고 있는 가장 가까운 for문의 다음 반복으로 이동한다.

 


 

실습(증감연산자)

public class IncrementDecrementOp {

	public static void main(String[] args) {

		int num = 10;
		// 대입연산자가 먼저 실행되고, 그 뒤 증감연산자(후위형)가 실행된다.
		
		System.out.println(num++); //아직 증가하지 않았기 때문에 num의 값은 10이다.
		
		// 여기서부터 num++가 적용되어 num의 값은 11이 된다.
		System.out.println(num);
		
		// 증감연산자(전위형)가 먼저 실행되고, 그 다음에 println()이 실행된다.
		System.out.println(++num); //바로 증가하여 num의 값은 12이다.
		
	}
}

 

결과

 

실습(중첩문(1))

1. 0~33 사이의 숫자 중 짝수만 출력하기

public class NestedFor {

	public static void main(String[] args) {

		for(int i = 0; i < 34; i++) {
			if(i % 2 == 0) {
				System.out.println(i);
			}
		}
		
	}
}

 

결과

 

※ continue 사용

public class NestedFor {

	public static void main(String[] args) {

		for(int i = 0; i < 34; i++) {
			if(i % 2 != 0) {
				continue; //즉시 다음 반복으로 이동
				// System.out.println("안녕");  // continue 아래의 코드는 실행되지 않는다.(dead code)
			}
			System.out.println(i);
		}

	}
}

 

결과

 

​​

2.이중 for문 예시

public class NestedFor {

	public static void main(String[] args) {

		for(int i = 0; i < 3; i++) {
			for(int j = 0; j < 5; j++) {
				System.out.println("i : " + i + " j : " + j);
			}
		}

	}
}

 

결과

 

실습(중첩문(2))

1. 아래 이미지처럼 출력하기

public class NestedForTask {

	public static void main(String[] args) {

		for(int i = 0; i < 5; i++) {
			for(int j = 0; j < 5; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
	}
}

 

결과

 

​​

2. 아래 이미지처럼 출력하기

public class NestedForTask {

	public static void main(String[] args) {

		for(int i = 0; i < 5; i++) {
			for(int j = 0; j < i+1; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
	}
}

 

결과

 

 

3. 아래 이미지처럼 출력하기

- for문 및 if문을 중첩하여 작성

public class NestedForTask {

	public static void main(String[] args) {

		for(int i = 0; i < 5; i++) {
			for(int j = 0; j < 5; j++) {
				if(j < 4 - i) {
					System.out.print(" ");
				} else {
					System.out.print("*");
				}
			}
			System.out.println();
		}

	}
}

 

결과

 

​​

- for문 1개만 이용하여 작성

public class NestedForTask {

	public static void main(String[] args) {

		String star = "*";

		for(int i = 0; i < 5; i++) {
			System.out.printf("%5s\n", star);
			star += "*";  //star = star + "*"
		}
		
	}
}

 

결과

 

 

​​

4. 구구단을 2단부터 4단까지 출력하기

public class NestedForTask {

	public static void main(String[] args) {

		for(int i = 2; i < 5; i++) {
			for(int j = 1; j < 10; j++) {
				System.out.println(i + " X " + j + " = " + (i * j));
			}
		}
		
	}
}

 

결과

 

'Java' 카테고리의 다른 글

[Java] 13  (0) 2022.01.02
[Java] 12  (0) 2021.12.29
[Java] 10  (0) 2021.12.27
[Java] 09  (0) 2021.12.24
[Java] 08  (0) 2021.12.22