IT코딩공부!

#3. day2아침 복습, if(조건문)공부

history. 2023. 3. 23. 17:17

[0]  day2 아침 복습.

/*

* 연산자(Operation)

*

* [1] 증감연산자 : ++, -- 기호를 사용해서 1씩 증가시키거나 감소시키는 연산자 : num++(연산후 1증가), ++num(1증가 후연산) 기호 위치에 따라 결과가 달라진다.

*

* [2] 대입연산자 : 왼쪽(변수) = 오른쪽(변수, 상수, 식)

*

* [3] 산술연산자 : 덧셈(+), 뺄셈(-), 곱셉(*), 나눗셈(/), 나머지(%)

*

* [4] 관계연산자(비교연산자)

* : >, <, >=, <=, ==(같다), !=(다르다)

*

* [5] 논리연산자

* : (1) AND연산 (&&) : 모두 true여야 결과도 true, 하나라도 flase가 있으면 결과는 false

* (2) OR연산 (||) : 하나라도 true가 있으면 결과는 true, 모두 false여야 결과도 false

* (3) NOT연산 (!) : true를 false로, false를 true로 바꾼다.

*

* [6] 조건연산자

* : 변수 = (조건식) ? 참일떄 값 : 거짓일때 값;

* : 값은 변수와 같은 타입의 데이터

*

* [7] Scanner(입력)

* : 객체 생성 Scanner sc = new Scanner(System.in);

* : import java.util.Scanner; ([Ctrl]) + [Shift] + [O]

* : 값을 입력받을때 사용

*

* : sc.next(); => 단어를 입력받을때 사용

* : sc.nextInt(); => 숫자(정수형)를 입력받을떼 사용

*

*

* : sc.nextLine(); => 한 문장을 입력받을때 사용

* : 입력받기 전에 sc.nextLin().trim()을 작성해준다. // 입력받기전에 띄어쓰기도 같이 입력받겠끔 쓸수있다

*

*

*/

Scanner sc = new Scanner(System.in); //자바사용때만 사용


[1]  조건문 IF

// if : 만약에라는 뜻.

/*

*

* if(조건){

* 조건이 참일 경우 실행되는 구문

* } else {

* 조건이 거짓일 경우 실행되는 구문

* }

*

*/

 

// (1) 조건식

if(10 > 20) {

      System.out.printla("정답입니다!");

} else {

      System.out.printla("정답이 아닙니다!");

}

//출력

>>정답이 아닙니다!

 

 // (2) 조건변수

boolean condition = false;

if (condition) {

     System.out.printla("condition은 true입니다");

} else {

      System.out.printla("conditio은 false입니다");

}

//출력

>>conditio은 false입니다

// Q. 내 나이 10살 TEST.

// 나이가 8살 이상이면 "초등학교에 갑니다" 출력

// 그렇치 않으면 "초등학교에 가지 않습니다" 출력

int age = 10;

 

if (age >= 7) {

System.out.println("초등학교에 갑니다");

} else {

System.out.println("초등학교에 가지 않습니다");

}

//출력

>>초등학교에 갑니다

// Q. 나이를 입력받아서 TEST.

// 입력받은 나이가 20살이면 "내 나이 스물살"

// 20살이 아니면 "스무살 아님!" 출력

int age1 = 20;

 

Scanner sc = new Scanner(System.in);

 

System.out.print("나이 입력 >>");

age1 = sc.nextInt();

 

if (age1 == 20) {

System.out.println("내 나이 스무살");

} else {

System.out.println("스무살 아님!");

}

//출력

>>나이 입력 >>10

>>스무살 아님!

 

// Q. 이름를 입력받아서 TEST.

// 입력받은 이름이 본인 이름이면 "본인이름 xxx입니다" 출력

// 본인 이름이 아니면 "본인이름은 xxx이 아닙니다." 출력

 

System.out.print("이름 입력 >>");

String name = sc.next();

 

// 같다(==) : 숫자, true/false

// equals() : 문자의 같은과 다름을 판별할때

if (name.equals("김정태")) {

System.out.println("본인이름은 " + name + "입니다.");

} else {

System.out.println("본인이름은 " + name + "가 아닙니다.");

}

//출력

>>이름  입력>>김정태

>>본인이름은 김정태 입니다.


[2]  조건문 IF 예제

// id와 pw를 입력 받아서 TEST.

// id가 icia이고 pw가 1234라면

// "로그인 성공" 출력

// 그렇치 않다면 "로그인 실패"

 

Scanner sc = new Scanner(System.in);

 

System.out.print("id >>");

String id = sc.next();

 

System.out.print("pw >>");

int pw = sc.nextInt();

 

 

if (id.equals("icid") && pw == 1234) {

System.out.println("로그인 성공");

} else {

System.out.println("로그인 실패");

 

}

//출력

 


[3]  조건문 else - if

// int num1 = 5;

// int num2 = 5;

 

// if(num1 > num2) {

// System.out.println("num1 크다");

// } else {

