Control Statement(제어문) if, else if, else

Liberte Koo·2022년 12월 1일

Java

목록 보기
5/13

if문 표현식
if(조건식){
조건식이 true인 경우 수행 할 코드
}

if와 else if의 차이

if(조건식1){
조건식이 true인 경우 수행 할 코드1
}if(조건식2){
조건식이 true인 경우 수행 할 코드2
}

if는 조건식1과 조건식2가 다 true인 경우 코드1, 코드2 다 수행

if ~ else if 는 조건식 1이 true 인 경우 코드1을 수행하고 조건문을 빠져나감

public void test() {
	System.out.println("============계산기 프로그램==============");
	Scanner sc = new Scanner(System.in);
	System.out.println("연산자를 입력하세요(+,-,*,/) : ");
	char cal = sc.next().charAt(0);
	System.out.println("첫번째 정수를 입력 하세요 : ");
	int num = sc.nextInt();
	System.out.println("두번째 정수를 입력 하세요 : ");
	int num2 = sc.nextInt();
	
	if(cal =='+'){
		System.out.printf("%d %c %d = %d", num, cal, num2, num+num2);
	}
	if(cal =='-'){
		System.out.printf("%d %c %d= %d-%d", num, cal, num2, num-num2);
	}
	if(cal =='*'){
		System.out.printf("%d %c %d= %d*%d", num, cal, num2, num*num2);
	}
	if(cal =='/'){
		System.out.printf("%d %c %d= %d/%d", num, cal, num2, num/num2);
	}

public void test2() {
	System.out.println("=================대/소문자 변환 프로그램==================");
	System.out.println("문자입력: ");
	Scanner sc = new Scanner(System.in);
	char abc = sc.next().charAt(0);
	System.out.println("======결과======");
	if (abc >= 97) && abc <= 122) {
		System.out.println("소문자를 입력 하였습니다.");
		System.out.printf("대문자로 변환 : %c", (abc - 32));
        //System.out.println("대문자로 변환 : "+ (char)(abc - 32));
	} else if (64 < abc && abc <= 90) {
		System.out.println("대문자를 입력 하였습니다.");
		System.out.printf("소문자로 변환 : %c", (abc + 32));
        //System.out.println("소문자로 변환 : "+ (char)(abc 32 32));
	} else {
		System.out.println("잘못 입력하셨습니다. 영문자를 입력해주세요.");
	}

public void exam55() {
	System.out.println("=================대/소문자 변환 프로그램==================");
	System.out.println("문자입력: ");
	Scanner sc = new Scanner(System.in);
	char abc = sc.next().charAt(0);
	System.out.println("======결과======");
	if (abc >= 97 && abc <= 122) {
		System.out.println("소문자를 입력 하였습니다.");
		System.out.printf("대문자로 변환 : %c", (abc - 32));
	} else if (64 < abc && abc <= 90) {
		System.out.println("대문자를 입력 하였습니다.");
		System.out.printf("소문자로 변환 : %c", (abc + 32));
	} else {
		System.out.println("잘못 입력하셨습니다. 영문자를 입력해주세요.");
	}

}

public void exam66() {
	Scanner sc = new Scanner(System.in);
	System.out.println("정수입력:");
	int num = sc.nextInt();
	System.out.println("=====결과====");
	if  (num == 0) {
		System.out.println("["+num+"]은(는) 3의 배수도 4의 배수도 아닙니다.");
	}else {
		if((num % 3 == 0) && (num % 4 == 0)) {
	System.out.println("["+num+"]은(는) 3의 배수이면서 4의 배수입니다.");
	} else if ((num % 3 == 0) && (num % 4 != 0)) {
		System.out.println("["+num+"]은(는) 3의 배수입니다.");
	} else if ((num % 3 != 0) && (num % 4 == 0)) {
		System.out.println("["+num+"]은(는) 4의 배수입니다.");
	} else{
		System.out.println(num+"은(는) 3의 배수도 4의 배수도 아닙니다.");
	}
}
}

if ~ else if 문에서는 가장 범위가 좁은 조건문을 제일 위로 올려준다. 그래야 중첩이 생기지 않기 때문이다.

0 은 특수한 숫자이기 때문에 아예 따로 빼주는 것을 추천한다.

profile
A previous generalist who strives to become a genuine Specialist.

0개의 댓글