#3. day2아침 복습, if(조건문)공부
[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("이용해주셔서 감사합니다.");
}
//출력