결론, 우리는 Java를 사용하여 기계의 기종별 즉,운영체제에 구애받지 않고 개발을 할 수 있게 되었습니다.
자바의 컴파일 특성
Java는 javac에 의해 바이트코드로 컴파일 되지만 JVM에서는 인터프리터로 실행된다.
그러므로 Compile 언어이지만, Interpreter 언어의 특징을 동시에 가집니다.
변수
단 하나의 값을 저장할 수 있는 메모리 공간을 의미
변수 공간에 기록된 값은 고정되어 있지 않고, 다른 값이 기록되면 자동으로 덮어 씌워질 수 있다.
메모리에 값을 저장하거나 읽을 때 해당메모리 주소를 사용해야 하는데
사람이 사용하기에는 불편하기 때문에
특정 메모리 영역에 이름을 붙이고주소 대신에 이름을 사용해서
메모리에 값을 저장하고 읽을 수 있게 한 것이변수입니다.
리터럴의 접두사와 접미사
정수형의 int, 실수형의 double은 기본형이기 때문에 접미사를 붙이지 않고,
long 타입은 구분을 위해 100L 처럼 리터럴 마지막에 접미사로 L을 붙인다.
float의 리터럴에는 f, double의 리터럴에는 d가 붙는다.
실수형은 2개 밖에 존재하지 않기 때문에 접미사 f를 사용하면 구분을 할 수 있어서 접미사 d는 생략을 허용
참조형
class Variable3_5 {
public static void main(String[] args) {
// Date import 필요!
Date date; // 참조형 변수 date 를 선언
date = new Date(); // date 에 객체의 주소를 저장 , new 는 객체를 생성하는 명령어
System.out.println(date); // Wed Jan 11 20:54:45 KST 2023
}
}
문자열 결합
class Variable4_2 {
public static void main(String[] args) {
String s1 = "A" + "B"; // "AB"
System.out.println("s1 = " + s1);
// 문자열은 문자열하고만 결합할 수 있기 때문에
// 숫자를 문자열로 바꾼 다음에 결합 합니다.
String s2 = "" + 7;
// "" + 7 => "" + "7" = "7"
System.out.println("s2 = " + s2);
// 문자열 결합 순서에 의한 차이 확인!
String s3 = "" + 7 + 7;
// "" + 7 + 7 => "7" + 7 => "7" + "7" = "77"
System.out.println("s3 = " + s3);
String s4 = 7 + 7 + "";
// 7 + 7 + "" => 14 + "" = "14"
System.out.println("s4 = " + s4);
}
}