// 더하기 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 이므로 홀수
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
++ / 1씩 감소 -- 시킬때// 전위 연산(++i) - 연산 후 사용 int intBox = 5; System.out.println("(++intBox) = " + (++intBox)); //6
// 후위 연산(i++) - 사용 후 연산 (다음 줄부터 적용) int intBox2 = 5; System.out.println("(intBox2++) = " + (intBox2++)); //5 System.out.println("intBox2 = " + intBox2); //6
// 같음연산자(=) 같으면 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
| 연산자 | 설명 | 예제 | 결과 |
|---|---|---|---|
== | 두 값이 같으면 true | 10 == 10 | true |
!= | 두 값이 다르면 true | 10 != 5 | true |
> | 왼쪽 값이 크면 true | 10 > 5 | true |
< | 왼쪽 값이 작으면 true | 10 < 5 | false |
>= | 왼쪽 값이 크거나 같으면 true | 10 >= 10 | true |
<= | 왼쪽 값이 작거나 같으면 true | 10 <= 5 | false |
// AND 연산(&&) - 두 조건이 모두 참일때 true 반환 System.out.println("true && true: " + (true && true)); // true
// OR 연산(||) - 두 조건중 하나라도 참이라면 true를 반환 System.out.println("false || true : " + (false || true)); // true
// NOT 연산(1) - true -> false , false -> true 로 반환 System.out.println("!true : " + (!true));
! => && => ||
- 연산자 우선순위 예시
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💡 보기 너무 어렵다,, 괄호를 적극 활용할 것 !
.equals() )== ❌ , .equals() ⭕️== 를 사용하지 않는다String text1 = "Hello"; String text2 = "Hello"; boolean isEqual = text1.equals(text2); System.out.println("text1과 text2가 같은가? " + isEqual); //출력결과: text1과 text2가 같은가? true
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가 초록불도 노란불도 아닐때 출력 }
switch 문switch(단일값) {
case 값1:
// 값 1일 때 실행할 코드
break ; <--------- ✔️case 뒤에는 break 필수
case 값2:
// 값 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도 아닙니다.") }
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번째 손님, 안녕하세요! 반복문이 종료되었습니다.
whilewhile (종결조건) {
반복할 명령문;
}
종결조건 이 false가 될 때까지 반복 => 무한루프 조심[ 예시 ]
int i = 1; while (i <= 10) { // 1은 10보다 작음으로 반복! System.out.println("i 가 10 보다 작습니다."); i++; // ✅ 없을 경우 무한루프 발생 }
do-whiledo {
반복할 명령문
} while (종결 조건)
while과 비슷하지만 종결조건을 반복 전이 아니라 반복 후에 체크한다[ 예시 ]
int i = 1; do { System.out.println("안녕하세요."); i++; } while (i <= 10);