javascript는 interpreter 언어
개발자가 변수에 할당한 데이터의 종류판단을 한 줄 한 줄 실행할 때마다 해석
(즉시 읽고 즉시 해석한다. 브라우저로 실행할 때마다.. 매번...)
수시로 데이터를 바꾸면서 그 결과를 확인할 때는 good
java는 compile 언어
javac(컴파일러)가 자료형에 대한 판단을 ‘실행 전 문법 검사 시’에 시도
그 결과를 파일로 저장해놓고(.class 파일) 프로그램을 실행할 때는 두 번 다시 자료형이나 문법에 대한 판단x
이 .class 파일은 실행할 때 JVM(Java Virtual Machine) 이 읽어서 실행합니다.
.java 파일 → 사람이 읽는 코드 (Source code, 인간용)
.class 파일 → JVM이 읽는 바이트코드 (기계어는 아니고, JVM용 기계어 같은 거)
javac Test.java (컴파일)
java Test (실행)
ls (list 현재 작업 중인 폴더에 있는 파일과 디렉터리 이름들을 쭉 나열해서 보여줌)
public static void main(String[] args)
[하나씩 해석]
public
: 어디서든 호출할 수 있다 (접근 제한 없음)
static
: 객체를 만들지 않고 바로 실행 가능하다
void
: 돌려주는(return) 값이 없다
main
: 자바 프로그램이 시작하는 특별한 이름
(String[] args)
: 문자열 배열 매개변수 (명령줄에서 값을 넘길 때 사용)
class Test2{
// 자바의 실행부. 이 함수가 없다면 java.exe의 대상이 될 수 없다 (메인메서드)
// =실행될 수 없다
public static void main(String[] args){
String str = "대한민국";
System.out.println(str);
}
}
java도 기존 언어의 전통을 이어받았기 때문에
기본 자료형은 문자, 숫자, 논리값 3가지
char
문자는 ‘작은 따옴표(’ ’) 안에 표기문자열 자료형 String
(사실 클래스인데 워낙 자주 써서 기본형처럼 사용할 수 있게 특별 취급 ) 문자열은 큰 따옴표(” “)안에 표기
String str = "대한민국"; // 두 글자 이상의 문자집합을 '문자열'이라고 함
자바의 논리값은 js 및 다른 언어와 동일 T/F
boolean
b = true;
※주의: 다른 언어에서는 1이 true, 0이 false를 대신할 수 있지만
자바는 철저히 T/F로 표기해야함
자바의 숫자형은 크게 정수와 소수점을 지원하는 실수로 구분
정수는 용량에 따라 byte
< short
< int
< long
실수는 float
< double
int
x = 75;
y = 5.6; // 자바에서는 개발자가 소수점만 적으면 무조건 double
로 생각하므로
float
쓰고싶으면 float z=7.2f
왜
double
을 기본으로 할까?
double은 float보다 정밀도가 높아서(=더 많은 소수점 정확도를 가짐), 자바는 더 안전하고 정확한 계산을 기본으로 하기 위해 소수는 double로 취급함
자바로 구구단 출력하기
class Test{
public static void main(String[] args){
for(int i=2; i<10; i++){
for(int n=1; n<10; n++){
System.out.println(i+"*"+n+"="+(i*n));
}
}
}
}