자바

조건문 if, else, else if (2022-06-22)

Kiwisae 2022. 6. 22. 18:43

형식

 

1) if ( 조건식 ) {

 true일 때 실행 ;

}



2) if ( 조건식 ) {

 true일 때 실행 ;

 } else { 

 false일 때 실행 ;

}



3) if (조건식 1 ) {

 true일 때 실행 ;

} else if (조건식 2) {

 else if가 true 일 때 실행 ;

} else {

 모두 false 일 때 실행 ;

}

 

 

 

자주 쓰이는 조건식 예

 

90 <= x < = 100 같은 식으로 작성할 수는 없다.

몇가지 조건을 동시에 만족해야 할 때에는 &&이나 ||를 사용한다.

 

90 <= x && x <=100 정수 x가 90 이상 100 이하
x < 0 || x > 100 정수 x가 0보다 작거나 100보다 크다
( x%3 == 0 ) && ( x%2 != 0 ) 정수 x가 3의 배수지만, 2의 배수는 아니다
( ch == 'y' ) || ( ch == 'Y' ) 문자 ch가 'y' 또는 'Y' 일 때
( ch == ' ' ) || ( ch == '\t' ) || ( ch == '\n' ) 문자 ch가 공백이거나 탭 또는 개행 문자일 때
( 'A' <= ch ) && ( ch <= 'Z' ) 문자 ch가 대문자일 때
( 'a' <= ch ) && ( ch <= 'z' ) 문자 ch가 소문자일 때
( '0' <= ch ) && ( ch <= '9' ) 문자 ch가 숫자일 때
str.equals( "yes" ) 문자열 str의 내용이 "yes"일 때 (대소문자 구분)
str.equalsIgnoreCase("yes") 문자열 str의 내용이 "yes"일 때 (대소문자 구분X)

 

 

 

 

 

 

적용

 

		if (10>5) { 				//형식상 조건식에 반드시 괄호 필요
			System.out.println("실행1");
		}
		
		
		if(10>5) System.out.println("실행2"); // 실행 내용이 1줄일 경우 중괄호 생략 가능
		
		if(true) {
			System.out.println("무조건 실행");
		}
		
		if(false) {
			System.out.println("실행 불가");
		}

			
		if(10 > 30) 
			System.out.println("출력 x");
			System.out.println("조건식의 적용을 받지 않고 실행");
		//if문에 중괄호가 없으면 if문 바로 아래쪽 1줄만 if문의 적용을 받는다.

 

 

결과값

 

 

 

 

예제 1

 

정수 2개를 입력했을 때, 최대값과 최소값을 구하기

 

		int n1, n2, max, min;
		
		System.out.println("정수 2개를 입력하세요");
		
		Scanner sc = new Scanner(System.in);
		n1 = sc.nextInt();
		n2 = sc.nextInt();
		
		if (n1>n2) {
			max = n1;
			min = n2;
		} else {
			max = n2;
			min = n1;
		}
		
		System.out.println("max = "+max);
		System.out.println("min = "+min);

 

 

결과값

 

 

 

예제 2

 

정수 3개를 입력했을 때, 최대값과 최소값을 구하기

 

//		   if(조건식1){
//		          조건식1이 참인경우 실행될 문장;
//		   }else if(조건식2){
//		          조건식2가 참인경우 실행될 문장;
//		   }else{
//		          위의 조건식을 만족하지 않을때 실행될 문장;
//		   }
//			연산자 2개를 한꺼번에 쓸 수 없다.
		
		// 키보드로 정수 3개를 입력했을 때, 최대값과 최소값을 구하는 프로그램을 작성 하세요.
		
		System.out.println("정수 3개를 입력하세요.");
		
		int a, b, c, max, min ;
		
		Scanner sc = new Scanner(System.in) ;
		a = sc.nextInt();
		b = sc.nextInt();
		c = sc.nextInt();
		
		// 최대값을 구하는 식과 최소값을 구하는 식을 각각 작성하면 된다.
		
		//최대값
		
		if (a>=b && a>=c) {
			max = a ;
		} else if (b>=a && b>=c) {
			max = b ;
		} else { max = c ;}
		
		//최소값
		
		if (a<=b && a<=c) {
			min = a ;
		} else if (b<=a && b<=c) {
			min = b ;
		} else { min = c ; }
		
		System.out.println("최대값은"+max+"이다.");
		System.out.println("최소값은"+min+"이다.");
		}

 

 

결과값

 

 

 

예제 3

 

숫자 하나만 입력했을때 홀수인지 짝수인지 판별

 

		System.out.println("정수 하나를 입력하세요.");
		
	int a, b ;
	
	Scanner sc = new Scanner(System.in) ;
	a = sc.nextInt() ;
	
	b = (a%2) ;
	
	if (b<1) { 
		System.out.println("짝수입니다");
	} else {
		System.out.println("홀수입니다");
	}

 

결과는 비밀