장점
- 자바는 운영체제와는 독립적으로 실행할 수 있다
- 자바는 불필요한 기능을 과감히 제거하여 다른 언어에 비해 배우기가 쉽다.
- 자바는 자동 메모리 관리 등을 지원하여 다른 언어에 비해 안정성이 높다.
- 자바는 연산자 오버로딩을 금지하고 제네릭을 도입함으로써 코드의 가독성이 높다
- 자바에 관한 수많은 참고 자료를 찾을 수 있다.
단점
- 자바는 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느립니다.
- 자바는 예외 처리가 잘 되어 있지만, 개발자가 일일이 처리를 지정해 줘야 한다는 불편함이 있습니다.
- 자바는 다른 언어에 비해 작성해야 하는 코드의 길이가 긴 편입니다.
// 증감 연산자
int x = 10;
int y = 5;
System.out.println(x++);
// x의 값을 출력 후 1 증가. → 10 출력 후 x값 증가 (x = 11)
System.out.println(++x);
// x의 값을 1 증가시킨 후 출력. → x값 증가 (x = 12) 후 12 출력
System.out.println(y--);
// y의 값을 출력 후 1 감소. → 5 출력 후 y값 감소 (y = 4)
System.out.println(--y);
// y의 값을 1 감소시킨 후 출력. → y값 감소 (y = 3) 후 3 출력
// 산술 연산자
int x = 10;
int y = 3;
System.out.println(x + y);
// x 와 y의 더한 값을 출력 (13)
System.out.println(x - y);
// x 와 y의 뺀 값을 출력 (7)
System.out.println(x * y);
// x 와 y의 곱한 값을 출력 (30)
System.out.println(x / y);
// x 와 y의 나눈 몫을 출력 (3)
System.out.println(x % y);
// x 와 y의 나눈 나머지를 출력 (1)
// 비교 연산자
int x = 10;
int y = 5;
int z = 15;
System.out.println(x > y);
// x의 값이 y보다 크기 때문에 true가 출력됨
System.out.println(x < z);
// x의 값이 z보다 작기 때문에 true가 출력됨
System.out.println(x >= y);
// x의 값이 y보다 크거나 같기 때문에 true가 출력됨
System.out.println(x <= z);
// x의 값이 z보다 작거나 같기 때문에 true가 출력됨
System.out.println(x == 10);
// x의 값이 10과 같기 때문에 true가 출력됨
System.out.println(x != z);
// x의 값이 z와 같지 않기 때문에 true가 출력됨
System.out.println(y > x);
// y의 값이 x보다 작기 때문에 false가 출력됨
System.out.println(z < x);
// z의 값이 x보다 크기 때문에 false가 출력됨
System.out.println(y >= x);
// y의 값이 x보다 크거나 같지 않기 때문에 false가 출력됨
System.out.println(z <= x);
// z의 값이 x보다 작거나 같지 않기 때문에 false가 출력됨
System.out.println(y == 10);
// y의 값이 10과 같지 않기 때문에 false가 출력됨
System.out.println(z != 15);
// z의 값이 15가 맞기 때문에 false가 출력됨
int x = 10;
int y = 5;
int z = 15;
System.out.println(x < y && z > y);
// x는 y보다 크기 때문 false
// z는 y보다 크기 때문 true
// false와 true는 and(논리곱)으로 했을 때는 false 출력
System.out.println(x < y || z > y);
// x는 y보다 크기 때문 false
// z는 y보다 크기 때문 true
// false와 true는 or(논리합)으로 했을 때는 true 출력
System.out.println(!(x < y));
// x는 y보다 크기 때문 false
// false는 not(논리부정)으로 했을 때는 true 출력
int x = 10;
int y = 3;
int z = 20;
System.out.println(x = y);
// y의 값을 x에 대입하여 x = 3가 된다.
// x = 3
System.out.println(x += y);
// x = 3이고 y = 3이므로 x = 3 + 3 = 6이 된다.
// x = 6
System.out.println(x -= y);
// x = 6이고 y = 3이므로 x = 6 - 3 = 3이 된다.
// x = 3
System.out.println(x *= y);
// x = 3이고 y = 3이므로 x = 3 * 3 = 9이 된다.
// x = 9
System.out.println(x /= y);
// x = 9이고 y = 3이므로 x = 9 / 3 = 3이 된다
// x = 3
System.out.println(z %= x);
// z = 20이고 x = 3이므로 z = 20 % 3 = 2가 된다.
// z = 2