- 문자열 비교는 동등비교 (==)가 아닌 equalse 메소드 사용해야 함
- if-else if-else문에서 else 구문은 조건식이 안들어감
- ! // 논리값을 반대로(논리 부정)
- return; // 호출했던 메소드로 다시 돌아감
- scanner.nextLine(); // 기본 자료형 받고 문자열 받을 경우 버퍼 비워주기
- String.valueof() 메소드 // 기본 자료형 -> 문자열 변경
1. 삼항 연산자
/*
* 삼항 연산자
*
* [표현법]
* 조건식 ? 식1(조건식이 참일 경우 수행) : 식2(조건식이 거짓일 경우 수행);
*
* - 조건식은 주로 비교, 논리 연산자가 사용
*/
ex)
result = ((ch >= 'A') && (ch <= 'Z')) ? "알파벳 대문자이다." : "알파벳 대문자가 아니다.";
result = (num > 0) ? "양수입니다." : (num ==0) ? "0 입니다." : "음수입니다.";
1.1 예제
/*
* 4. 사용자에게 2개의 정수와 + 또는 -를 입력받아 계산 출력
* (단, + 또는 - 외의 문자를 입력하는 경우 "잘못 입력했습니다." 출력)
* 예시)
* 첫 번째 수 > 3
* 두 번째 수 > 4
* 연산자 입력(+ 또는 -) > +
*
* 3 + 4 = 7
*/
public void practice4() {
int num1 = 0;
int num2 = 0;
String result = null;
char op = '\u0000';
Scanner scanner = new Scanner(System.in);
System.out.print("첫 번째 수 > ");
num1 = scanner.nextInt();
System.out.print("두 번째 수 > ");
num2 = scanner.nextInt();
scanner.nextLine(); // 기본 자료형 받고 문자열 받을 경우 버퍼 비워주기
System.out.print("연산자 입력(+ 또는 -)");
op = scanner.nextLine().charAt(0);
result = (op == '+') ? String.valueOf(num1 + num2) :
(op == '-') ? String.valueOf(num1 - num2) : "잘못 입력했습니다.";
// String.valueof() 메소드 : 기본 자료형 -> 문자열 변경
System.out.printf("%d %c %d = %s", num1, op, num2, result);
scanner.close();
}
2. switch문
/*
* switch문
*
* [표현법]
* switch(결과값){
* case 값1:
* .. 실행 코드 ..
* break;
* case 값2:
* .. 실행 코드 ..
* break;
* case 값3:
* .. 실행 코드 ..
* break;
* ...
* default :
* 위 조건을 모두 만족하지 않을 경우 실행하게 되는 코드
*
* }
*
* - 실행하고 자동으로 빠져나가지 못한다. (break가 필요하다.)
* - 결과값에 정수, 문자, 문자열 가능하다.
*/
2.1 예제
public void method1() {
String fruit = null;
int price = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("과일 이름 > ");
fruit = scanner.nextLine();
switch(fruit) {
case "수박" :
price = 8000;
break;
case "사과" :
price = 1500;
break;
default :
System.out.println("판매하지 않는 과일입니다.");
scanner.close();
return;
}
System.out.printf("%s의 가격은 %d원 입니다.", fruit, price);
scanner.close();
}
- default 블록 기억!
scanner.close();
return;
'국비과정' 카테고리의 다른 글
| 국비 10일차 - [객체] 객체, 추상화, 캡슐화, Getter/Setter 메소드 (0) | 2022.04.07 |
|---|---|
| 국비 9일차 - [배열] 배열 복사, 향상된 for 문, 배열 정렬, 2차원 배열, 가변 배열 (0) | 2022.04.07 |
| 국비 8일차 - [배열] 참조 타입, 참조 변수, 배열, hashCode() (0) | 2022.04.05 |
| 국비 7일차 - for문, whith, do-while 문(Math.random(), 디버깅) (0) | 2022.04.05 |
| 국비 1일차 - OT (0) | 2022.04.02 |
댓글