개발 공부/JAVA

조건문 - if문 / swith문

공부하는개발자_ 2023. 5. 17. 00:50

 

 

제어문

조건식과 중괄호{ }블록으로 구성. 조건식의 연산 결과에 따라 내부의 실행 여부 결정.

제어문 블록 내부에는 또 다른 제어문을 사용할 수 있음.

 

조건문

if문, switch문

 

 

if문

 

1)조건식 - 연산식 (true, false값을 산출할 수 있는) / boolean변수

조건식의 결과에 따라 { }블록 실행 여부가 결정됨.

true이면 { }블록을 실행하고,false이면 실행하지 않음

중괄호 {  }블록 내에 실행문이 하나밖에 없다면 중괄호 생략 가능

(가독성이 좋지 않고, 버그 발생의 원인이 될 수 있으니 추천x)

 

2) else블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택할 수 있음

 

 

 

 

 

* switch 

   1) 괄호 안의 변수값에 따라 해당 case로 가서 실행문을 실행시킴.

   2) case 끝에는 break를 해줘야 swtich문을 빠져 나갈 수 있음.
   3) 변수 값과 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행시킴. default문이 필요 없다면 생략 가능

   4) switch() 괄호 안에는 byte, short, char, int, String 가능, Long type은 사용 불가

 

int score =(int)(Math.random()*20)+81; // 81< <101
System.out.println("점수:" +score);

 

String grade;

if(score>=90) {

grade = "A";

if(score>=95) {

grade+="++";

}

}else {

grade ="B";

if(score>=85) {

grade+="++";

}

}

System.out.println("등급:" + grade);

 

 

 

* Calender 객체명 = Calendar.getInstance()

   1) 시스템의 현재 날짜와 시간정보를 얻기 위해 getinstance()메서드 사용

   2) 객체가 갖고 있는 날짜 시간 정보는 get()메소드를 이용하여 사용. 
   3) import java.util.Calendar 와 함께 사용.
   4) 월을 상수 0으로 대응이 되므로 실제 월을 구할때는 +1을 해주어야 함

 

 

 

Calendar cal ;

cal = Calendar.getInstance();

int month = cal.get(Calendar.MONTH); //1월인 경우0, 2월인 경우1

System.out.println("현재" + (month + 1) +"월입니다");

if(month < 6) {

System.out.println("상반기");

}else {

System.out.println("하반기");

}

if(month+1==1) {

System.out.println("1월");

}else if(month+1==2) {

System.out.println("2월");

}else if(month+1==3) {

System.out.println("3월");

}else if(month+1==4) {

System.out.println("4월");

}else if(month+1==5) {

System.out.println("5월");

}else {

System.out.println("그외의 달");

}

 

 

 public class Condition {
public static void main(String[] args) {
java.util.Scanner sc;
sc=new java.util.Scanner(System.in); //키보드와 연결작업


//if
if(true) {}
System.out.print("년도를 입력하세요:");

//2023; 참조형과 기본형은 형변환 자체 불가하므로 강제형변환도 안됨. String->int로 바꾸는 변환 메소드: int value = Integer.parseInt(String);

int year= Integer.parseInt(sc.nextLine());

if(year%2==0) {

System.out.println("짝수해입니다");

}

 

System.out.println("시간을 입력하세요:");

int hour = Integer.parseInt(sc.nextLine()); //15;

//if else

if(hour<12) {

System.out.println("오전");

}else {

System.out.println("오후");

}

 

//if elseif

System.out.println("월을 입력하세요:");

int month = Integer.parseInt(sc.nextLine());//5;

//1분기 : 1~3

//2분기 : 4~6

//3분기 : 7~9

//4분기 : 10~12

if(month >=1 && month <= 3) {

System.out.println("1분기");

}else if(month <= 6) {

System.out.println("2분기");

}else if(month <= 9) {

System.out.println("3분기");

}else if(month <= 12) { //else

System.out.println("4분기");

}else {

System.out.println("잘못 입력되었습니다");

}

 

 

System.out.println("점수를 입력하세요:");

int score = Integer.parseInt(sc.nextLine());

//100~90점 인경우 A

//89~80점인 경우 B

//79~70점인 경우 C

//69~60점인 경우 D

//60점 미만인 경우 F

 

if (score >= 90 && score <=100 ) {

System.out.println("A");

}else if(score >= 80){

System.out.println("B");

}else if(score >= 70){

System.out.println("C");

}else if(score >= 60 ){

System.out.println("D");

}else {

System.out.println("F");

}

 

//임의의 수(난수)

// for(int i=0; i<10; i++) {

// int r= (int)(Math.random()*3)+1; //1<= r<4

// System.out.println(r);

// }

//

System.out.println("가위바위보");

System.out.println("가위-1, 바위-2, 보-3을 입력하세요");

int u= Integer.parseInt(sc.nextLine()); //ex)1 가위

int r= (int)(Math.random()*3)+1; //1<=4 //eX)2 바위

System.out.println("사용자:" +u + ", 컴퓨터:" + r);

if(u ==r) {

System.out.println("비겼습니다");

}else if(u<1 || u>3) {

System.out.println("잘못입력했습니다");

}else if(u -r %3 == 1) {

System.out.println("이겼습니다");

}else {

System.out.println("졌습니다");

}

 

 

if(u == r) {
System.out.println("비겼습니다");
}else if(u<1 || u>3) {
System.out.println("잘못입력하셨습니다");
}else if((u==1 && r==3) || (u==2 && r==1) || (u==3 && r==2)) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}


if(u == r) {
System.out.println("비겼습니다");
}else if(u<1 || u>3) {
System.out.println("잘못입력하셨습니다");
}else if(u == 1) {
if(r == 3) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
}else if(u == 2) {
if(r == 1) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
}else if(u == 3) {
if(r == 2) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
}

 

 

 

switch(month) {

case 0:

case 1:

case 2:

case 3:

case 4:

case 5:

System.out.println("상반기");

break;

default:

System.out.println("하반기");

break;

}

//----------------------------------

 

 

switch(month+1) {

case 1:

System.out.println("1월");

break;

case 2:

System.out.println("2월");

break;

default:

System.out.println("그외의 달");

}

 

System.out.println("출생년도를 입력하세요:");

int birthYear = Integer.parseInt(sc.nextLine());

//년도를 12로 나눈 나머지값이 0이면 원숭이,

// 1: 닭

// 2: 개

// 3: 돼지 쥐 소 호랑이 토끼 용 뱀 말 양

//출생년도에 해당 동물을 출력하시오

 

 

switch(birthYear%12) {

case 0:

System.out.println("원숭이");

break;

case 1:

System.out.println("닭");

break;

case 2:

System.out.println("개");

break;

case 3:

System.out.println("돼지");

break;

case 4:

System.out.println("쥐");

break;

case 5:

System.out.println("소");

break;

case 6:

System.out.println("호랑이");

break;

case 7:

System.out.println("토끼");

break;

case 8:

System.out.println("용");

break;

case 9:

System.out.println("뱀");

break;

case 10:

System.out.println("말");

break;

case 11:

System.out.println("양");

break;

 

}

}

}