☕️ Java 문법 종합반 (1) - ③연산자, 조건문, 반복문 / TIL - day 8

하리비·2025년 2월 25일
1

☕️ Java

목록 보기
3/8

< 연산자 >



📖 1) 산술 연산자

📌 기본적인 사칙연산

  • 사칙연산
    // 더하기
    int sum = a + b;
    // 빼기
    int sub = a - b;
    // 곱하기
    int mul = a * b;
  • 나눗셈 (주의)

    // int 사용시 소수점 뒤 버려짐
    int div = a / b;
    System.out.println("div = " + div); // =>3 , 소수점 버려짐
    
    // double 사용 + 소수점인 숫자와 연산해야 한다
    double div2 = a / 3.0;
    System.out.println("div2 = " + div2); //=>3.333...
    • 정수끼리 나눌 경우 소숫점 버려짐

    • 소수점까지 필요한 경우 소수점숫자와 직접 연산


📌 모듈러 연산자 - %

  • 숫자를 나누고 나머지 값을 구한다
    [예시]
         int mod = 10 % 3;
         System.out.println("mod = " + mod); // 1
    
         int mod2 = 15 % 4;
         System.out.println("mod2 = " + mod ); //3
  • 어디에 사용될까?
    • 시간 계산, 짝홀수 구할때
              // 시간 연산
              int mod3 = ( 10 + 5 ) % 12;
              System.out.println("mod3 = " + mod3); // 나머지 3이므로 3시간
      
              // 짝수 홀수 연산
              int mod4 = 6 % 2;
              System.out.println("mod4 = " + mod4); // 나머지 값 0 이므로 짝수
      
              int mod5 = 7 % 2;
              System.out.println("mod5 = " + mod5); // 나머지 값 1 이므로 홀수

📖 2) 대입 연산자

📌 대입연산자 ( = )

  • 변수에 값을 할당할 때 사용

📌 복합 대입 연산자 ( += , -= , *=, /= , %= )

  • 병렬로 누적 수행된다
  • 아래 예시를 말로 풀어 적으면
    num=5일때, num+3=? 를 하고, ?를 다시 num으로 재할당하는 개념 (근데 이걸 한방에 진행)
    // 대입 연산자
    	int num = 5;
    
    // 복합 대입 연산자 ( 누적 수행한다 병렬로 보여줌 / 재할당의 개념 )
    	num += 3;  // num = num + 3;
    	System.out.println("+= 결과: " + num); // 8
    
    	num -= 2;  // num = num - 2;
    	System.out.println("-= 결과: " + num); // 6
    
    	num *= 2;  // num = num * 2;
    	System.out.println("*= 결과: " + num); // 12
    
    	num /= 3;  // num = num / 3;
    	System.out.println("/= 결과: " + num); // 4
    
    	num %= 3;  // num = num % 3;
    	System.out.println("%= 결과: " + num); // 1

📖 3) 증감 연산자

  • 변수를 1씩 증가 ++ / 1씩 감소 -- 시킬때

📌 전위연산 (++i) - 연산 후 사용

// 전위 연산(++i) - 연산 후 사용
	int intBox = 5;
	System.out.println("(++intBox) = " + (++intBox)); //6

📌 후위연산 (i++) - 사용 후 연산

// 후위 연산(i++) -  사용 후 연산 (다음 줄부터 적용)
	int intBox2 = 5;
    System.out.println("(intBox2++) = " + (intBox2++)); //5
    System.out.println("intBox2 = " + intBox2); //6

📖 4) 비교 연산자

📌 같음 연산자 ( == )

// 같음연산자(=) 같으면 true, 다르면 false
	System.out.println("10 == 10 :" + (10 == 10));

📌 다름 연산자 ( != )

// 다름연산자(!=) 다르면 true, 같으면 false
	System.out.println("10 != 5 : " + (10 != 10));

📌 크기 비교 연산자 ( > , < , <= , >= )

 // 크기비교연산자
 	System.out.println("10 < 5 : " + (10 < 5)); //false
	System.out.println("10 >= 10 : " + (10 >= 10)); //true
	System.out.println("10 <= 5 : " + (10 <= 5)); // false

💡 비교 연산자 정리

연산자설명예제결과
==두 값이 같으면 true10 == 10true
!=두 값이 다르면 true10 != 5true
>왼쪽 값이 크면 true10 > 5true
<왼쪽 값이 작으면 true10 < 5false
>=왼쪽 값이 크거나 같으면 true10 >= 10true
<=왼쪽 값이 작거나 같으면 true10 <= 5false

📖 5) 논리 연산자

📌 AND 연산자 ( && )

// AND 연산(&&) - 두 조건이 모두 참일때 true 반환
	System.out.println("true && true: " + (true && true));  // true

📌 OR 연산자 ( || )

// OR 연산(||) - 두 조건중 하나라도 참이라면 true를 반환
	System.out.println("false || true : " + (false || true)); // true

📌 NOT 연산자 ( ! )

// NOT 연산(1) - true -> false , false -> true 로 반환
	System.out.println("!true : " + (!true));

💡 6) 연산자 우선순위

  1. 산술연산
    • 곱셈, 나눗셈이 우선
  2. 비교연산
  3. 논리연산
    • ! => && => ||
  4. 대입연산
  • 연산자 우선순위 예시
