final int MAX_SPEED = 10;
변수 (Variable) : 하나의 값을 저장하기 위한 공간
상수 (Constant) : 값을 한 번만 저장할 수 있는 공간
리터럴 (Literal) : 그 자체로 값을 의미하는 것
=> 상수가 필요한 이유? : 리터럴에 '의미있는 이름'을 붙여줘서 코드의 이해와 수정을 쉽게 만듬.
논리형 : 없음
정수형 : L
실수형 : f, d
문자형 : 없음
문자열 : 없음
(정수형인 Long인 경우엔 L이 생략 가능, 실수형인 Double의 경우엔 d 생략 가능. 그 얘기는 반대로 말하면 float의 경우에는 d 가 없는 경우엔 Double로 값을 인식하므로 반드시 f를 써줘야 한다)
float pi = 3.14; // 에러. float 타입 변수에 double 타입 리터럴 저장 불가
double rate = 1.618; // OK. 접미사 d는 생략할 수 있다.
char ch = 'J';
String name = "Java";
- 원래 String은 Data Type이 아닌 클래스이기 때문에 아래와 같이 사용해야하지만 위와 같이 변수 선언 하듯이 해도 된다.
String name = nre String("Java"); // String 객체를 생성
지금까지는 화면에 출력시 println()을 써왔다. 편하긴 한데 println()의 경우엔 값을 변환하지 않으면 다른 형식으로 출력할 수 없다.
하지만 우리는 같은 값이라도 다른 형식으로 출력하고 싶을 때가 있다.
(ex. 소수점 둘째자리까지만 출력, 또는 정수를 16진수나 8진수로 출력)
이럴땐 printf() 를 사용하면 됨
System.out.printf("age:%d", age);
-> System.out.printf("age:%d", 14);
-> System.out.printf("age:14"); // "age:14"가 화면에 출력
(이때 %d같이 어떻게 값을 출력 할 것인지 지정해주는 역할을 하는 것을 지시자 (Specifier) 라고 한다.)
printf()의 지시자 중에서 자주 사용되는건 아래와 같다.
%b : 불리언 (boolean) 형식으로 출력
%d : 10진 (decimal) 정수의 형식으로 출력
%o : 8진수 (octal) 정수의 형식으로 출력
%x, %X : 16진수(hexa-decimal) 정수의 형식으로 출력
%f : 부동 소수점 (floating-point) 의 형식으로 출력
%e, %E : 지수 (exponent) 표현식의 형식으로 출력
%c : 문자 (character) 로 출력
%s : 문자열 (string)로 출력
여러가지 방법이 있지만 Scanner 클래스 사용
import java.util.*;
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
int num = Integer.partIne(input); // 입력받은 내용을 int 타입의 값으로 변환