본문 바로가기
코딩/JAVA

[JAVA] 자바 문법 조건문(if, switch)

by 인생최적화 2020. 6. 19.
반응형

 

자바 기초 문법 조건문(if, switch) 연습하기

 


 

자바 프로그램은 main() 메소드의 시작 중괄호 '{' 에서 끝 중괄호 '}' 까지 위에서부터 아래로 실행하는 구조를 가지고 있습니다. 이러한 실행 흐름을 개발자가 의도하는대로 제어를 할 수 있게 해주는 것이 조건문과 반복문이 있는데 그 중에서 조건문에 대한 내용을 담았습니다.

조건문은 조건식에 따라 결과값이 다르게 나오는 흐름을 가지고 있습니다. 조건문은 if문과 switch문이 있는데 그 중에서 if문에 대해서 알아보겠습니다. if문은 조건식의 결과가 'true'인지 'false'인지에 따라 실행될 결과값이 정해집니다. 이건 설명보다 예제를 해보면서 이해하는 것이 빠르다고 생각하니 바로 예제로 들어갈게요.

 


 

package com.test;

public class IfSwitch {
	public static void main(String[] args) {
		
		int score = 75; //변수 'score'에 75를 저장
		
		System.out.println("점수에 따른 등급");
		
		if(score >= 80) { //score에 담긴 값이 80보다 같거나 크면
			System.out.println("A등급입니다"); //A등급 출력
		}else { //score에 담긴 값이 80보다 작으면
			System.out.println("B등급입니다"); //B등급 출력
		}
		
	}
}

 


 

package com.test;

public class IfSwitch {
	public static void main(String[] args) {
		
		int num1 = 2; //'num1'에 2를 저장
		int num2 = 3; //'num2'에 3을 저장
		
		//boolean타입 'result'에 2와 3이 같은지의 비교결과를 저장
		boolean result = num1 == num2;
		
		if(result) { //두 값이 일치하다면
			System.out.println("두 숫자는 같습니다");
		}else { //두 값이 서로 다르다면
			System.out.println("두 숫자는 틀립니다");
		}
		
	}
}

 


 

문자열이 같은지를 비교할때는 '=='가 아닌 '.equals'를 씁니다

그리고 if-else 조건문을 쓸 때는 경우의 수가 두 가지이지만 경우의 수를 추가하려면 else-if 조건문을 쓰면 됩니다

 

package com.test;

import java.util.Scanner;

public class IfSwitch {
	public static void main(String[] args) {
		
		//입력값을 넣기 위해 변수 'sc'를 선언하고 Scanner객체를 생성
		Scanner sc = new Scanner(System.in);
		
		System.out.println("학생의 이름을 입력하세요");
		String student = sc.nextLine(); //문자열 입력
		
		if(student.equals("철수")) { //입력받은 값이 '철수'라면 실행되는 조건문
			System.out.println("철수는 3학년입니다");
		}else if(student.equals("영희")){ //입력받은 값이 '영희'라면 실행되는 조건문
			System.out.println("영희는 5학년입니다");
		}else { //조건문에 해당하는 결과가 아닐 때 출력됨
			System.out.println("없는 학생입니다");
		}
		
	}
}

 


 

조건식에서 중괄호 { } 블록은 여러 개의 실행문을 하나로 묶기 위해 작성됩니다

만약 조건식이 성립할 때 실행해야 할 문장이 하나라면 생략할 수 있습니다

 

package com.test;

import java.util.Scanner;

public class IfSwitch {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("점수를 입력하세요");
		int point = sc.nextInt(); //int타입 'point'변수를 선언하고 거기에 입력값을 저장
		
		if(point > 8) 
			System.out.println("최고점입니다");
		else if(point > 5)
			System.out.println("좋은 점수입니다");
		else if(point > 3)
			System.out.println("그럭 저럭입니다");
		else
			System.out.println("분발하세요");
		
	}
}

 


 

package com.test;

import java.util.Scanner;

public class IfSwitch {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("점수를 입력하세요");
		int point = sc.nextInt(); //int타입 'point'변수를 선언하고 거기에 입력값을 저장
		
		if(point > 9) //입력된 값이 9이상이면 실행
			System.out.println("최고점");
		
		if(point > 7) //입력된 값이 7이상이면 실행
			System.out.println("좋은점수");
		
		if(point > 5) //입력된 값이 5이상이면 실행
			System.out.println("평균");
		
	}
}

 

else-if문을 쓰지 않고 if문만 여러 개 중복해서 사용할 시 발생할 수 있는 결과입니다

각각의 if문은 서로 별개이기 때문에 조건만 맞으면 입력된 코드대로 전부 출력될 수도 있습니다

상황에 따라서 if문이나 else-if문을 적절하게 쓰는 것이 좋겠습니다

 


 

자기계발하는 개발자

'인생최적화'

 

 

반응형

댓글