오늘부터 본격적으로 java 문법을 공부하였습니다.
기초적인 부분부터 문법적인 부분을 세세히 공부하였습니다.
아는 부분도 있고 모르는 부분도 있기에 다 꼼꼼히 보았습니다.
package chapter1.operator;
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);
// 나눗셈
int div = a / b;
System.out.println("div = " + div); // 소수점이 버려짐
double div2 = a / 3.0;
System.out.println("div2 = " + div2); // 소수점이 유지됨.
// 모듈러(%) 연산자 (나머지 연산)
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
// 시간 연산
// 현재 시간이 10시인데 5시간 후면 몇 시일까요?
// (10 + 5) % 12 = 3
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;
System.out.println("변수 num의 값 = " + 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
// 증감 연산자
//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
// 전위 연산 (++i) 연산 후 값이 활용됩니다.
int intBox = 5;
System.out.println("intBox : " + (++intBox)); // 6 (먼저 증가 후 출력)
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
// 다름 연산자 두 값이 다르면 true, 같으면 false
System.out.println("10 != 5 : " + (10 != 5)); // true
// 크기 비교 연산자 논리가 맞으면 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
// 논리 연산자
// 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
// OR 연산자(||) - 두 조건 중 하나라도 참이라면 true를 반환
System.out.println("true || false : " + (true || false)); // true
System.out.println("false || false : " + (false || false)); // false
System.out.println("true || false : " + (true || true)); // true
// NOT 연산자(!) - true 일때 false로, false일때 true로 변경
System.out.println("!true : " + (!true)); // false
System.out.println("!false : " + (!false)); // true
// 연산자 우선순위
// 산술 연산자 우선순위
System.out.println(10 - 3 * 2);
// 실행 순서 : 10 - (3 * 2)
// -> 10 - 6
// -> 4
// 기본 연산자 우선순위 ( 산술 -> 비교 -> 논리 -> 대입 )
boolean flag = 10 + 5 > 12 && true;
System.out.println(flag);
// 실행 순서 : ( 10 + 5 ) > 12 && true : 산술
// -> 15 > 12 && true : 비교
// -> true && true : 논리
// -> flag = true 대입
// 비교 연산자와 산술 연산자의 우선순위
System.out.println(10 - 3 > 5 + 1);
// 실행 순서 : (10 - 3) > (5 + 1) : 산술
// -> 7 > 6 : 비교
// -> true
// 논리 연산자 우선순위 ( ! -> && -> || )
}
}
-while문
while (종결조건) {
반복할 명령문;
}
-do-while문
do {
반복할 명령문
} while (종결 조건)