자바 기초 - 변수와 제어문

지우·2023년 1월 4일
0

CNU SW 아카데미 2기

목록 보기
1/10

1주차는 Java 기초 개념을 복습하는 시간이었다. 자바와 파이썬 문법이 가끔 헷갈릴 때가 많아 간단히 정리해보려고 한다.


✔️변수와 연산

💡 변수

  • 정수형
    byte : 1 byte
    short : 2 byte
    int : 4 byte
    long : 8 byte, 정수값 뒤 l or L을 붙여야 함

  • 문자형
    char : 작은 따옴표 (' ') 사용

  • 실수형
    float : 4 byte, 실수 값 뒤 f or F를 붙여야 함
    double : 8 byte

  • 논리형
    boolean : true, false와 같은 논리 값 저장

💡 상수

final int MAX_VALUE = 10;

맨 앞에 final을 추가하여 상수를 정의한다. 상수의 특징처럼 값을 한 번만 대입할 수 있고 이후 변경할 수 없다.

💡 연산자

  1. 단항 연산자 - 항이 1개
    ex ) 부호(+, -), 증감(++, --), 부정(!)
int x = 3; 
s = -x; //s = -3
x++; //x가 1씩 증가, x = 4

이때 증감 연산자의 경우 항의 앞에 오느냐 뒤에 오느냐에 따라 결과 값이 달라질 수 있다.

int x = 3;
int y = ++x * 10
// y = 4 * 10 = 40, ++x를 먼저 처리한 후 나머지 연산

int a = 3;
int b = a++ * 10
// b = 3 * 10 = 30, a = 4
//*를 먼저 처리한 후 a++ 연산
  1. 이항 연산자 - 항이 2개
    ex ) 산술(+, -, *, /, %), 대입(=, +=, -=, *=, /=, %=), 비교(<, >, <=, >=, ==, !=)
int x = 3;
x += 1; // x = x + 1, x = 4
  1. 삼항 연산자 - 항이 3개
    조건식 ? 결과 1 : 결과 2
    조건식을 만족하면 결과 1을, 만족하지 않으면 결과 2를 반환한다.
int x = 3;
char y = x > 5 ? 'A' : 'B';
// x > 5 면 'A', 아니면 'B'
// y = 'B'

연산자 우선순위

우선순위분류연산자연산 방향
1단항+ = ++ == !
2산술* % /
3산술+ =
4비교 (대소)< > <= >=
5비교 (동등)== !=
6논리곱&&
7논리합||
8조건A ? B : C
9대입= += -= *= /= %=



✔️ 조건문

💡 if문

if (조건식1) {
	블록1
} else if (조건식2) {
	블록2
} else if (조건식3) {
	블록3
} else {
	블록4
}

if 와 else if 의 괄호 속이 true가 되면 해당하는 블록이 실행된다. 이때 false면 실행하지 않고 다음 제어문으로 넘어가 조건식을 확인한다. 모든 조건식이 false 면 마지막 else문이 실행된다.

💡switch문

switch (변수) {
	case1 :
    	블록1
        break;
	case2 :
    	블록2
        break;
    default:
    	블록3

switch문의 변수와 일치하는 을 찾는다. 일치하면 해당 case의 블록을 실행하고, break로 빠져나온다. break가 없다면 이가 나타날 때까지 다음 case를 실행하므로 꼭 적어준다. 전부 해당하지 않으면 default 에 해당하는 블록을 실행한다.

✔️ 반복문

💡while & do-while문

while (조건식) {
	블록
}

조건식이 true면 블록을 실행하고, false면 실행하지 않는다. false가 될 때까지 반복 실행한다.

do {
	블록
} while (조건식)

do - while문의 경우, 블록을 우선 실행한 후 조건식이 true인 동안 블록을 반복 실행한다.

💡for문

for (초기화식; 조건식; 증감식) {
	블록
}

반복문 중에서는 가장 많이 사용된다. 조건식이 true인 동안 블록을 방복 실행한다.
ex )

for (int i = 0; i < 5; i++) {
	System.out.println(i);
}

위 식은 int형 변수 i를 0으로 초기화한 뒤, 5가 되기 전까지 i를 증가시키며 for문을 반복하게 한다. i는 0부터 4까지 총 5가지의 값을 가지기 때문에 보통 n번 반복하고 싶다면 변수를 0으로 초기화한 뒤, 변수 < n의 조건식을 작성해 사용하곤 한다.

0
1
2
3
4

실행 결과는 다음과 같다.

💡break와 continue의 차이

반복문에서 두 가지 제어는 많이 활용된다. break의 경우 반복문을 당장 그만두고 싶을 때, continue의 경우 반복을 중지하고 다음 반복문을 실행하고 싶을 때 사용한다.

break

for (int i = 0; i < 5; i++) {
    if (i == 3) {
    	break;
    }
    System.out.println(i);
}

이 경우, i == 0, 1, 2일 때는 정상적으로 print문이 실행되지만 i == 3이 되는 순간 break로 반복문을 빠져나오기 때문에 더 이상의 출력은 없다.

0
1
2

continue

for (int i = 0; i < 5; i++) {
    if (i == 3) {
    	continue;
    }
    System.out.println(i);
}

반면 이때는 i == 3일 때 continue를 만나 중지하고 다음 반복문을 실행한다. 따라 3을 제외하고 나머지의 출력문은 정상 실행된다.

0
1
2
4

맨 처음 대학에 입학해서 잘 모르는 상태로 배운 뒤 다시 되짚어보지 않았던 개념을 다시 정리해보며 기초를 다질 수 있던 시간이었다. 가끔 코딩할 때 예상치 못한 오류가 발생하곤 했는데, 주로 이런 기초 개념을 착각했기 때문이었다. 아는 내용이라고 대충 넘기지 말고, 이런 기회가 있을 때 열심히 복습해야겠다.

profile
기록용

0개의 댓글