변하지 않는 데이터 그 자체를 말한다.
상수와 혼동할 수 있지만 상수는 데이터가 저장되는 메모리상의 공간을 의미하고, 리터럴은 고정된 값 자체를 의미한다.
int age = 20; // 20은 리터럴이다.
final int MAX_AGE = 100; // 100은 리터럴이다. (MAX_AGE는 상수이다.)
String str = "java" // "text"는 리터럴이다.
System.out.println(123);
System.out.println(1.23);
123
1.23
System.out.println('a'); //문자 형태의 값은 홑따옴표(single-quotation)으로 감싸주어야 한다.
//System.out.println('ab'); //두 개 이상은 문자로 취급하지 않기 때문에 에러가 발생한다.
//System.out.println(''); //아무 문자도 기록되지 않는 경우도 에러가 발생한다.
System.out.println('1'); //숫자 값 이지만 홑따옴표로 감싸져 있는 경우 문자 '1'이라고 판단한다.
a
1
문자열 형태의 값 출력
System.out.println("안녕하세요"); //문자열은 문자 여러 개가 나열된 형태를 말하며 쌍따옴표(double-quotation)으로 감싸주어야 한다.
System.out.println("123"); //정수 이지만 쌍따옴표로 감싸져있기 때문에 문자열로 보아야 한다.
System.out.println(""); //아무 값도 없는 빈 쌍따옴표도 문자열로 취급한다.
System.out.println("a"); //한 개의 문자도 쌍따옴표로 감싸면 문자열이다. (문자 a와는 다르다)
안녕하세요
123
a논리 형태의 값 출력
System.out.println(true);
System.out.println(false); //true 혹은 false 값을 논리형이라고 한다.
true
false숫자 리터럴은 모든 사칙 연산을 다 사용할 수 있으며, 정수 끼리의 연산 실행 결과는 정수로, 실수 끼리의 연산 실행 결과는 실수로 나온다.
단, 정수와 실수의 연산 실행 결과는 항상 실수로 나온다.
문자는 내부적으로 숫자로 바꿔서 인식한다. 실제로 컴퓨터가 이해할 수 있는 것은 0과 1 뿐 이다.
어떠한 문자를 어떠한 숫자로 이해할 것인지 약속을 1963년 미국 ANSI에서 표준화한 정보 교환용 7비트 부호체계로 정의한 것을 ASCII(American Standard Code for Information Interchange, 미국 정보 교환 표준 부호) 코드 라고 하며, 0 ~ 127번 까지 문자와 숫자가 매핑되어 있다.
문자열은 사칙 연산 중 ‘+’ 연산만 가능하며, 연산 결과는 문자열 합치기(이어 붙이기)가 된다.
System.out.println("hello" + "world");
//System.out.println("hello" - "world"); //에러 발생
//System.out.println("hello" * "world"); //에러 발생
//System.out.println("hello" / "world"); //에러 발생
//System.out.println("hello" % "world"); //에러 발생
논리 값은 내부적으로 숫자로 취급하긴 하지만 연산은 불가능하다. 단, 문자열과의 ‘+’ 연산은 가능하다.
논리와 문자열의 연산은 가능하다.
System.out.println(true + "a"); //문자열 합치기 됨
//System.out.println(true - "a"); //에러 발생
//System.out.println(true * "a"); //에러 발생
//System.out.println(true / "a"); //에러 발생
//System.out.println(true % "a"); //에러 발생
System.out.println("=========== 10과 20의 사칙연산 결과 ===========");
System.out.println(10 + 20);
System.out.println(10 - 20);
System.out.println(10 * 20);
System.out.println(10 / 20);
System.out.println(10 % 20);
System.out.println("=========== 10과 20의 사칙연산 결과 보기 좋게 출력 ===========");
System.out.println("10과 20의 합 : " + (10 + 20)); //주의 : 괄호를 묶지 않으면 문자열 합치기가 일어나서 결과가 1020이 된다.
System.out.println("10과 20의 차 : " + (10 - 20)); //문자열은 마이너스 연산이 불가능하기에 앞에서 생성된 문자열과 마이너스 연산이 불가하다. (반드시 괄호 사용)
System.out.println("10과 20의 곱 : " + (10 * 20)); //아래 부터는 동일한 방식이다.
System.out.println("10과 20을 나누기 한 몫 : " + (10 / 20));
System.out.println("10과 20을 나누기 한 나머지 : " + (10 % 20));