[백엔드] JAVA #2

현지·2021년 12월 8일
0

if문

  • 조건문
  • if내부의 조건이 맞으면 실행

✔️ 사용 예시 #1

int num = 5;
if(num > 0) {
	System.out.println("num은 0보다 큽니다.");
}

✔️ 사용 예시 #2

  • else if를 사용하여 조건을 추가할 수 있다.
  • 모든 조건이 아닐경우 else를 이용하여 처리한다.
  int n = 90;
  if(n == 100) {
      System.out.println("A+입니다.");
  }else if(n >= 90){
      System.out.println("A입니다.");
  }else if(n >= 80) {
      System.out.println("B입니다.");
  }else if(n >= 70) {
      System.out.println("C입니다.");
  }else {
      System.out.println("재시험입니다.");
  }

❗❗❗ str을 비교할 때는 equals를 사용해야 한다.

  String str1 = "안녕하세요";
  String str2 = "안녕";
  str2 += "하세요";
  if(str1 == str2) {
      System.out.println("같은 문자입니다.");
  }else {
      System.out.println("다른 문자입니다.");
  }

  //equals사용해야함
  if(str1.equals(str2)) {
      System.out.println("같은 문자 입니다. equals사용");
  }
  • 실행결과

switch문

  • if 와 비슷하다
  • 값이 명확해야 한다.
  • break를 이용해서 해당 조건이 실행된 후 빠져나가도록 한다.

✔️ 사용 예시

int num = 2;
switch(num) {
	case 1:
		System.out.println("num = 1");
		break;
	case 2:
		System.out.println("num = 2");
		break;
	case 3:
		System.out.println("num = 3");
		break;
	default:
		System.out.println("num은 1, 2 아님");
		break;

for문

  • loop문, 순환문, 반복문
  • 지정 회수에 따라서 반복하는 제어문

✔️ 사용 예시 #1

int n;
for(n = 0; n < 2; n++) {
	System.out.println(n);
}

✔️ 사용 예시 #2

가운데 조건을 쓰지 않으면 무한 루프가 된다.

//endless loop
for(int i = 0; ;i++) {
	System.out.println(i+" ");
}

✔️ 사용 예시 #3

for each로 다른 형태로도 사용이 가능하다.

//for each
for(int num : numArr) {
	System.out.print(num+" ");
}

✔️ 사용 예시 #4

2중 for문

int array2[][] = {
        {11,12,13,14},
        {21,22,23,24},
        {31,32,33,34}
};
for(int i=0; i<array2.length; i++) {
	for(int j=0; j<array2[i].length; j++) {
		System.out.print(array2[i][j]+" ");
	}
	System.out.println();
}

✔️ 사용 예시 #5

초기화와 증감을 아래처럼 따로 써주어도 잘 작동한다.

int i;
i=0;
for( ;i<10; ) {
	System.out.println("for loop"+i);
	i++;
}

while문

  • for문과 비슷한 반복문이다.

✔️ 사용 예시 #1

for 문과 달리 조건만 쓸 수 있어서 초기화와 증감을 따로 해주어야 한다.

int w;
w = 0;
while(w<10) {
	System.out.println(w);
	w++;
}

✔️ 사용 예시 #2

for문처럼 2중으로 사용 가능하다.
하지만 아래 예시처럼 구구단을 출력하려면 num2 초기화에 주의해야 한다.
=> num2를 while문 밖에 선언하면 num2가 이미 증가해서 num1=2일때, 내부 while문이 실행되지 않는다.

int num1, num2;
num1 = 1;

while(num1<10) {
      num2 = 1;
      while(num2<10) {
          System.out.println(num1 +"x"+num2+"="+num1*num2);
          num2++;
      }
      System.out.println();
      num1++;
}

break

  • 탈출, escape
  • switch, for, while, do while과 함께 사용된다.

✔️ 사용 예시 #1

i = 5인 경우에 break가 실행되므로 for문은 10번이 실행되지 않고 바로 종료된다.

for(int i = 0; i < 10; i++) {
    System.out.println("for loop"+i);
    if(i == 5) {
    	break;
    }
}

✔️ 사용 예시 #2

2중 for문을 종료하는 방법

  • loop문의 개수의 맞게 break를 설정한다.
boolean b = false;

for(int i=0; i<10; i++) {
    System.out.println("i="+i);
    for(int j=0; j<10; j++) {
        System.out.println("\tj="+j);
        if(i == 5 && j == 3) {
            b = true;
            break;
        }
    }
    if(b) {
    	break;
    }
}
  • break를 셋팅한다.
    • chu_out부분을 원하는 단어로 만든다.
    • break뒤에 함께 사용하면 해당 반복문을 전체 종료하는 역할을 한다.
    • 반복문이 여러개여도 종료 가능하다.
chu_out: for(int i=0; i<10; i++) {
	System.out.println("i="+i);
	for(int j=0; j<10; j++) {
		System.out.println("\tj="+j);
		if(i == 3 && j == 5) {
			break chu_out;
		}
	}
}

continue

  • 생략, skip
  • loop문과 함께 사용한다.
  • 반복문이 종료되는 것이 아닌 continue 이후가 실행되지 않는다.

✔️ 사용 예시 #1

for(int i=0; i<5; i++) {
	System.out.println("i="+i);
	System.out.println("for start");
	if(i>3) {
		continue;
	}
	System.out.println("for end");
}

결과:

✔️ 사용 예시 #2

❗ while문에서 사용할 때 w++를 아래에 써주면 실행이 안돼서 무한 루프가 될 수 있다.

//무한 루프가 만들어짐 => continue가 있어서 w++;가 실행되지 않음
int w = 0;
while(w<10) {
	System.out.println("w="+w);
	System.out.println("while start");
	if(w>3) {
		continue;
	}
	System.out.println("while end");
	w++;
}

0개의 댓글