언어/JAVA
[JAVA] if문
hvoon
2022. 9. 7. 17:16
-( )안의 연산의 결과 또는 값이 true이면 {}안의 명령을 실행, false이면 실행하지 않는 명령
-( )안의 값이 true이면 실행해야 할 명령이 두개 이상일 수 있으므로 {}로 그 경계를 구분
-실행하거나 실행하지 않을 영역 구분
-( )안의 값이 true일 때 실행할 명령이 한개라면 중괄호{}생략 가능
-만약 ( )안에 일부러 true를 썼다면 → if(true){}
-{}안의 내용은 무조건 실행
-반대의 경우 if(false){}무조건 {}안의 내용을 실행 안하고 건너뜀
-( )안에는 비교연산과 논리연산이 조합된 복합연산식 표현이 가능 ex) if( (x==0) && (y!=0) || (z==0) ){ }
-( )안에는 비교연산대신 true/false값을 갖고 있는 boolean변수도 들어갈 수 있음
성적 매기기
// 90이상 A학점, 80~89 B학점, 70~79 C학점, 60~69 D학점, 60미만 F학점
int a; // a값 입력해줘야 함
// 방법 1
if (a>=90) System.out.println("A");
else if(a>=80) System.out.println("B");
else if(a>=70) System.out.println("C");
else if(a>=60) System.out.println("D");
else System.out.println("F");
// 방법 2
if(a<60) System.out.println("F");
else if(a<70) System.out.println("D");
else if(a<80) System.out.println("C");
else if(a<90) System.out.println("B");
else System.out.println("A");
가위바위보
String com="scissors";
Scanner sc=new Scanner(System.in);
String user;
System.out.printf("print rock/paper/scissors ");
user=sc.nextLine();
if(user.equals("scissors")&&com.equals("paper"))
System.out.println("win");
else if(user.equals("paper")&&com.equals("rock"))
System.out.println("win");
else if(user.equals("rock")&&com.equals("scissors"))
System.out.println("win");
else if(user.equals(com))
System.out.println("tie");
else System.out.println("lose");
요일 구하기
// 2022년 1월 1일은 토요일
// 2022년에 한해서 월과 일을 입력받고 요일을 출력
// 1월 10일 입력했다면 1월 1일부터 10일까지 10일의 날짜가 계산됨
// 그를 7로 나눈 나머지를 구하면 3이고, 1: 토요일 2: 일요일 3: 월요일...
// 위와 같이 요일 계산함. 해당 입력일 월요일
// 2월 5일 입력했다면 - 1월에 해당하는 31일+입력한 일 5->36
// 36을 7로 나눈 나머지 계산하면 1, 해당입력일은 토요일
Scanner sc=new Scanner(System.in);
System.out.printf("Month: ");
int m=sc.nextInt();
System.out.printf("Day: ");
int d=sc.nextInt();
int days=0;
if(m==1) days=0;
else if(m==2) days=31;
else if(m==3) days=31+28;
else if(m==4) days=31+28+31;
else if(m==5) days=31+28+31+30;
else if(m==6) days=31+28+31+30+31;
else if(m==7) days=31+28+31+30+31+30;
else if(m==8) days=31+28+31+30+31+30+31;
else if(m==9) days=31+28+31+30+31+30+31+31;
else if(m==10) days=31+28+31+30+31+30+31+30+30;
else if(m==11) days=31+28+31+30+31+30+31+30+31+31;
else if(m==12) days=31+28+31+30+31+30+31+30+31+31+30;
days=days%d;
int t=days&7;
if(t==1) System.out.println("sat");
else if(t==2) System.out.println("sun");
else if(t==3) System.out.println("mon");
else if(t==4) System.out.println("tue");
else if(t==5) System.out.println("wed");
else if(t==6) System.out.println("thu");
else if(t==0) System.out.println("fri");