if ~ else if
-if (조건식_a) {
조건식_a가 참이면 실행
}else if (조건식_b) {
조건식_a가 거짓,조건식_b가 참이면 실행
}.....{
}else {
상위에 모든 조건식이 거짓이면 실행 (안 사용해도 됨)
}
> 여러개의 조건식 중에서 하나만을 찾아서 실행하게 됩니다.
int var = 25;
System.out.println("var " + var);
System.out.println();
System.out.println("- if 여러개 - ");
if(var > 20) {
System.out.println("20 보다 큰 수");
}
if(var > 10) {
System.out.println("10 보다 큰 수");
}
if(var > 0) {
System.out.println("0 보다 큰 수");
}
System.out.println();
System.out.println("- if else if - ");
if(var > 20)
System.out.println("20 보다 큰 수");
else if(var > 10)
System.out.println("10 보다 큰 수");
else if(var > 0)
System.out.println("0 보다 큰 수");
<if와 if else if의 차이, 출력값>
var 25
- if 여러개 - 해당 조건문을 다 출력시킨다
0 보다 큰 수
10 보다 큰 수
0 보다 큰 수
- if else if - 해당 조건문의 값만 출력시킨다
20 보다 큰 수
int data = 17;
System.out.println("data : " + data);
System.out.println();
if(data >= 1 && data <= 10)
System.out.println(" 1 ~ 10");
if(data >= 11 && data <= 20)
System.out.println("11 ~ 20");
if(data >= 21 && data <= 30)
System.out.println("21 ~ 30");
System.out.println();
// 위에 코드를 if else로 쓰는게 더 깔끔하다.
if(data <= 10)
System.out.println(" 1 ~ 10");
else if(data <= 20)
System.out.println("11 ~ 20");
else if(data <= 30)
System.out.println("21 ~ 30");
int num = 30;
System.out.println("num : " + num);
System.out.println();
if(num%3 == 0)
System.out.println("3의 배수");
else if(num%5 == 0)
System.out.println("5의 배수");
else if(num%3 == 0 && num%5 == 0)
System.out.println("3 과 5의 배수");
else
System.out.println("?,?");
System.out.println();
//if else if 사용시 순서를 잘 배치해야 원하는 값이 나온다.
switch 문
- switch(값) {
case 상수값 :
실행 코드
break; <- switch 종료
....
case 상수값 :
실행 코드
break;
default :
실행코드
> switch 문안의 값과 정확하게 일치하는 case 값을 찾아서 해당 지역의 코드를 실행한다
-switch : 정수,문자,문자열만 가능 (실수는 안됨)
case : 상수만 사용 가능 (변수x)
하나의 case 가 끝나는 마지막에는 'break' 문을 사용해서 종료한다
default : 매칭되는 case 값이 없을 때 실행 할 코드가 있으면 사용한다 (사용 o,x)
int no = 2;
System.out.println("no : " + no);
System.out.println();
switch(no) {
//case n:Error (상수만 가능하기 때문에)
case 1:
System.out.println("1 - one");
break;
case 2:
System.out.println("2 - two");
case 3:
System.out.println("3 - three");
break;
default:
System.out.println("?,?");
//break를 사용하지않으면 case가 멈추지않고 뒤에 case까지 출력된다.
Scanner scanner = new Scanner(System.in);
System.out.println("Java : j , Python : p > ");
char subject = scanner.next().charAt(0);
System.out.println();
switch(subject) {
case 'J' :
System.out.println("Java를 선택 하셨습니다.");
break;
case 'j' :
System.out.println("Java를 선택 하셨습니다.");
break;
case 'P' :
System.out.println("Python를 선택 하셨습니다.");
break;
case 'p' :
System.out.println("Python를 선택 하셨습니다.");
break;
default:
System.out.println("없는 과목입니다.");
}
//실행되고 출력되는 내용이 같으면 아래 코드 처럼 break 문을 생략하고 하나로 묶어도 된다.
switch(subject) {
case 'J' :
case 'j' :
System.out.println("Java를 선택 하셨습니다.");
break;
case 'P' :
case 'p' :
System.out.println("Python를 선택 하셨습니다.");
break;
default:
System.out.println("없는 과목입니다.");
}
String member = "gold";
int dc = 0;
switch(member) {
case "vip":
dc = 20;
break;
case "gold":
dc = 10;
break;
case "silver":
dc = 5;
break;
}
System.out.println("회원등급 : " + member);
System.out.println("할인 : " + dc);
//.equals로 사용하는 방법도 있지만 case 코드가 더 깔끔함.
if(member.equals("vip"))
dc = 20;
else if(member.equals("gold"))
dc = 10;
else if(member.equals("silver"))
dc = 5;
System.out.println("회원등급 : " + member);
System.out.println("할인 : " + dc);
'공부 > 22.12 ~' 카테고리의 다른 글
맥 터미널/ 리눅스 명령어 정리중 (0) | 2023.02.12 |
---|---|
7일차 - Java for 문,whilea문 (0) | 2022.12.28 |
5일차 - Java If문, If else 제어문 (0) | 2022.12.27 |
자바 기초 변수 사용 연습해보기 (0) | 2022.12.25 |
Scannner.in.next(); 복습 내용 예제 풀기 (0) | 2022.12.25 |