연산자, 조건문과 반복문

star_pooh·2024년 11월 11일
0

TIL

목록 보기
13/39
post-thumbnail

연산자

연산자 우선 순위 및 연산 방향

우선 순위연산자내용연산 방향
1()괄호-
2++후위 증가 연산자 (postfix)👉
--후위 감소 연산자 (postfix)👉
3!논리 연산자 (NOT)👈
~비트 연산자 (NOT)👈
+양의 부호 (단항 연산자)👈
-음의 부호 (단항 연산자)👈
++전위 증가 연산자 (prefix)👈
--전위 감소 연산자 (prefix)👈
(타입)타입 변환 연산자👈
4*곱셈 연산자👉
/나눗셈 연산자👉
%나머지 연산자👉
5+덧셈 연산자 (이항 연산자)👉
-뺄셈 연산자 (이항 연산자)👉
6<<비트 왼쪽 시프트 연산자👉
>>비트 오른쪽 시프트 연산자 (부호 유지)👉
>>>비트 오른쪽 시프트 연산자 (부호 무시)👉
7<관계 연산자 (작은)👉
<=관계 연산자 (작거나 같은)👉
>관계 연산자 (큰)👉
>=관계 연산자 (크거나 같은)👉
instance of인스턴스의 타입 반환👉
8==관계 연산자 (같은)👉
!=관계 연산자 (같지 않은)👉
9&비트 연산자 (AND)👉
10^비트 연산자 (XOR)👉
11|비트 연산자 (OR)👉
12&&논리 연산자 (AND)👉
13||논리 연산자 (OR)👉
14? :삼항 조건 연산자👈
15=대입 연산자 및 복합 대입 연산자 (+=, -=, *=, /=, %=, <<=, >>=, >>>= , &=, ^=, |=)👈

증감 연산자

// ++a (prefix, 전위 증감 연산자)
// 증감 연산이 먼저 수행된 후, 나머지 연산을 수행
a = 1, b = 0
b = ++a
👇
a = a + 1  // a의 증가 연산이 먼저 진행, a = 2
b = a  // 이후에 a를 대입 b = 2
// 결과 : a = 2, b = 2
// a++ (postfix, 후위 증감 연산자)
// 다른 연산이 먼저 수행된 후, 증감 연산을 수행
a = 1, b = 0
b = a++
👇
b = a;  // a의 값을 먼저 b에 대입 b = 1
a = a + 1;  // 이후에 a의 값을 증가 a = 2

결과 : a = 2, b = 1

✅다른 연산 없이 증감 연산자를 단독으로 사용할 경우에는 본인의 값만 증가하기 때문에 전위와 후위의 결과가 같음

삼항 조건 연산자

// 조건 ? 참인 경우 : 거짓인 경우
int a = 10;
int b = 20;
int result = a > b ? 1 : -1;
System.out.println(result); // -1

조건문

특정 조건에 따른 연산을 수행하고 싶을때 사용

  • if문
if (조건식) { 
	실행문; // 조건식 결과가 true일 때 실행
}
  • if-else문
if (조건식) { 
	실행문; // 조건식 결과가 true일 때 실행
} else {
	실행문; // 조건식 결과가 false일 때 실행
}
  • if-else if문
if (조건식1) {
	실행문; // 조건식1 결과가 true일 때 실행
} else if (조건식2) {
	실행문; // 조건식1 결과가 false이면서, 조건식2 결과가 true일 때 실행
} else {
	실행문; // 조건식 1과 2의 결과가 모두 false일 때 실행
}
  • 중첩 if문
if (조건식1) {
	if (조건식2) {
    	실행문; // 조건식 1과 2의 결과가 모두 true일 때 실행
    } else {
    	실행문; // 조건식1 결과가 true이면서, 조건식2 결과가 false일 때 실행
    }
} else {
	실행문; // 조건식1 결과가 false일 때 실행
}
  • switch문
switch (조건식) {
	case val1: 
    	실행문; // 조건식의 결과값이 val1인 경우 실행
    	break;
    case val2:
    	실행문; // 조건식의 결과값이 val2인 경우 실행
    	break;
    default:
    	실행문; // 조건식의 결과값이 위의 어떤 값에도 해당하지 않을 때 실행
}

반복문

  • for문
for (초기값; 조건식; 증감식) {
	실행문;
}
  • 향상된 for문
// 변수명은 아무거나 설정 가능
for (변수타입 변수명 : 목록변수) {
	실행문;
}
int[] numArr = {1, 2, 3, 4};
for (int num : numArr) {
	System.out.print(num); // 1 2 3 4
}
  • while문
while (조건식) {
	// 조건이 true라면 실행
	실행문;
}
  • do-while문
do {
	// 조건이 true라면 실행
    // 단, 조건식이 나중에 위치하기 때문에 한 번은 무조건 실행됨
	실행문;
} while (조건식);

break와 continue

  • break
    : 가장 가까운 블럭의 조건문 또는 반복문을 중단하기 위해 사용 (무한 루프에 빠지는 것을 방지할 수 있으며, 필요 없는 연산을 하지 않도록 막아줌)
// break 명령 범위
for (int i = 0; i < 10; i++) {
	System.out.println("i: " + i);
	if (i == 2) {
		break; // i 가 2일때 가장 바깥 반복문이 종료됩니다.
	}
	for (int j = 0; j < 10; j++) {
		System.out.println("j: " + j);
		if (j == 2) {
			break; // j 가 2일때 가장 안쪽 반복문이 종료됩니다.
		}
	}
}

// 출력
i: 0 // 바깥 반복문 부터 수행 시작
j: 0 // 안쪽 반복문 1회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 break
i: 1 
j: 0 // 안쪽 반복문 2회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 두번째 break
i: 2 // i 가 2일때 바깥 반복문도 break 호출되어 종료
  • continue
    : 조건문 또는 반복문에서 현재 순서를 건너뛰고 싶을 때 사용
// continue 명령
int number = 0;
while(number < 3) {
		number++;
		if (number == 2) {
			continue;  // 2일때 반복 패스
		}
    System.out.println(number + "출력"); 
}

// 출력
1출력
3출력

0개의 댓글

관련 채용 정보