언어/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");