public 클래스는 여러 개일 수 없다
- 대소문자 구분
- 특수문자는 언더바와 달러(_$)만 가능
- 클래스 이름은 대문자로 시작
- 변수와 함수 이름은 소문자로 시작
- 띄어쓰기 X, 붙여 쓰고 대문자로 표기
String hello world; //(X) String helloWorld; //(O)
- 상수의 이름은 모두 대문자, 띄워쓰기는 언더바
static final int THE_2ND_WORLD_WAR = 1939;
- 영어로 작성
(유니코드를 인식하지 못하는 OS도 있음)class 자동차 {}; // 가능하지만 비추천 class car {}; //(O)
정수형의 default는 int,
실수형의 default는 double
-> long, float 등 default가 아닌 자료형을 쓸 때는 뒤에 문자를 붙여야 함
기본형
- 변수에 값이 저장된다
참조형
- 변수에 주소가 저장된다
리터럴
- 특정한 자료형의 값을 직접 표현한 것
public class S01 {
public static void main(String[] args) {
System.out.println(65);
// 형변환 - 리터럴 앞에 소괄호를 적고 그 안에 타입 입력
// 명시적 형변환
System.out.println((char)65);
// 범위가 적은 데이터 타입에서 큰 타입은 문제 X
System.out.println((double)65);
// 큰 타입에서 작은 데이터 타입으로 변환시 데이터 유실 가능성 O
System.out.println((int)65.1);
// 다른 타입을 계산하게 되면 범위가 큰 타입으로 자동 캐스팅
// 묵시적 형변환
System.out.println(3.0 / 2);
System.out.println(3.0 / (double)2);
System.out.println(3 / 2.0);
}
}
package ch02;
public class S02 {
public static void main(String[] args) {
String str = "저는 유승한이고, 24세 입니다.";
String name = "지드래곤";
int age = 34;
// 문자열 사이에 변수를 넣을 때 '+' 사용
String str1 = "저는 " + name + "이고 " + age + "세 입니다";
System.out.println(str1);
// 형식화된 출력 / 문자열 포맷팅 / 문자열 보간법
System.out.printf("저는 %s이고 %d세 입니다.\n", "고양이", 2);
System.out.printf("\"저는 %s이고 %d세 입니다.\"\n", name, age);
//소수점 단위 제한 가능
System.out.printf("%.2f\n", 10.0 / 3);
// 잘린 소수점은 자동 반올림
System.out.printf("%.2f\n", 3.6666666666);
// 문자열 포맷팅
String str2 = String.format("저는 %s\n", "홍길동");
System.out.println(str2);
String str3 = MessageFormat.format("저는 {0} {1} {0}\n", "다나카", 30);
System.out.println(str3);
}
}