Spring & Java
[3일차] [내일배움캠프 사전캠프] + 스타터 노트 작성하기 본문
● JAVA 1- 6 연산자 - 계산의 시작.
< 기본 사칙연산 코드 >
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 3;
// 더하기
int sum = a + b;
System.out.println("sum = " + sum);
// 빼기
int sub = a - b;
System.out.println("sub = " + sub);
// 곱하기
int mul = a * b;
System.out.println("mul = " + mul);
// 나숫셈 (정수형 나누기)
// 10 / 3
int div = a / b;
System.out.println("div = " + div);
// a / 3.0 (소수점 나누기) double
double div2 = a / 3.0;
System.out.println("div2 = " + div2);
// 모듈러 연산자 ( 나머지 연산 ) - % -- mod
int mod = 10 % 3;
System.out.println("mod = " + mod);
int mod2 = 15 % 4;
System.out.println("mod2 = " + mod2);
int mod3 = 20 % 7;
System.out.println("mod3 = " + mod3);
// 시간 연산을 위해
int mod4 = (10 + 5) % 12;
System.out.println("mod4 = " + mod4);
// 짝수 홀수 연산
int mod5 = 6 % 2;
System.out.println("mod5 = " + mod5);
int mod6 = 7 % 2;
System.out.println("mod6 = " + mod6);
// 대입 연산자
int num = 5;
// 복합 대입 연산자 ( 난이도 상승 구간)
num += 3; // num = num + 3; * 이런 말이란 뜻이라는데 이해 안감
System.out.println("num = " + num);
num -= 2; // num = num - 2; * 쉽게 말해서 5 + 3 = 8 - 2 라는 말임 지금 6이 또 내려감
System.out.println("num = " + num);
num *= 2; // num = num * 2; * 이건 6 * 2 라는 소리고 12가 값임
System.out.println("num = " + num);
num /= 3; // num = num / 3; * 12 / 3 = 4라는 값이 나오게 되는거고
System.out.println("num = " + num);
num %= 3; // num = num % 3; * 4 % 3 = 1이란 값이 나오는 굉장히 편리한 기능임 다만, 복합 구도라 심화 복습이 필수임!
System.out.println("num = " + num);
// 증감 연산자 ( 실무에서 자주 활용 됨 )
num = 1;
num++; // +1 num 값이 +1 증가 된다는 말임
num++; // +1
num--; // -1
num--; // -1
System.out.println("num = " + num);
// 증감 연산자는 변수 앞에 붙을수 있고 뒤에 붙을수 있는데
// 앞에 붙는것이 전위 연산자 (++i) = 연산 후 값이 활용 된다.
int intbox = 5;
System.out.println("++intbox = " + (++intbox));
// 후위 연산
int intbox2 = 5;
System.out.println("intbox2++ = " + (intbox2++)); // 5 값을 먼저 활용하고 > 그 다음 num 값을 넣는건데 와 혼란스럽다.. 연습 하자 이거
System.out.println("intbox2 = " + intbox2);
// 비교 연산자 = 두값이 같은지 크거나 작은지 비교 할 때 사용된다.
// 같음 연산자(=) 두 값이 같으면 true, 다르면 false
System.out.println("10 == 10: " + (10 == 10)); // 10 과 10이 같으니 true로 나온다.
// 다름 연산자 (!=) 다르면 true, 같으면 false
System.out.println("10 != 5 = " +(10 != 5));
// 크기 비교 연산자
System.out.println("10 < 5: " + (10 < 5 )); // flase
System.out.println("10 >= 10: " + ( 10 >= 10 )); // true
System.out.println("10 <= 5: " + ( 10 <= 5 )); // false
// 논리연산자
// AND 연산 ( && ) - 두 조건이 모두 참일때 true 반환한다.
System.out.println("true && true = " + (true && true)); // true
int age = 20;
boolean isStudent = true;
System.out.println("age: = " + ((age > 18) && isStudent));
// [!] 정리 : 나이 20이랑 18을 비교 했을때 20이 18보다 크다.
// [답] : age: = true
// 예시 두 조건이 다르게 반환 할 경우 false가 나오는지 테스트 해보기
// 테스트 1
int age1 = 20;
boolean isStudent2 = false;
System.out.println("age1: = " + (( age < 19) && isStudent2));
// [정리] : 20이랑 19를 비교 했을때 19는 더 작다 변수는 20 < 19
// [답] : age1: = false
// OR 연산 ( || ) - 두 조건중 하나라도 참이라면 true 를 반환한다.
System.out.println("fales || true: = " + (false || true));
// [정리] : false || ture 를 비교 했을때 하나가 참인 경우 true반환 한다.
// [답] : fales || true: = true
// NOT 연산자(!) - true -> false , false -> true.
System.out.println("!ture: = " + (!true));
// [정리] : 값이 true 일때 false를 반환
// [답] : !ture: = false
System.out.println("!false: = " + (!false));
// [정리] : 값이 false 일때 true를 반환
// [답] : false: = true
// 기본 연산자 우선순위
// 산술 -> 비교 -> 논리 -> 대입
boolean flag = ((10 + 5) > 12) && true;
System.out.println(flag);
// [정리] : 10 + 5 > 12 // 15는 12보다 크다
// [답] = true
// 논리 연산사 우선순위
boolean result = true || (false && false);
System.out.println("result = " + result);
// [답] = result = true
boolean result2 = true || (false && (!false));
System.out.println("result2 = " + result2);
System.out.println((10 / 2) + (3 * 2) > 10 || false);
// 실행 순서 : 10 / 2 + 3 * 2 = 11 > 10 == true
// 문자열비교 (equals() 활용한다.)
String text = "hello";
String text2 = "Hello";
// 나쁜예: (text == text2)*
boolean isEqual = text.equals(text2);
System.out.println("isEqual = " + isEqual);
// [정리] : 두 값이 문자열로 다를땐 isEqual 사용으로 결과 값을 도출 한다.
// [답] : isEqual = false
}
}
결과 값
sum = 13
sub = 7
mul = 30
div = 3
div2 = 3.3333333333333335
mod = 1
mod2 = 3
mod3 = 6
mod4 = 3
mod5 = 0
mod6 = 1
num = 8
num = 6
num = 12
num = 4
num = 1
num = 1
++intbox = 6
intbox2++ = 5
intbox2 = 6
10 == 10: true
10 != 5 = true
10 < 5: false
10 >= 10: true
10 <= 5: false
true && true = true
age: = true
age1: = false
fales || true: = true
!ture: = false
!false: = true
true
result = true
result2 = true
true
isEqual = false
● JAVA 1- 6 연산자 학습 메모 및 정리
산술연산자 (1)
( +, - , * , /, %)
대입연산자 (2)
(=)
복합 연산자 (3)
( +=, -=, *=, /=, %=)
증감 연산자 (++, --) (4)
ㄴ 전위 연산 - 사용 전 연산
ㄴ 후위 연산 - 사용 후 연산
비교 연산자 (5)
( == , != , < , >, <=, >= )
논리 연산자 (6)
( ! , && , || )
연산자 우선순위 (7)
문지열비교 (equals()) (8)
(1) 산술 연산자
기본적인 사칙연산
int a = 10;
int b = 3;
// 기본 사칙연산
int sum = a + b;
System.out.println("sum = " + sum);
int sub = a - b;
System.out.println("sub = " + sub);
int mul = a * b;
System.out.println("mul = " + mul);
(1 - 2) 나눗셈
● 정수끼리 나누게 되면 소수점이 버려집니다.
● 소수점을 유지 하려면 소수점과 연산을 시켜야 합니다.
int a = 10;
int b = 3;
...
int div = a / b;
System.out.println("div = " + div); // ⚠️ 3 (소수점 버려짐)
double div2 = a / 3.0;
System.out.println("div2 = " + div2); // ✅ 3.333... (소수점 유지)
(1 - 3) 모듈러 연산자 (나머지 연산)
● 모듈러(%) 연산자는 나머지를 구할 때 유용합니다.
int mod = 10 % 3;
System.out.println("mod = " + mod); // 나머지: 1
int mod2 = 15 % 4;
System.out.println("mod2 = " + mod2); // 나머지: 3
int mod3 = 20 % 7;
System.out.println("mod3 = " + mod3); // 나머지: 6
[TIP] 모듈러 연산은 여러 곳에서 잘 활용 됩니다.
[1] 현재 시간이 10시인데 5시간 후면 몇 시 일까요?
(10 + 5) % 12 = 3
[2] 짝수 / 홀수 판별 하기
6 % 2 = 0; // 짝수
7 % 2 = 1; // 홀수
(2) 대입연산자 (=)
● 대입연산자 (=)는 변수에 값을 할당하는데 사용 됩니다.
● 연산자 중에 제일 마지막에 수행 됩니다. [!]
int num = 5;
System.out.println("변수 num의 값: " + num); // 5
(3) 복합 대입 연산자
● 복합대입연산자는 누적 값을 구할때 자주 활용 될 수 있습니다.
● 처음 보면 어렵지만 풀어서 작성해 보면 금방 이해할 수 있습니다.
● num이 5일때 num+= 3; 의 의미는 num = num + 3; 입니다.
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
(4) 증감 연산자
● 증감 연산자는 변수를 1증가 (++) 또는 1 감소 (--) 시킬 때 사용되며 실무에서도 자주 활용 됩니다.
● 또한 전위 연산 (++i)과 후위 연산 (i++)의 차이가 있기 때문에 개념을 정확히 이해하는 것이 중요합니다.
전위 연산 : 연산 후 사용 됩니다.
후위 연산 : 사용 후 연산 됩니다.
int num = 1;
System.out.println("num: " + num); // 1
num++; // 값을 1 증가 시킴 num = num + 1;
System.out.println("num++ 실행 후: " + num); // 2
num--; // 값을 1감소시킴 num = num - 1;
System.out.println("num-- 실행 후: " + num); // 1
(4 - 1) 전위 연산( ++i ) vs 후위 연산 ( i++ )
증감 연산자는 변수 앞 ( ++i ) 에 위치하는지 뒤 ( i++ )에 위치하는 지에 따라 실행 순서가 달라집니다.
전위 연산 ( ++i )
● 연산 후 값이 사용 된다.
int a = 5;
System.out.println("++a: " + (++a)); // 6 (먼저 증가 후 출력)
System.out.println("현재 a 값: " + a); // 6
후위 연산 ( i++ )
● 값이 사용된 후 연산 된다.
int b = 5;
System.out.println("b++: " + (b++)); // 5 (출력 후 증가)
System.out.println("현재 b 값: " + b); // 6
(5) 비교 연산자
: 두 값이 같은지 다른지 크거나 작은지 비교할 때 사용 된다.
(5 - 1) 같음 연산자 ( == )
● 두 값이 같으면 true, 다르면 false를 반환 한다.
System.out.println("10 == 10: " + (10 == 10)); // true
(5 - 2) 다름 연산자 ( != )
● 두 값이 다르면 true, 같으면 false를 반환한다.
System.out.println("10 != 5: " + (10 != 5)); // true
(5 - 3) 크기 비교 연산자
● 양쪽의 값을 비교 했을때 논리에 맞으면 true를 반환
● 논리에 어긋나면 false를 반환합니다.
System.out.println("10 < 5: " + (10 < 5)); // false
System.out.println("10 >= 10: " + (10 >= 10)); // true
System.out.println("10 <= 5: " + (10 <= 5)); // false
6.논리 연산자 ( AND, OR , NOT 연산자 )
(6 - 1) AND 연산자 ( && )는 두 조건이 모두 참일 때 true를 반환 합니다.
System.out.println("true && true: " + (true && true)); // true
System.out.println("true && false: " + (true && false)); // false
System.out.println("false && false: " + (false && false)); // false
int age = 20;
boolean isStudent = true;
System.out.println(age > 18 && isStudent); // true
(6 - 2) OR 연산자 ( || ) 둘 중 하나라도 참이면 true를 반환합니다.
System.out.println("true || false: " + (true || false)); // true
System.out.println("false || false: " + (false || false)); // false
System.out.println("true || true: " + (true || true)); // true
int age = 20;
boolean isStudent = true;
System.out.println(age > 18 || isStudent); // true
(6 - 3) NOT 연산자 (!) ture 일때 false로, false 일때 true로 변경 합니다.
true -> false
false -> true
System.out.println("!true: " + (!true)); // false
System.out.println("!false: " + (!false)); // true
int age = 20;
boolean isStudent = true;
System.out.println(age > 18 && isStudent); // true
(7) 연산자 우선순위
[!] 우선순위가 헷갈린다면 프로그래밍에 괄호()를 적극적으로 사용하는 것이 좋다.
2 + 3 * 4; // 헷갈릴 수 있음
2 + (3 * 4) // 명확함
(7 - 1) 산술 연산자 우선순위
● 기본적인 수학 사칙연산 우선순위가 적용 된다.
System.out.println(10 - 3 * 2);
// 실행 순서: 10 - (3 * 2)
// → 10 - 6
// → 4
(7 - 2) 기본 연산자 우선순위
● 산술 > 비교 > 논리 > 대입
boolean flag = 10 + 5 > 12 && true;
System.out.println(flag);
// 실행 순서: (10 + 5) > 12 && true : 산술
// → 15 > 12 && true : 비교
// → true && true : 논리
// → flag = true 대입
(7 - 3) 비교연산자 산술 연산자의 우선순위
System.out.println(10 - 3 > 5 + 1);
// 실행 순서: (10 - 3) > (5 + 1) : 산술
// → 7 > 6 : 비교
// → true
(7 - 4) 논리 연산자 우선순위
● ( ! ) > ( && ) > ( || )
● ( ! )가 제일 먼저 연산 됩니다. 두번째로 ( && ) 연산 됩니다. 세번째로 ( || ) 연산 됩니다.
boolean result = true || false && false;
boolean result = true || false && !false;
// 실행 순서: true || (false && false)
// → true || false
// → true
(7 - 5) 우선 순위를 생각 하기
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
System.out.println(5 + 3 > 2 * 4 && 10 % 3 == 1);
// 실행 순서: (5 + 3) > (2 * 4) && (10 % 3) == 1
// → 8 > 8 && 1 == 1
// → false && true
// → false
8. 문자열 비교
● 실무에서 문자열을 비교할 때 ==를 사용하는 경우는 거의 없음.
● 문자열 비교는 항상 .equals()를 활용 하기. (동등성/동일성 문제)
String text1 = "Hello";
String text2 = "Hello";
boolean isEqual = text1.equals(text2);
System.out.println("text1과 text2가 같은가? " + isEqual);
//출력결과:
text1과 text2가 같은가? true
< 실습 과제 >
public class Main {
public static void main(String[] args) {
int a; // 값 할당 필요
int b; // 값 할당 필요
// 1. 더하기
// 1. 더하기 결과 출력
// 2. 빼기
// 2. 빼기 결과 출력
//....
}
}
public class Main {
public static void main(String[] args) {
int a = 15;
int b = 4;
int sum = a + b;
int difference = a - b;
int product = a * b;
int quotient = a / b;
int remainder = a % b;
System.out.println("덧셈 결과: " + sum);
System.out.println("뺄셈 결과: " + difference);
System.out.println("곱셈 결과: " + product);
System.out.println("나눗셈 결과: " + quotient);
System.out.println("나머지 결과: " + remainder);
}
}
< 결과 >
덧셈 결과 : 19
뺄셈 결과 : 11
곱셈 결과 : 60
나눗셈 결과 : 3
나머지 결과 : 3
● JAVA 1- 7 조건문 - 프로그램의 선택지
● 조건문 ( if, if-else, else-if) 활용 해보기
package chapter1.work;
import java.util.Scanner;
public class sports {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sports = 0;
System.out.println(" 매일 몇시에 운동 하실건가요?");
System.out.println(" 저희는 매일 시간대에 따라 운영 시간이 다릅니다.");
System.out.println(" 고객님의 운동 시간을 숫자로 기입 해주세요 그럼 언제 운동시간인지 알수 있습니다.");
System.out.println(" 시간 기입 : ");
sports = scanner.nextInt();
if (sports >= 0 && sports <= 6) {
System.out.println("그 시간대는 새벽이므로 신청 할 수 없습니다.");
} else if (sports >= 7 && sports <= 11) {
System.out.println("그 시간대는 오전 운동 시간입니다.");
} else if (sports >= 12 && sports <= 18) {
System.out.println("그 시간대는 점심 운동 시간입니다.");
} else if (sports >= 19 && sports <= 22) {
System.out.println("그 시간대는 저녁 운동시간 입니다.");
} else if (sports >= 23 && sports <= 24) {
System.out.println("그 시간대는 야간 운동시간 입니다.");
}
else
System.out.println("0부터 24 사이 시간대를 숫자로 입력해주세요."); // 24 이상의 초과값 입력시 나오는 문구
}
}
- swich, break 구문 활용법을 아직 모르겠음.
'내일배움캠프 사전 학습' 카테고리의 다른 글
| [5일차] [내일배움캠프 사전캠프] + 스타터 노트 작성하기 (0) | 2025.11.14 |
|---|---|
| [5일차] [내일배움캠프 사전캠프] + 반복문 숙제 (0) | 2025.11.14 |
| [4일차] [내일배움캠프 사전캠프] + 스타터 노트 작성하기 (0) | 2025.11.13 |
| [2일차] [내일배움캠프 사전캠프] + 스타터 노트 작성하기 (0) | 2025.11.11 |
| [1일차] [내일배움캠프 사전캠프] + 스타터 노트 작성하기 (0) | 2025.11.10 |