Java 조건문(if/switch)

            

조건문

 -if문
 -switch문
 

if문

 -if(조건식){ }: 조건식의 결과가 참이면 블럭안의 문장 수행
 -esle if(조건식){ } : 다수 조건이 필요할때 if뒤에 추가 
 -esle{ }: 조건식 이외의 경우 위해 추가

    int a = 1;
	
	if(a == 1){
		System.out.println("a == 1");	
	}else if(a == 2){
		System.out.println("a == 2");
	}else if(a == 3){
		System.out.println("a == 3");
	}else{
		System.out.println("else");
	}
	//조건에 맞는 값만 출력됨
    
    if(a < 10){
		System.out.println("a가 10보다 작다.");	
	}if(a < 20){
		System.out.println("a가 20보다 작다.");

**//if,if 가 오는 경우는 둘 다 실행 될 수 있음**

//점수가 60점 이상이면 합격이고 그렇지 않으면 불합격
int score = 80;
if(score >= 60){
System.out.println("합격");
}else{
System.out.println("불합격");

        //점수에 등급을 부여하는 프로그램
	score = 80;
	String grade = null;
	
	if (90 <= score && score <= 100) {
		grade = "A";
		System.out.println(grade);
	} else if (80 <= score) {
		grade = "B";
		System.out.println(grade);
	} else if (70 <= score) {
		grade = "C";
		System.out.println(grade);
	} else if (60 <= score) {
		grade = "D";
		System.out.println(grade);
	} else {
		grade = "F";
	}
	System.out.println(score + "점수에 해당하는 등급은" + grade + "입니다.");
    
    
    score = 90;
	grade = null;
	
	if (90 <= score && score <= 100) { 
    // 중괄호의 짝을 잘맞춰야 함 . 들여쓰기를 잘해줘야함(블럭지정후 컨 쉽 f)
		grade = "A";
		if (97 <= score) {
			grade += "+";
		} else if (score <= 93) {
			grade += "-";
		}
	} else if (80 <= score) {
		grade = "B";
		if (87 <= score) {
			grade += "+";
		} else if (score <= 83) {
			grade += "-";
		}
	} else if (70 <= score) {
		grade = "C";
		if (77 <= score) {
			grade += "+";
		} else if (score <= 73) {
			grade += "-";
		}
	} else if (60 <= score) {
		grade = "D";
		if (67 <= score) {
			grade += "+";
		} else if (score <= 63) {
			grade += "-";
		}
	} else {
		grade = "F";
	}
	System.out.println(score + "점수에 해당하는 등급은" + grade + "입니다.");
    

switch문

  • switch(int/String){case 1: break;} ->int/String중 하나의 타입이 들어오는것
  • 조건식의 결과는 정수와 문자열만 (JEK1.7부터 문자열 허용)허용함 -> 그 전에는 int만 사용 가능 했었음
  • 조건식과 일치하는 case문 이후의 문장 수행

int a = 30;

switch(a){
case 10:
System.out.println("a==10");
break;

	case 20:
		System.out.println("a==20");
	break;
	
	default:
		System.out.println("default");
        

주어진 월에 해당하는 계절을 출력해 봅시다.

            int month = 1;
	String season = null;
	
	switch(month){
	case 3:
	case 4:
	case 5:
		season = "봄";
		break;
		
	case 6:
	case 7:
	case 8:
		season = "여름";
		break;
		
	case 9:
	case 10:
	case 11:
		season = "가을";
		break;
		
	case 12:
	case 1:
	case 2:
		season = "겨울";
		break;
	}
		System.out.println(month+"월은"+season+"입니다.");

     **한줄작성**
        score = 90;
		grade = null; // 참조형 타입의 기본값 ,자동으로 초기화 되는 것
		
		/*기본값
		boolean = false
		나머지 = 0*/
		
		switch(score/10){
		case 10: case 9:grade= "A";break;  //한줄로 작성해도 괜찬
		case 8:grade = "B";break;
		case 7:grade = "C";break;
	        case 6:grade = "D";break;	
		default:grade = "F";break;		
			
		}
		
		System.out.println(grade);

숫자를 입력받아 그 숫자가 0인지 0이 아닌지 출력해 주세요

		Scanner sc = new Scanner(System.in);
		System.out.print("숫자입력>");
		int num1 = Integer.parseInt(sc.nextLine());
		
		if(num1 == 0){
			System.out.print("0입니다");
		}else{
			System.out.print("0이아닙니다");

숫자를 입력받아 그 숫자가 홀인지 짝인지 출력

        System.out.print("숫자입력>");
		int num2 = Integer.parseInt(sc.nextLine());
		
		if(num2 % 2 == 0){
			System.out.print("짝수 입니다");
		}else{
			System.out.print("홀수 입니다");
		}
        

점수3개를 입력받아 합계, 평균, 등급을 출력

        System.out.print("국어>");
		int kor = Integer.parseInt(sc.nextLine());
		System.out.print("영어>");
		int eng = Integer.parseInt(sc.nextLine());
		System.out.print("수학>");
		int math = Integer.parseInt(sc.nextLine());
		
		int sum = kor +eng + math;
		double avg = sum /3.0;
		
		String level = null;
		if (90<=avg && avg<=100){
			level = "A";
			
		}else if (90>=avg){
			level = "B";
			
		}else if (80>=avg){
			level = "C";
			
		}else if (70>=avg){
			level = "D";
			
		}else{
			level = "F";
		}
		
		System.out.println("합계:"+sum+"/평균:"+avg+"/등급:"+level);
        

탄수화물 자가진단 테스트 - 3개는 주의, 4-6개는 위험, 7개 이상은 중독

	Scanner sc = new Scanner(System.in);
	
	int result = 0;
	
	System.out.println("아침을 배불리 먹은 후 점심시간 전에 배가 고프다.> 맞으면1 아니면0");
	int q = Integer.parseInt(sc.nextLine());
	if (q == 1){
		result += q;
	}
	
	System.out.println("밥, 빵, 과자 등 음식을 먹기 시작하면 끝이 없다.>맞으면1 아니면0");
	q = Integer.parseInt(sc.nextLine());
            if (q == 1){
		result += q;
	}
	
	System.out.println("음식을 금방 먹은 후에도 만족스럽지 못하고 더 먹는다.>맞으면1 아니면0");
	q = Integer.parseInt(sc.nextLine());
	 if (q == 1){
			result += q;
		}
	System.out.println("정말 배고프지 않더라도 먹을 때가 있다.>맞으면1 아니면0");
	q= Integer.parseInt(sc.nextLine());
	  if (q == 1){
			result += q;
		}
	System.out.println("저녁을 먹고 간식을 먹지 않으면 잠이 오지 않는다.>맞으면1 아니면0");
	 q = Integer.parseInt(sc.nextLine());
	 if (q == 1){
			result += q;
		}
	System.out.println("스트레스를 받으면 자꾸 먹고 싶어진다.>맞으면1 아니면0");
	q = Integer.parseInt(sc.nextLine());
	if (q == 1){
			result += q;
		}
	System.out.println("책상이나 식탁 위에 항상 과자, 초콜릿 등이 놓여있다.>맞으면1 아니면0");
	 q = Integer.parseInt(sc.nextLine());
	 if (q == 1){
			result += q;
		}
	System.out.println("오후 5시가 되면 피곤함과 배고픔을 느끼고 일이 손에 안 잡힌다.>맞으면1 아니면0");
     q = Integer.parseInt(sc.nextLine());
	 if (q == 1){
			result += q;
		}
	System.out.println("과자 코촐릿 등 단 음식은 상상만해도 먹고 싶어진다.>맞으면1 아니면0");
	q = Integer.parseInt(sc.nextLine());
	 if (q == 1){
			result += q;
		}
	System.out.println("다이어트를 위해 식이조절을 하는데 3일도 못 간다.>맞으면1 아니면0");
	q = Integer.parseInt(sc.nextLine());
	if (q == 1){
			result += q;
		}
	 
	 if(result < 3) {
		System.out.println("안전!");
	}else if(result == 3) {
		System.out.println("주의!");
	}else if(result >= 4 && result <= 6) {
		System.out.println("위험!");
	}else if(result >= 7) {
		System.out.println("중독!");
	}
        
        

좋은 웹페이지 즐겨찾기