● 자료형
1. int : 10, 0, -4, ...
2. double : 0.0, 1.1, -5.0, ...
3. char : 'a', ...
4. String : "", " ", "a", "10", ...
5. boolean : true, false
● 연산자
1. 산술연산자
2. 관계연산자
★★★관계연산자의 결과는 boolean 타입이다.★★★
(1) a > b : a가 b보다 크니? → 맞으면 true, 아니면 false
(2) a < b : a가 b보다 작니? → 맞으면 true, 아니면 false
(3) a >= b : a가 b보다 크거나 같니? → 맞으면 true, 아니면 false
(4) a <= b : a가 b보다 작거나 같니? → 맞으면 true, 아니면 false
(5) a == b : a랑 b가 같니? → 맞으면 true, 아니면 false
★ 문자열은 equals()로 같은지 비교한다.
(6) a != b : a랑 b가 다르니? → 맞으면 true, 아니면 false
3. 논리연산자
(1) a && b : and연산(a와 b 모두 true이면 결과는 true, 아니면 false)
(2) a || b : or연산(a 또는 b 둘 중 하나라도 true이면 결과는 true, 아니면 false)
(3) !a : not연산(a가 true면 false, a가 false면 true)
※ 연산자의 우선순위
최우선 연산자 : ()
단항 연산자 : !
산술 연산자 : */%+-
쉬프트 연산자
관계 연산자 : >< >= <= == !=
논리 연산자 : && ||
삼항 연산자 : 조건식 ? 참일때값 : 거짓일때값;
대입 연산자 : =
(ex) !(20 > 10 && 1 != 1)
- 20 > 10 : true
- 1 != 1 : false
- 결과 : false
4. 삼항연산자
- 조건식이 참이면 : 앞의 값이 연산의 결과가 된다.
- 조건식이 거짓이면 : 뒤의 값이 연산의 결과가 된다.
- 조건식 ? 참일때값 : 거짓일때값;
(ex) true ? 10 : 80;
실습(산술연산자 총정리)
1. 노래 한 곡당 300원인 코인노래방에서 사용자에게 금액을 입력받아 부를 수 있는 노래와 잔돈 출력하라
import java.util.Scanner;
public class InputTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("노래 금액을 입력하세요 >> ");
int coin = sc.nextInt();
int songCnt = coin / 300; //노래 곡 수가 담기는 변수
int rest = coin % 300; // 잔돈이 담기는 변수
System.out.printf("부를 수 있는 노래 : %d\n", songCnt);
System.out.printf("잔돈 : %d\n", rest);
}
}
![](https://blog.kakaocdn.net/dn/bnR3ET/btroptFxHV7/HtFTQKRDyaxwtAv4Z3I9Kk/img.png)
2. 10 ~ 99 사이의 숫자를 입력받아 십의자리와 일의자리를 각각 출력하라
import java.util.Scanner;
public class InputTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("10~99 사이의 숫자를 입력해주세요 >> ");
//메소드가 여러 개 사용되면 가장 안쪽의 메소드부터 해석한다.
int num = Integer.parseInt(sc.nextLine());
// 연산자가 여러 개 사용될 경우에는 우선순위에 따라 해석한다.
// */%의 우선순위가 +-보다 높다.
System.out.println("십의 자리 : " + num / 10);
System.out.println("일의 자리 : " + num % 10);
}
}
![](https://blog.kakaocdn.net/dn/egP5w8/btrokraEPc4/PHjtOpKfkXv19jAFW25HG1/img.png)
3. 사용자에게 국어, 영어 점수를 입력받아서 평균을 출력하라
import java.util.Scanner;
public class InputTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("국어 점수를 입력하세요 >> ");
int kor = sc.nextInt();
System.out.print("영어 점수를 입력하세요 >> ");
int eng = sc.nextInt();
double avg = (double)(kor + eng) / 2;
System.out.println("당신의 평균 점수는 " + avg + " 입니다.");
}
}
![](https://blog.kakaocdn.net/dn/pkXnV/btrosv3qbDx/YlQPzEfEFyR32DkkcnKCN0/img.png)
4. target에 담긴 a를 대문자 A로 바꾸어 출력하라(아스키코드 참고)
import java.util.Scanner;
public class InputTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char target = 'a';
System.out.println((char)(target - 32));
}
}
![](https://blog.kakaocdn.net/dn/d0DKOE/btrolURdufv/kpk1xNj8pMKgEy12Cqbb1K/img.png)
실습(논리연산자)
1. &&
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && true);
System.out.println(false && false);
![](https://blog.kakaocdn.net/dn/cSQRMU/btrokrhqxSI/JnJmYLfu9VPOmCkgxoQLS0/img.png)
2. ||
System.out.println(true || true);
System.out.println(true || false);
System.out.println(false || true);
System.out.println(false || false);
![](https://blog.kakaocdn.net/dn/bNpkk6/btrotk1EGOk/KySoBJmEXmoakIazX0sTK1/img.png)
3. !
System.out.println(!true);
System.out.println(!false);
![](https://blog.kakaocdn.net/dn/n4Nvp/btrosw85R0r/VZmkcj6hZNYRgLXZtk029k/img.png)
실습(관계연산자)
1. >
boolean sample = 10 > 5;
System.out.println(10 > 5);
System.out.println(10 > 20);
![](https://blog.kakaocdn.net/dn/DWQ71/btroi5ezuP0/e9qcdIphTH5mdRZqD9j6z0/img.png)
2. <
System.out.println(10 < 12);
System.out.println(10 < 10);
![](https://blog.kakaocdn.net/dn/ybALM/btrops0ZtF9/Wyx3KRxSWUn7c9ftIjlQPk/img.png)
3. >=
System.out.println(10 >= 10);
System.out.println(10 >= 80);
![](https://blog.kakaocdn.net/dn/bnrkfz/btrokrBJaUQ/LtFMXhk1nMbP4WkaFD9iZ0/img.png)
4. <=
System.out.println(10 <= 10);
System.out.println(10 <= 0);
![](https://blog.kakaocdn.net/dn/cEqZwE/btrorBwhRms/JCuiW7cNLfWKysjDzLFYaK/img.png)
5. ==
System.out.println(10 == 10);
![](https://blog.kakaocdn.net/dn/baGpF8/btroswBfDj4/VuTyZBzU7KYQIHRXwKZqF1/img.png)
6. !=
System.out.println(10 != 10);
![](https://blog.kakaocdn.net/dn/n0F1Q/btroqSkOlPo/OpJ86HGH79ii2LHo80KvvK/img.png)
7. 서로 다른 자료형 비교
System.out.println(10 > 10.5); // false(int와 double 비교 가능)
System.out.println('a' > 10.5); // true(char와 double 비교 가능)
System.out.println('a' > 'b'); // false(char와 char 비교 가능)
// System.out.println("apple" > 10); // String과 int 비교 불가능)
// 비교하고싶은문자열.equals(비교하고싶은문자열) → 결과는 boolean 타입이다.
System.out.println("안녕".equals("안녕")); // true(String은 equals() 메소드를 이용하여 비교 가능)
![](https://blog.kakaocdn.net/dn/dLsC5P/btronKt1Lo3/GuCfVqs5Y4eRkRANIKRm4k/img.png)
8. 사용자에게 아이디를 입력 받은 후 해당 아이디가 abc123이라면 true, 그렇지 않다면 false를 출력하기
import java.util.Scanner;
public class RelationalOperator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("아이디를 입력하세요 >> ");
String id = sc.nextLine();
System.out.println(id.equals("abc123"));
System.out.println("abc123".equals(id));
}
}
![](https://blog.kakaocdn.net/dn/suwzW/btroswH1Rz0/F4Yoff0rZTKY31EYkhzJfK/img.png)
![](https://blog.kakaocdn.net/dn/bX5JHI/btroi47MZEo/aWIL8Ymk0My1uXQHyknf90/img.png)
실습(삼항연산자(1))
1. 기본
System.out.println(true? 10 : 20);
System.out.println(false? 10 : 20);
![](https://blog.kakaocdn.net/dn/cXEUVU/btroptMirFq/56fupnvtQxFVkzrLOnli91/img.png)
2. 사용자에게 나이를 입력받아서 19살 이상이면 "성인입니다." 아니면 "미성년자입니다." 출력하기
import java.util.Scanner;
public class ConditionalOperator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("나이를 입력하세요 >> ");
int age = sc.nextInt();
System.out.println(age >= 19 ? "성인입니다." : "미성년자입니다.");
}
}
![](https://blog.kakaocdn.net/dn/YlEgS/btrokraEPcG/LKALqBmQ0zp9pA5nEIqRq1/img.png)
![](https://blog.kakaocdn.net/dn/chW5mv/btrolVo5gTi/g23aDRGMFjWUWVfZh9jUW0/img.png)