// System.out.println("num2 크다");

// }

 

// if(num1 > num2) {

// System.out.println("num1 크다");

// }else if(num1 < num2) {

// System.out.println("num2 크다");

// }else {

// System.out.println("num1과 num2가 같다");

// }

 

/*

* if(조건식1){ 조건식1이 참일때 실행 } else if(조건식2) { 조건식2가 참일때 실행 } else if(조건식n) { 조건식

* n이 참일때 실행 ] else { 모든 조건식이 거짓일때 실행 }

*/

 

// Q. 성적출력 예제 TEST.

// 점수를 입력받아 90점 이상이면 "A학점" 출력

// A : 90 ~ 100

// B : 80 ~ 89

// C : 70 ~ 79

// D : 60 ~ 69

// F : 60점 미만

 

// 1.입력받을 때 항상 Scanner 객체를 생성한다.

Scanner sc = new Scanner(System.in);

 

// 2.점수를 입력 받는다.

System.out.print("점수를 입력하시오 : ");

int num = sc.nextInt();

 

if (num >= 90) {

System.out.println("A학점");

} else if (num >= 80) {

System.out.println("B학점");

} else if (num >= 70) {

System.out.println("C학점");

} else if (num >= 60) {

System.out.println("D학점");

} else {

System.out.println("F학점");

}

//출력

>>점수를 입력하시오 : 80

>>B학점


[4]  중첩 if

// Q. 성적출력 예제 TEST.

// 점수를 입력받아서

// A+ : 95 ~ 100

// A : 95 ~ 94

// B+ : 85 ~ 89

// B : 80 ~ 89

// C+ : 75 ~ 79

// C : 70 ~ 79

// D+ : 65 ~ 69

// D : 60 ~ 69

// F : 60점 미만

 

// 1.입력받을 때 항상 Scanner 객체를 생성한다.

Scanner sc = new Scanner(System.in);

 

// 2.점수를 입력 받는다.

System.out.print("점수를 입력하시오 : ");

int num = sc.nextInt();

 

if (num >= 90) {

if (num >= 95) {

System.out.println("A+학점");

} else {

System.out.println("A학점");

}

 

} else if (num >= 80) {

if (num >= 85) {

System.out.println("B+학점");

}else {

System.out.println("B학점");

}

 

} else if (num >= 70) {

if (num >= 75) {

System.out.println("C+학점");

} else {

System.out.println("C학점");

}

 

} else if (num >= 60) {

if (num >= 65) {

System.out.println("D+학점");

} else {

System.out.println("D학점");

}

 

} else {

System.out.println("F학점");

}

//출력

>>점수를 입력하시오 : 88

>>B+학점


[5]  랜덤함수

// 랜덤 메소드 : 특정 범위내에서 숫자 하나를 출력해주는 메소드

// Math.random() : 0보다 크거나 같고, 1보다 작은 숫자를 무작위 발생

 

double ranNum;

ranNum = Math.random();

 

System.out.println(ranNum);

 

int ranInt;

ranInt = (int) (Math.random() * 10) + 1;

 

System.out.println("1부터 10사이의 수 : " + ranInt);

// (int)(Math.random() * N) + S;

// S : 시작 , N : 끝

 

// 주사위 dice

 

int dice;

dice = (int) (Math.random() * 6) +1;

System.out.println("주사위는 1부터 6사이의 수 : " + dice );

 

// 발표학생

int stuNum = (int)(Math.random() * 15) + 1;

System.out.println("발표할 학생은 " + stuNum + "번 학생입니다.!");

}

//출력


[6]  로또번호 생성기

int lotto1, lotto2, lotto3, lotto4, lotto5, lotto6;

int bonus;

 

lotto1 = (int) (Math.random() * 45) + 1;

lotto2 = (int) (Math.random() * 45) + 1;

lotto3 = (int) (Math.random() * 45) + 1;

lotto4 = (int) (Math.random() * 45) + 1;

lotto5 = (int) (Math.random() * 45) + 1;

lotto6 = (int) (Math.random() * 45) + 1;

 

bonus = (int) (Math.random() * 45) + 1;

 

System.out.println("이번주 로또 번호는 " + "[" + lotto1 + "]" + "[" + lotto2 + "]"+

"["+lotto3+"]" + "["+lotto4+"]"+"["+lotto5+"]"+"["+lotto6+"]"+" 보너스 번호 ["+bonus+"]");

//출력


[7]  성적 나타내기

// 국어, 영어, 수학 점수를 입력

// 총점, 평균, 학점 구하기

// A+ : 95 ~ 100

// A : 95 ~ 94

// B+ : 85 ~ 89

// B : 80 ~ 89

// C+ : 75 ~ 79

// C : 70 ~ 79

// D+ : 65 ~ 69

// D : 60 ~ 69

// F : 60점 미만

 

int kor, eng, mat;

double tot, avg;

String grade;

 

Scanner sc = new Scanner(System.in);

 

System.out.print("국어 점수 입력 : ");

