연산 (Operation) : 데이터를 처리하여 결과를 산출하는 것
*(변수, 타입, 연산자, 조건문, 반복문, 배열 등은 타 프로그램 언어와 유사)
연산자(Operator) : 연산을 하는 기호
피연산자(Operand) : 연산의 대상(항)
ex) 1 + 2 ⇒ 연산자 : +, 피연산자 : 1, 2
1. 단항 연산자
증감 연산자 => 반복문(for문)에 많이 사용
++
—
int i = 0;
i++; (1증가)
i—; (1감소)
i++; (선처리 후증가) // ex) println(i++); ⇒ 10
++i; (선증가 후처리) // ex) println(++i); ⇒ 11
i—; (선처리 후감소) // ex) println(i—); ⇒ 10
—i; (선감소 후처리) // ex) println(—i); ⇒ 9
2. 이항 연산자
1) 산술 연산자
+ (더하기)
- (빼기)
* (곱하기)
/ (나누기)
% (나머지)
2) 대입 연산자 (연산결과를 변수에 대입하는 연산자)
(변수) = (대입할 데이터)
int num = 10;
- Primitive type : 기본자료형 타입(8가지)
int num = 10; (실제 데이터값을 대입)
- Referance type : 참조형(객체형) 타입 (String, 배열, Class, interface)
객체참조변수 - 대상 객체의 주소값을 저장 (실제 데이터값 x)
String str = new String(”userId”);
str.속성;
str.메소드();
⇒ new : 새로운 객체(Class)를 생성
⇒ . : 객체 접근 연산자
- 복합 대입 연산자 (변수의 연산결과를 다시 그 변수에 넣음)
int num = 10;
num(저장공간) = num(참조값)+10; ⇒ num+=10;
+=
-=
*=
/=
%=
3)비교 연산자 ⇒ 두 항 중, 왼쪽을 기준으로 비교
연산의 결과인 반환값(리턴값)을 true, false 두 가지로 반환(return)
★조건문(if, switch)에 많이 사용
>
>=
<
<=
==
!=
*숫자+문자열의 ==, != 연산은 불가.
문자열 객체의 ==,!=은 .equals() 사용 (저장 위치가 아닌, 자료값으로 비교하기 때문)
ex) String strAge = “11”;
System.out.println(strAge.equals(”11”));
4) 논리 연산자 (&&, ||, ^, !) ⇒ return값 : boolean 타입
논리곱(AND. 모든 조건이 true일 때만 true)
조건1 && 조건2 결과
true true true
true false false
false true false
false false false
논리합(OR. 하나 이상의 조건이 true면 true)
조건1 || 조건2 결과
true true true
true false true
false true true
false false false
XOR(서로 다르면 true)
조건1 ^ 조건2 결과
true true false
true false true
false true true
false false false
부정(true와 false가 서로 반대)
⇒ 토글(toggle)에 사용 (같은 이벤트 적용시 반복적으로 뒤바뀜)
조건 ! 결과
!true false
!false true
5)조건 연산자
?
(조건식)?(조건이 true일 때 반환값):(조건이 true가 아닐 때 반환값);
*반환값의 타입에 맞춰 변수타입 입력
*조건연산자, 삼항연산자는 실무에서 많이 사용 (조건이 2개일때)
int result = 10>10?1:0;
>> if문으로 바꾸면..
if (10>10) {
System.out.println(1)
} else {
System.out.println(0)
}
6)비트 연산자 (2진수 true ⇒ 1, false ⇒ 0)
비트연산자는 10진수를 2진수로 변환하여 처리함

*Wrapper 클래스
integer.toBinaryString(int형 데이터);
>> int형 데이터를 2진수 문자열로 반환
7)쉬프트 연산자
2진수 코드에서 자리수를 이동하는 연산.
오른쪽 쉬프트 : 작아짐. 2^n
왼쪽 쉬프트 : 커짐. 2^n
3. 삼항 연산자
★★제어문(조건문) - 조건에 맞으면 true, 틀리면 false 반환
1. if문 (조건이 true일 때만 실행)
1) 조건이 1개일 경우 ⇒ 조건이 일치할 때만 실행
if (조건) {
명령문;
}
또는
if(조건) 명령문;
2) 조건이 2개일 경우
if (조건) {
명령문;
} else { // 조건이 true를 제외한 나머지
명령문;
}
3) 조건이 3개 이상일 경우
조건이 추가될 때마다 else if 추가
if (조건 1) {
명령문;
} else if (조건 2) {
명령문;
} else if (조건 3) {
명령문;
} … {
} else {
명령문;
}
2. switch문
변수에 대한 case값이 정형화 된 타입의 값. 하나의 결과를 반환
switch~case
ex) 로그인 시 key값에 따른 권한부여
switch(변수(설정값)) {
case “값1”: // 변수(설정값)가 1이면
처리문;
break; // switch문을 종료
case “값2”: // 변수(설정값)가 2이면
처리문;
break; // switch문을 종료
case “값3”: // 변수(설정값)가 3이면
처리문;
break; // switch문을 종료
default:
나머지 처리문; // 어떤 case에도 해당되지 않을 때. else와 동일 (생략가능)
}
*case ⇒ case값은 정수형, 문자, 문자열 등 정형화된 타입의 단일한 자료 (if처럼 범위지정 불가)
모든 switch문을 if문으로 바꿀 수는 있지만, 모든 if문을 switch문으로 바꾸지는 못함)
*break ⇒ 해당지점을 기준으로 하위 명령문을 실행시키지 않고 코드블럭을 나옴
*continue ⇒ break와 반대. 해당 지점에서 하위 명령문을 실행하지 않고, 코드블럭 끝에서 다시 시작
'자바 웹개발 국비과정 > Java Programming' 카테고리의 다른 글
다차원배열 (22.11.04) (0) | 2022.11.14 |
---|---|
배열 (22.11.03) (0) | 2022.11.14 |
반복문 (22.11.01) (0) | 2022.11.14 |
객체, 스캐너 (22.10.28) (0) | 2022.11.14 |
Java (22.10.27) (0) | 2022.11.08 |