System.out.println(10 / 2 + 3 * 2 > 10 || false);
// 실행 순서: ((10 / 2) + (3 * 2)) > 10 || false
// → (5 + 6) > 10 || false
// → 11 > 10 || false
// → true || false
// → true

💡 보기 너무 어렵다,, 괄호를 적극 활용할 것 !


💡 7) 문자열 비교 ( .equals() )

  • == ❌ , .equals() ⭕️
  • 문자열 비교시에는 == 를 사용하지 않는다
    String text1 = "Hello";
    String text2 = "Hello";
    boolean isEqual = text1.equals(text2);
    System.out.println("text1과 text2가 같은가? " + isEqual);
    
    //출력결과:
    text1과 text2가 같은가? true


< 조건문 >



📖 1) if

if (조건) {
	명령문; // 실행 할 말?
}
  • 조건이 true인지 false인지에 따라 명령문의 실행 여부 나뉨


📌 if-else

  • 조건이 false 일때 명령문을 정할 수 있다

📌 else-if

  • 조건이 여러개일 때


💡 if문 예시

String light = "--불"; 

if(light.equals("초록불")) {
	System.out.println("건너세요!"); <--- light가 초록불일때 출력

} else if(light.equals("노란불")) {
	System.out.println("주의하세요!"); <--- light가 노란불일때 출력

} else { 
	System.out.println("멈추세요!"); <--- light가 초록불도 노란불도 아닐때 출력

}

📖 2) switch

switch(단일값) {

	case1:
      // 값 1일 때 실행할 코드
      break ; <--------- ✔️case 뒤에는 break 필수
      
    case2:
      // 값 2일때 실행할 코드
      break ;
      
    default: 
      // 위의 값들과 불일치시 실행할 코드 <--------- ✔️ 말그대로 디폴트! 이도 저도 아닐때 실행될것
}
  • 괄호안에 단일값만 들어갈 수 있다, 조건식 사용 불가❌

  • break : 탈출버튼 / break를 만나면 switch문을 벗어난다
    없으면 fall-through 현상 발생 ( 값이 참인 조건의 코드부터 아래로 쭉 출력 )


    💡switch문 예시

    int number = ?
    
    switch (number) {
    	case 1:
        	System.out.println("1입니다.")
        	break;
        case 2:
        	System.out.println("2입니다.")
            break;
        default :
        	System.out.println("1도 아니고 2도 아닙니다.")
    }


< 반복문 >



📖 1) for

for (시작조건; 종결조건; 조건변화수식) {
	...
}
  • 종결조건
    = i값이 false가 될때까지 반복
    = for문의 종결조건에는 조건문 가능

    int customers = 5;
    
    for (int i = 1; i <= customers; i++) {
    	System.out.println(i + "번째 손님, 안녕하세요!");
    }
    
    //출력
    //1번째 손님, 안녕하세요!
    //2번째 손님, 안녕하세요!
    //3번째 손님, 안녕하세요!
    //4번째 손님, 안녕하세요!
    //5번째 손님, 안녕하세요!

📌 break와 함께 사용

  • break : 탈출버튼 , 반복을 벗어나야 할 때 사용

    for + break 예시
    (음식점에 손님이 아무리 많이 오더라도 3명까지만 환대할 예정)

    int customers = 5;
    
    for (int i = 1; i <= customers; i++) {
    	if (i == 4) {
       	break; --------------> i==4 일때 반복 종료
       }
       System.out.println(i + "번째 손님, 안녕하세요!");
    }
    System.out.println("반복문이 종료되었습니다.")
    
    // 출력 예시:
    1번째 손님, 안녕하세요!
    2번째 손님, 안녕하세요!
    3번째 손님, 안녕하세요!
    반복문이 종료되었습니다.
    

📌 continue

  • continue : 건너뛰기 = skip (스킵하고 계속 진행~~)

  • 특정 회차의 반복을 건너뛸 때 사용

    for + continue 예시
    (손님들 중 2번째 손님한테 인사를 스킵할때)

    int customers = 5;
    
    for (int i = 1; i <= customers; i++) {
    	if (i == 2) {
       	continue; ---------------------> i==2 일때 반복 건너 뛴다
       }
       System.out.println(i + "번째 손님, 안녕하세요!");
    }
    System.out.println("반복문이 종료되었습니다.")
    
    // 출력 예시:
    1번째 손님, 안녕하세요!
    2번째 손님, 안녕하세요!
    3번째 손님, 안녕하세요!
    4번째 손님, 안녕하세요!
    5번째 손님, 안녕하세요!
    반복문이 종료되었습니다.

📖 2) while

while (종결조건) {
	반복할 명령문;
}
  • 종결조건false가 될 때까지 반복 => 무한루프 조심

    [ 예시 ]

    int i = 1;
    while (i <= 10) { // 1은 10보다 작음으로 반복!
    		System.out.println("i 가 10 보다 작습니다.");
    		i++; // ✅ 없을 경우 무한루프 발생
    }

📖 3) do-while

do {
	반복할 명령문
} while (종결 조건)
  • while과 비슷하지만 종결조건을 반복 전이 아니라 반복 후에 체크한다

[ 예시 ]

int i = 1;
do {
		System.out.println("안녕하세요.");
		i++;
} while (i <= 10);

0개의 댓글