kor = sc.nextInt();

 

System.out.print("수학 점수 입력 : ");

eng = sc.nextInt();

 

System.out.print("영어 점수 입력 : ");

mat = sc.nextInt();

 

tot = kor + eng + mat;

avg = tot / 3;

 

System.out.println("총점 : " + tot);

System.out.println("평균 : " + avg);

 

if (avg >= 90) {

if (avg >= 95) {

grade = "A+학점";

} else {

grade = "A학점";

}

 

} else if (avg >= 80) {

if (avg >= 85) {

grade = "B+학점";

} else {

grade = "B학점";

}

 

} else if (avg >= 70) {

if (avg >= 75) {

grade = "C+학점";

} else {

grade = "C학점";

}

 

} else if (avg >= 60) {

if (avg >= 65) {

grade = "D+학점";

} else {

grade = "D학점";

}

 

} else {

grade = "F학점";

}

 

System.out.println("학점 : " + grade);

}

//출력


[8]  조건문 switch

// if문으로 1, 2, 3, 그 외에 숫자를 입력했을 때

// 츨력되는 메세지를 확인하시오

 

Scanner sc = new Scanner(System.in);

System.out.println("숫자 입력 >>");

 

int num = sc.nextInt();

 

// if(num ==1 ) {

// System.out.println("입력한 값은 1");

// } else if (num ==2) {

// System.out.println("입력한 값은 2");

// } else if (num ==3) {

// System.out.println("입력한 값은 3");

// } else {

// System.out.println("해당범위에 없습니다.");

// }

 

switch (num) {

case 1:

// num이 1 일때

System.out.println("입력한 값은 1");

break;

case 2:

System.out.println("입력한 값은 2");

break;

case 3:

System.out.println("입력한 값은 3");

break;

default:

System.out.println("해당범위에 없습니다.");

break;

 

/*

*

*

* switch(조건변수) {

*

* case 변수값1 :

* 조건변수가 변수값1 일때 실행;

* break;

*

* case 변수값2 :

* 조건변수가 변수값2 일때 실행;

* break;

*

* case 변수값n :

* 조건변수가 변수값n 일때 실행;

* break;

*

* default :

* case에서 어떤 조건도 맞지 않을 경우 실행;

* break;

*

*

* }

*/

//출력

 


[9]  조건문 switch2

// Q. 월(month)을 입력 받아 해당월에 날짜를 계산하시오. TEST.

// ex) 3월을 입력할 경우 31일이 출력 되도록

 

// (1) if문으로 만들기

 

Scanner sc = new Scanner(System.in);

System.out.println("해당월을 입력하세요 >> ");

int month = sc.nextInt();

int day = 0;

//

// if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 | month == 12) {

// day = 31;

// } else if (month == 2) {

// day = 28;

// } else if (month == 4 || month == 6 || month == 9 || month == 11) {

// day = 30;

// } else {

// System.out.println("범위 초과");

//

// }

// System.out.print(month + "월은" + day + "일까지 있습니다.");

 

// break : 멈추다

// break문은 다음 case문을 실행하지 않고 switch문을 빠져나가기 위해 사용

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day = 31;

break;

case 2:

day = 28;

break;

 

case 4:

case 6:

case 9:

case 11:

day = 30;

break;

default:

System.out.println("범위초과");

break;

 

}

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

System.out.println(month + "월은" + day + "일까지 있습니다.");

}

}

//출력


[10] 가게 만들어 보기 

// 키오스크(KIOSK) : 무인결제 시스템

 

Scanner sc = new Scanner(System.in);

 

int choice = 0;

int price = 0;

String menu = null;

 

System.out.println("음식에 세계에 오신 것을 환영합니다");

System.out.println("주문 환영(단체손님 환영)");

 

System.out.println("\n============================");

System.out.println("1.아이스크림 \t2.찜닭");

System.out.println("3.떡볶이 \t4.우동");

System.out.println("5.곱창 \t6.삼겹살");

System.out.println("7.짜장면 \t8.샐러드");

System.out.println("\n============================");

 

 

System.out.println("메뉴를 선택하세요 >>");

choice = sc.nextInt();

 

switch (choice) {

case 1:

menu = "아이스크림";

price = 500;

break;

case 2:

menu = "찜닭";

price = 16000;

break;

case 3:

menu = "떡볶이";

price = 10000;

break;

case 4:

menu = "우동";

price = 5000;

break;

case 5:

menu = "곱창";

price = 16000;

break;

case 6:

menu = "삼겹살";

price = 8000;

break;

case 7:

menu = "짜장면";

price = 6000;

break;

case 8:

menu = "샐러드";

price = 13000;

break;

default:

System.out.println("해당메뉴가 없습니다");

break;

 

}

 

if(choice>=1 && choice<=4) {

System.out.println("\n주문하신 메뉴는 " + menu);

System.out.println("가격은 " + price + "원 입니다.");

}

 

System.out.println("이용해주셔서 감사합니다.");

 

}

//출력