1. 연산자
- 특정한 연산을 수행하기 위해서 사용하는 기호
- 피연산자(operatior): 연산의 대상
종류 |
연산자 |
의미 |
산술 |
+, -, *, /, % |
숫자연산 |
대입 |
=, +=, -=, *=, **=, /=. %= |
대입 및 복합 대입 |
관계 |
>, >=, <, <=, ==, != |
크기 비교 |
증감 |
++, -- |
증감 혹은 감소 |
논리 |
&&, || |
하나 이상의 논리적 처리 |
비트 |
&, |, ^, ~, <<, >> |
이진 연산 |
기타 |
논리식 ? 참 : 거짓 |
조건 연산 |
(1) 산술 연산
(2) 대입 연산
- ==와 의미가 다름
- '변수 (연산=) 값'의 형태를 가짐
- 연산자를 붙여서 계산 후 대입
public class Test{
public static void main(String[] args) {
int x = 1;
int y = 1;
x += 10;
y -= 15;
System.out.println(x);
System.out.println(y);
}
}
(3) 증감 연산
public class Test{
public static void main(String[] args) {
int x = 1;
int y = 1;
int next_x = ++x; // 먼저 x를 중가시키고 대입
int next_y = y++; // y를 대입한 후에 y를 증가
System.out.println(next_x);
System.out.println(next_y);
}
}
(4) 관계 연산
- 2개 항을 비교하여 논리 자료형으로 변환
- 결과는 True or False
public class Test{
public static void main(String[] args) {
int a = 15;
System.out.println(a > 10); // true
System.out.println(a < 10); // false
System.out.println(a == 10); // false
System.out.println(a == 15); // true
System.out.println(a != 10); // true
}
}
(5) 논리 연산
- 2개 항을 논리적으로 연결할 때 사용
- 결과는 논리형(True/False) 중 하나로 나옴
public class Test{
public static void main(String[] args) {
int a = 15;
int b = 10;
boolean c = true;
// &&은 두개가 모두 만족 했을 때 true
c = (a + b > 20) && (a - b < 20); // true && true -> true
// ||은 하나만 만족해도 true
c = (a + b > 20) || (a - b < 20); // true || true -> true
// !는 반대
c = !(b < 10); // !(false) -> true
}
}
(6) 비트 연산
- 변수의 값을 0과 1의 조합인 2진수로 변환 후 연산을 수행
- AND, OR, NOT, XOR, SHIFT 연산
- AND(&) : 입력이 모두 1 이면 1, 아니면 0
- OR(|) : 입력이 하나라도 1 이면 1, 아니면 0
- XOR(^) : 입력이 서로 다르면 1, 같으면 0
- NOT(!) : 입력의 반대를 1 이면 0
- SHIFT(<< n, >> n) : 방향으로 n만큼 비트를 이동 해당 자리에는 0이 들어간다.
2. 입출력
(1) 표준 입력
- Scanner 클래스와 System.in을 사용
- Spacebar를 기준으로 문자열 파악
- EnterKey로 입력 종료
// 1) import를 사용하여 Scanner 추가
import java.util.*;
// 2) Scanner 클래스에서 System.in기능 호출
Scanner input = new Scanner(System.in);
// System.in을 Scanner클래스에 전달하여 input변수에 저장
// 3) Scanner 클래스가 제공하는 다양한 기능을 사용하여 사용자로부터 입력받음
System.out,println("문장을 입력하세요 >>>>");
String lineString = input.next.Line();
번호 |
기능명 |
설명 |
1 |
next() |
한 단어 |
2 |
nextLine() |
한 줄 |
3 |
nextInt() |
정수 |
4 |
nextDouble() |
실수 |
5 |
nextFloat() |
실수 |
6 |
nextLong() |
정수 |
7 |
nextByte() |
정수 |
8 |
nextShort() |
정수 |
9 |
nextBoolean() |
논리 |
(2) 표준 출력
- 이스케이프 문자
- 확장 문자라는 의미로, (back slash)로 시작
문자 |
의미 |
\' |
작은 따옴표 |
\" |
큰 따옴표 |
\n |
개행 |
\t |
탭 |
\\ |
역슬래시(\) |
- % 연산자
- 문자열 형식에 따라 사용하는 형식기호에 값을 전달하는 연산자
- System.out.printf() 메소드애서 사용가능
구분 |
포맷표현 |
자료형 |
int |
%d, %o, %x |
정수 |
float |
%f |
실수 |
char |
%c |
문자형 |
String |
%s |
문자열 |
boolean |
%b |
논리형 |
int a = 10;
int b = 20;
System.out.printf("a = %d, b = %d\n", a, b);