일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- abstract
- array
- ArrayList
- Class
- collection
- database
- db
- DDL
- default
- DML
- Exception
- Generic
- HashSet
- Interface
- Java
- Java 입문
- java 자료형
- java 클래스
- JavaBean
- javabeans
- JAVA의 특징
- LinkedList
- linkedset
- list
- mariadb
- Private
- protected
- public
- RuntimeException
- set
Archives
- Today
- Total
GeehDev
[Java] 연산자와 제어문 본문
728x90
반응형
연산자와 제어문의 경우 JavaScript와 유사한 부분이 많아 다른 부분만 정리할 예정입니다! [JS] 연산자와 제어문(조건문, 반복문, 분기) 내용을 참고해주세요!
연산자
구분 | 연산기호 | 기능 | 결과 |
산술 연산자 | + - * / % | 사칙연산 및 나머지 연산 | 값 |
증감 연산자 | ++ -- | 값이 1씩 증가 또는 감소 | |
비트 연산자 | & | ~ ^ | 비트 AND, OR, NOT, XOR | |
시프트 연산자 | >> << >>> | 비트 단위의 이동 | |
비교 연산자 | < > <= >= == != | 값의 크기 비교 | boolean |
논리 연산자 | && || ! ^ | 논리 AND, OR, NOT, XOR | |
대입 연산자 | = += -= *= /= &= |= >>= >>>= | 산숫 연산 결과의 대입 | 실행 |
삼항 연산자 | (조건문) ? x : y | 조건문이 참일 경우 x 실행, 거짓일 경우 y 실행 |
비트 연산자
비트 단위 연산자로, 두 피연산자를 2진수로 변환 후 각 값끼리 비교하는 연산자 입니다.
2진수로 변환 후 비트 연산 후 나온 2진수를 10진수로 변환한 값이 반환됩니다.
AND(&)
: 두 값이 모두 1이어야만 1이며 나머지는 0입니다.OR(|)
: 두 값 중 하나만 1이어도 1이며 둘 다 0일 경우만 0입니다.XOR(^)
: 두 값이 서로 다른 경우만 1이며, 같을 경우는 0입니다.NOT(~)
: 0은 1로, 1은 0으로 반환합니다.
💡 연산 예시
// 17 => 0001 0001 // 5 => 0101일 때 각 비트연산자를 사용할 경우 아래와 같습니다. 17 & 5= 0001 => 1 17 | 5= 0001 0101 => 21 17 ^ 5= 0001 0100 => 20 ~17 = 0000 1110 => 14 ~5 = 0001 1010 => 26
시프트 연산자
비트의 위치를 좌우로 이동하는 연산자 입니다.
산술 시프트
<<
: 비트를 왼쪽으로 이동시킵니다.>>
: 비트를 오른쪽으로 이동시킵니다.
논리 시프트
>>>
: 부호 비트를 포함해 전체 비트를 오른쪽으로 이동시킵니다.
💡 연산 예시
// 17 => 0001 0001 일 때 각 시프트연산자를 사용할 경우 아래와 같습니다. 17 >> 2= 0100 => 4 17 << 1= 0010 0010 => 34 17 >>> 3= 0010 => 2
논리연산자 中 XOR
XOR(^)
: 두 피연산자가 서로 다른 경우 true를 반환하고, 같을 경우 false를 반환합니다.
💡 논리연산자 XOR과 비트연산자 XOR
논리 연산자 XOR과 비트 연산자 XOR은 둘다 ^로 표시합니다. 해당 연산자는 피연산자로 들어온 값의 자료형에 따라 논리연산자 또는 비트 연산자로 사용됩니다.
정수형 ^ 정수형
: 비트연산자boolean ^ boolean
: 논리연산자
제어문
종류 | 구문 | 내용 |
조건문 | if |
조건에 따라 true일 경우 명령문을 실행합니다. |
else if |
if 조건절 체크 후 false일경우 해당 else if 조건 체크 후 true일 경우 명령문 실행합니다. |
|
else |
모든 if, else if 절이 false일 경우 명령문을 실행합니다. | |
switch |
표현식이 case절과 일치할 경우 해당 하위절을 실행합니다. | |
반복문 | for |
일정 횟수 반복을 설정하여 반복하여 명령문을 실행합니다. |
while |
조건이 충족될 동안 반복하여 명령문을 실행합니다. | |
do ~ while |
일단 한번 실행 후 조건이 충족될 동안 반복하여 명령문을 실행합니다. | |
분기 | break | break문을 만날 경우 가장 가까운 if문을 제외한 가장 가까운{} 를 탈출합니다. |
continue |
continue문을 만날 경우 실행하고있던 코드가 남아있더라도 다음 반복을 진행합니다. |
분기 中 레이블 이용
break
또는 continue
에서 레이블을 이용 시 break로 다중 반복문을 한번에 빠져나오거나, continue로 여러개의 반복문을 건너띌 수 있습니다.
레이블명:
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
if(j == 3) {break 레이블명;}
System.out.println("내용~~");
}
}
위 코드를 해석하면, break문을 만나면 레이블명이 있는 영역까지 탈출할 수 있게 됩니다.
레이블명:
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
if(j == 3) {continue 레이블명;}
System.out.println("내용~~");
}
}
continue문도 동일하게 다시 다음 반복을 진행할 반복문 앞에 레이블명을 작성 시 해당 반복문으로 진행되게 작성할 수 있습니다.
참고
Do it! 진짜 개발자가 되는 Java 프로그램 입분서 자바 완전 정복 - 김동형
위 책을 공부하며 작성하고 있습니다!
728x90
반응형
'Study > Java' 카테고리의 다른 글
[Java] 클래스의 상속과 다형성 (0) | 2024.09.15 |
---|---|
[Java] 클래스의 기본구조 (0) | 2024.09.15 |
[Java] 참조 자료형 - 배열, 문자열(String) (0) | 2024.09.15 |
[Java] 변수 선언과 기본 자료형 (2) | 2024.09.08 |
[Java] Java의 기본 개요 (1) | 2024.09.08 |