romworld

Chapter 04. 조건문과 반복문 본문

JAVA/개념정리

Chapter 04. 조건문과 반복문

inderrom 2022. 9. 12. 20:17

조건문 (if, switch)

 

if문

- if(조건식){ } : 조건식의 결과가 true 이면 블럭안의 문장을 수행

- else if(조건식){ } : 다수의 조건이 필요할 때 if 뒤에 추가

- else{ } : 결과가 true인 조건식이 하나도 없을때 수행

	int a = 1;

		if (a == 1) {
			System.out.println("조건식의 결과가 true면 수행된다");
		}

		if (a == 0) {
			System.out.println("조건식의 결과가 false면 수행되지 않음");
		}

		if (a == 0) {
			System.out.println("a가 0인 경우 하고 싶은 것");
		} else if (a == 1) {
			System.out.println("a가 1인 경우 하고 싶은 것");
		} else if (a == 2) {
			System.out.println("a가 2인 경우 하고 싶은 것");
		} else {
			System.out.println("이외의 경우에 하고 싶은 것");
		}

 조건절의 범위가 큰 것이 위에 있으면 작은 조건은 사용되지 않을 가능성이 높으므로 작성에 주의한다.

 


switch문

- switch(int/String){case 1: break;}

- 조건식의 결과는 정수와 문자열만 허용된다.

- 조건식과 일치하는 case 문 '이후'의 문장을 수행한다.

 

		// 입력하는 월에 해당하는 계절을 출력해봅시다. (switch 사용)
		// 345 봄 678 여름 91011가을 1212 겨울
		Scanner sc = new Scanner(System.in);
	
		System.out.println("월을 입력하세용 >>");
		int month = Integer.parseInt(sc.nextLine());
		
		switch(month) {
		case 3: case 4: case 5:
			System.out.println("봄");
			break;
		case 6: case 7: case 8:
			System.out.println("여름");
			break;
		case 9: case 10: case 11:
			System.out.println("가을");
			break;
		case 12: case 1: case 2:
			System.out.println("겨울");
		break;
		}

 

가위바위보

 

	Scanner sc = new Scanner(System.in);
		System.out.println("가위바위보 게임 시작!");
		System.out.println("루루 : ");
		String ruru = sc.nextLine();
		System.out.println("라라 :");
		String rara = sc.nextLine();
		
		
		switch(ruru) {
		case "가위":
			if(rara.equals("가위")){
				System.out.println("무승부");		
				break;} 
			else if (rara.equals("바위")){
				System.out.println("라라 승!");
				break;}
			else if(suk.equals("보")) {
				System.out.println("루루 승!");
			break;}
		case "바위":
			if(suk.equals("가위")){
				System.out.println("루루 승!!!");		
				break;	} 
			else if (rara.equals("바위")){
				System.out.println(" 무승부");
				break;}
			else if(rara.equals("보")) {
				System.out.println("라라 승!");
			break; }

		case "보":
			if(rara.equals("가위")){
				System.out.println( "라라 승!!!");		
				break;} 
			else if (rara.equals("바위")){
				System.out.println(" 루루 승!!");
				break;}
			else if(rara.equals("보")) {
				System.out.println("무승부");
			break;}
		    
		     default : System.out.println();	
		     break;
		}

 


temp

임시로 저장해 놓는 것! 비교할 때 씁니다! 내림차순 오름차순!

	// 숫자 3개를 입력받아 내림차순으로 출력해주세요.
		// 출력 예 : 40 > 24 > 7

		
		Scanner sq = new Scanner(System.in);
		System.out.println("첫 입력 >>");
		int num1 = Integer.parseInt(sq.nextLine());
		System.out.println("둘 입력 >>");
		int num2 = Integer.parseInt(sq.nextLine());
		System.out.println("셋 입력 >>");
		int num3 = Integer.parseInt(sq.nextLine());

		if (num1 < num2) {
			int temp = num1; // 덮어씌우는 거임 임시로
			num1 = num2;
			num2 = temp;
		}
		if (num1 < num3) {
			int temp = num1;
			num1 = num3;
			num3 = temp;
		}
		if (num2 < num3) {
			int temp = num2;
			num2 = num3;
			num3 = temp;
		}
		System.out.println(num1 + " > " + num2 + ">" + num3);

 

 


반복문(for, while, do while)

 

for문

 -for(초기화; 조건식; 증감식 {실행문}

- 실행문을 정해진 횟수만큼 반복하게 해주는 문장

for(int i = 1; i < 10; i++) {
			// 초기화 : 조건식과 증감식에 사용할 변수 초기화
			// 조건식 : 연산결과가 true이면 블럭 안의 내용을 수행한다.
			// 증감식: 변수를 증가/감소시켜 반복문을 제어한다.
			System.out.println(i + "번째 반복");
			// int i는 for문{}블럭안에서만 선언 가능함
			// 사용범위를 잘 정해야함.
			// 초기화한 변수는 블럭안에서만 사용할 수 있다.
			// 변수는 보통 int i j k .. 순서로 씀
		}

-규칙이 있는 문장들을 효율적으로 작성하기 위해 반복문을 사용한다.

 

*구구단 출력

	
	for(int a = 2; a <=9; a++) {
		for(int b =1; b<=9; b++) {
			System.out.println(a + "x" + b + "=" + (a*b));
		}
	}

 

 

* 구구단 전체를 가로로 출력해주세요

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

가로로 출력하기 위해선 이중for문을 만들고 안쪽for문 안에 출력할 때 print 꼭 확인하기!

 


		outer:
		for(int i = 1; i <= 10; i++) {
			inner:
			for(int j = 1; j <= 10; j++) {
				if(j == 5) {
					continue outer;
				}
					System.out.println(i + " : " + j);
				// j가 5일때 반복문 모두 종료하시오
				
				// break; : 가장 가까운 반복문 하나를 빠져나간다.
				// break 반복문 이름; : 이름에 맞는 반복문을 빠져나간다.
				// continue; : 가장 가까운 반복문 하나의 반복 회차를 빠져나간다.
				// continue 반복문 이름; : 이름에 맞는 현재 반복 회차를 빠져나간다.
				// for문은 이중 넘게 쓰는 것은 불필요함 그래서 outer,inner를 써준다
					
	}
	}

while문

- while(조건식){실행문}

- 실행문을 조건식이 만족하는 동안 '계속' 반복하는 문장

- 반복횟수가 정확하지 않을때 사용함

 

// a에 2씩 몇번을 곱해야 1000 이상이 되는지 알고싶다.
		int a = 1;
		int count = 0;
		while(a <= 1000) {
			a *= 2;
			count ++;
			System.out.println(count + " : " + a);
            }

do-while문

- do{실행문}while(조건식)

- 최소 한 번의 실행이 보장된다.

 

 		 a = 1000;
		 count = 0;
		do {
			a *= 2;
			count ++;
			System.out.println(count + " : " + a);
		}while(a <= 1000);
Comments