Pre-Onboarding 4일차

최재하·2022년 11월 10일
0

조건문

  • if

    조건식의 결과에 따라 블록 실행여부가 결정.
    조건식에는 true, false값을 산출할 수 있는 연삭식이나 boolean 타입 변수가 올수있다.
    조건에따라 실행할 문장이 두개이상이면 중괄호로 if문을 묶어줘야한다.
  • if else

    if문을 else블록과 함께 사용하여 조건식이 true면 if문의 블록이 실행 false면 else블록이 실행.
    if (조건식) {
    	  System.out.println("조건식의 결과가 true일때 실행.");
    } else {  
    	  System.out.println("조건식의 결과가 false일때 실행.");
    }
  • if else if else

    조건문이 여러개인 if문이다 if블록의 끝에 else if문을 붙혀서 사용하면된다.
    else if문의 수는 제한이없고 여러 조건식 중 true가 되는 블록이 실행된다. 전부 false이면 else 블록을 실행하고 if문을 벗어나게 된다.
    if (조건식1) {
    	  System.out.println("조건식1의 결과가 true일때 실행");
    } else if (조건식2) {
    	  System.out.println("조건식2의 결과가 true일때 실행");
    } else {
    	  System.out.println("조건식의 결과가 모두 false일때 실행");
    }
  • switch

    if문처럼 조건 제어문이지만 if문처럼 참 거짓으로 실행하는 것이 아니라 변수가 어떤 값을 갖느냐에 따라 실행된다. if문은 경우의 수가 많으면 코드가 복잡해지는데 switch문은 변수의 값으로 실행하기 때문에 if문보다 코드가 간결하다.
    switch (변수){
    	case "A":
      		System.out.println("변수가 A일때 실행");
        	break;
        case "B":
        	System.out.println("변수가 B일때 실행");
        	break;
        default:
        	System.out.println("변수가 A,B모두 아닐때실행");
     }
    break가 있는 이유는 다음 case를 실행하지않고 switch문을 빠져나가기 위해서다.
    break가 없으면 다음 case가 case값과 상관없이 실행된다.
    위 코드에서 break가 없는데 변수가 A이면 default까지 모두 실행된다.

반복문

  • for

    똑같은 실행문을 여러개 사용해아할때 for문을 사용하면 코드를 많이 줄일 수 있다.

    int sum = 0
     sum += 1;
     sum += 2;
     sum += 3;
     sum += 4;
     sum += 5;
     System.out.println("1~5의 합" + sum);
     
     -------------------------------------------------
     
     int sum = 0;
     for (int i = 1; i <=5; i++) {
     	sum += i;
     }
     System.out.println("1~5의 합" + sum);

    위 코드대로 1부터 5의 합을 구하는 5개의 실행문을 짧게 줄일수있다. 1부터 100까지의 합을 구하는 문제였으면 100개의 실행문을 3줄로 줄여주는 유용한 코드다.

  • 중첩 for

    for문 속에 또 다른 for문이 들어갈 수 있다. 이것을 중첩 for문이라고 한다. 바깥쪽 for 문이 한번 실행될 때 안쪽 for문은 정해진 횟수만큼 반복하고 다시 바깥쪽 for문으로 돌아간다.
    중첩 for문의 예제로는 구구단이 있다.

    for (int i = 2; i <= 9; i++) {
    	for(int j = 1; j <= 9; j++){
      		System.out.println(i + "*" + j + "=" + i * j);
      }
    }
  • while

    while문은 조건식이 true일 경우에 계속해서 반복한다.

    int sum = 0;
     int i = 1;
     while (i <= 100) {
     	sum += i;
      	i++;
     }
     System.out.println("1~100의 합" + sum);

    for문은 루프카운트 변수i를 조건식에서도 선언할 수 있었지만 while문은 시작전에 while문 밖에서 선언해놓아야 한다.

  • do while

    조건식에 의해 반복 실행된다는 점에서 while문이랑 동일하다
    차이점은 while문은 조건을 먼저 검사하고 do while문은 나중에 검사하는것 do while문은 실행문을 먼저 실행하고 결과에 따라 반복할지 정한다

    do {
    	실행문;
    } while(조건문); //실행을 한번 하고나서 조건문이 true일때 반복.
  • break

    반복문의 실행을 중지할 때 사용된다 조건문인 switch문도 break문을 사용하여 중지한다.

  • continue

    continue는 반복문(for, while, do while)만 사용한다 블록내부에서 실행되면 for문의 증감식(i++,i--) 또는 while, do while문의 조건식으로 이동한다. break문처럼 실행되면 그 이후문장을 실행하지않지만 다른점은 continue문은 다시 반복문을 실행한다는 것이다.

예제

while문과 Math.random() 메소드를 이용해 2개의 주사위를 던졌을때 나오는 눈의 합이 5가 아니면 주사위를 계속 던지고 맞으면 실행을 멈추는 코드를 작성.

while(true) {
	int random1 = (int) (Math.random() *  6) + 1;
 	int random2 = (int) (Math.random() *  6) + 1;
 	System.out.println("1번 주사위 : " + random1 + "  " +  "2번 주사위 : " + random2);
 	if(random1 + random2 == 5){
  		break;
  }
}

for문을 사용해 아래 사진처럼 별을 출력하세요.

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

0개의 댓글