본문 바로가기
Backend/Java

Java 6. 변수, 상수, 리터럴, 데이터 타입

by 샴페인맛있다 2024. 5. 7.

변수 (Variable)

하나의 값을 저장할 수 있는 저장공간.

변수를 선언 할때는 변수의 이름 앞에 데이터 타입을 선택해야함.

변수를 사용하면 중복이 제거되고, 가독성을 높이며, 유지보수를 하기가 쉬워짐.

//int는 integer (정수) 라는 데이터 타입을 의미.


int a;			//변수의 선언 : 공간 만들기 
a = 1;			//변수의 초기화 : 변수에 최초로 값을 대입
int a = 1;		//변수의 선언과 초기화

Credit: https://www.geeksforgeeks.org/variables-in-java/

 


상수 (Constant)

한번 값을 저장하면 다른 값으로 변경 할 수 없는 저장공간.

상수를 선언할 때는 앞에 'final'을 붙임.

상수의 이름은 모두 대문자로 하며, 여러 단어일 경우 '_' 로 구분.


리터럴 (Literal)

소스 코드 내에 직접 입력된 값(데이터)을 의미.
(변수 초기화 시 '저장할 값'에 해당)


데이터 타입 (Data Type)

Java의 데이터 타입은 크게 기본형(Primitive)과 참조형(Reference)으로 나눌 수 있음.

 

● 기본형 (8개)

① 논리형(boolean)  : true, false

② 문자형(char) : 'a', 'R', '1' 

정수형 (③ byte, ④ short,  ⑤ int,  ⑥ long) : 1, 602, -43, 100L

실수형 (⑦ float, ⑧ double) : 3.14, -0.5, 2.0e5, 1.4f

 

 

● 참조형 (기본형을 제외한 나머지)

   ex )  String, System ...

 

Credit : https://getkt.com/2020/01/19/reintroduction-to-java-data-types/


데이터의 타입을 이용한 변수 선언의 예시

//정수
byte b = 127;		//byte 타입과 short 타입의 변수에 값을 저장할 때는 int타입의 리터럴을 사용.

int x =100;			//정수(integer)를 저장 하기 위한 타입은 int로 함.

long big = 100_000_000_000L;  //정수가 20억이 넘을때는 변수타입을 long으로 하고, 뒤에'l'이나'L'을 붙임.

//실수
float pi = 3.14f;		//float형 리터럴에는 접미사f나 F 필수.
float f1 = .10f;

double d = 3.14;		//double형은 접미사 d나 D 생략가능.
double rate = 1.618d;	

//문자
char ch = 'a';		//문자가 하나일때는 ''(작은 따옴표)로 감싼 문자리터럴 사용.
char c = ' ';		//공백문자(blank)로 변수를 선언가능.
char c = '';		//error. ''안에 반드시 하나의 문자가 필요.

//문자열
String name = "java";	//문자가 여러개인 문자열일때는 ""(큰 따옴표)로 감싼 문자열 리터럴 사용.
String name = "ja" + "va";	//덧셈연산자를 사용하여 문자열 리터럴을 합칠 수 있음.
String word = "baby";
String str = "";		//내용이 없는 빈 문자열도 가능.

문자열 결합 

📌문자열과 덧셈 연산을 수행하면 어떤 타입의 변수 일지라도 그 결과가 문자열이 됨.

 

문자열 + any type ➡ 문자열 + 문자열 ➡ 문자열

any type + 문자열 ➡ 문자열 + 문자열 ➡ 문자열

 

package print;

public class Ex2_7 {

	public static void main(String[] args) {
	
		String name = "ja" +"va";
		String str = name + 8.0;
		
		System.out.println(name); //java
		System.out.println(str);  //java8.0
	}
}
package print;

public class Ex2_7 {

	public static void main(String[] args) {
		
		System.out.println(7); //숫자 7
		
		System.out.println(7 + " "); //문자열 7 -> 7 뒤에 공백이 포함된 문자열.
		System.out.println(" "+ 7);  //문자열 7 -> 7 앞에 공백이 포함된 문자열.
		
		System.out.println(7+"");  //문자열 7 
		System.out.println(""+7);  //문자열 7
		
		System.out.println(""+""); //빈문자열
		
		System.out.println(7+7+"");  //문자열 14 
		System.out.println(""+7+7);  //"7"+7 = 77
	}
}