1) 완전한 객체 지향 언어.
객체지향의 특성인 상속, 캡슐화, 다형성 등의 개념이 잘 적용된 언어이고 코드의 재사용 및 유지보수에 용이하다.
2) 운영체제에 독립적.
컴퓨터는 여러가지 운영체제가 사용되고 있다. 일반적으로 window에서 생성된 소프트웨어는 다른 운영체제에서 실행될수 없게 되는것이 일반적이지만 자바프로그램은 JVM이 구축된 환경이라면 운영체제와 관계없이 실행 시킬 수 있다.
int num;
int num1;
num = 5;
num1 = 10;
int num = 5;
int num1 = 10;
boolean은 true, false 거짓 중의 한가지만 갖는다.
boolean t = true;
boolean f = false;
char는 홑따옴표(')로 감싸진 한 글자만 대입 가능하다.
char one = '일';
long, float, double은 다른 데이터 형과의 구별을 위해 값 뒤에 데이터형의 첫 글자를 접미사로 가질 수 있다. (접미사는 대/소문자 자리지 않지만 가급적 대문자로 사용한다.)
long money = 1000000L;
float pi = 3.14F;
double pi = 3.1425D;
int num = 10;
num = 20; // 가능, 생성된 변수는 다른 변수에 대입될 수 있다.
int num = 30; // 불가능, 중복 선언된 변수이므로 에러
int num = 10;
num = 20;
num1 = 30; // 불가능, 선언되지 않은 변수이므로 에러
int num;
int num1 = num; // 불가능, 값이 없는 변수를 대입하여 에러
system.out.println(num); // 불가능, 값이 없는 변수를 출력해 에러
final int age = 25;
final bouble pi = 3.14D;
age = 23; // 불가능, 상수의 값을 변경하므로 에러
더하기(+), 빼기(-), 곱하기(*), 나눗셈의 몫(/), 나머지(%)
더하기(+)
1. String이 덧셈에 사용되면 결과는 String으로 나오고, 다른 연산은 불가능하다.
int age = 20;
Stirng name = "학생";
String result = name + age; // "학생20"
빼기(-) , 곱하기(*)
1. String은 곱셈 연산이 불가능하다.
2. char는 아스키코드에 부여된 int로 해석한다.
나누기(/)
1. int / int -> int(몫)
5 / 2 -> 2
2. char는 아스키코드에 부여된 int로 해석한다.
3. 0으로 나눌 수 없다.(오류발생)
나머지(%)
1. 나머지를 계산한다.
int % int -> int(나머지)
5 % 2 -> 1
✔︎ 연산자가 여러개가 사용되었을 경우 연산자의 우선운위에 따라 해석하고, 연산자의 우선순위가 같다면 앞에서부터 해석한다.
int num = 100;
num = num + 50; // 105
num += 50; // 105
+=, -+, *=, /=, %=
- 덧셈(+)
x = x + 1;
x += 1;
x++;
++x;- 뺄셈(-)
x = x - 1;
x -= 1;
x--;
--x;
- 후위형
x = x +1 // x += 1 // x++
x = x -1 // x -= 1 // x--- 전위형
++x
--x
증감연산자는 표시 위치에 따라 결과가 서로 다르게 적용된다.
boolean r = x 비교연산자 y;
int x = 100;
int y = 1;
booean r = x > y; // true
A | B | A and B | A or B |
---|---|---|---|
False | False | False | False |
False | True | False | True |
True | False | False | True |
True | True | True | True |
int a = 10; // 정수형
flaot b = a; // 정수형을 실수형에 대입한다
-> 암묵적 형변환은 어떤 변수가 더 큰 범위의 변수로 대입 가능함을 의미한다.
데이터의 손실을 감수하더라도, 강제로 형변환 시키는 형태
자료형 b = (변환할 자료형) a ;
실수형을 정수형으로 변환하는 경우, 소수점 이하 자리는 버려진다.
double a = 3.14d;
int b = (int) a; // 결과는 3