1. 변수(Variable)란?
하나의 값을 저장할 수 있는 기억 공간입니다.
2. 변수의 타입 (Data Type)
문자 | char | |
숫자 | 정수 | byte, short, int, long |
실수 | float, double | |
논리 | boolean |
기본형 (Primitive type)
- 8개 : boolean, char, byte, short, int, long, float, double
- 실제 값을 저장합니다.
- 분류
1. 논리형 : true, flase 중 하나를 값으로 갖습니다.(조건식, 논리적 계산에 사용합니다.)
2. 문자형 : 문자를 저장하는데 사용, 변수 당 하나의 문자를 저장할 수 있습니다.
3. 정수형 : 정수를 저장하는데 사용됩니다.
int, long : 주로 사용합니다.
byte : 이진데이터를 다루는 데 사용됩니다.
short : c언어와의 호환을 위해 사용됩니다.
4. 실수형 : 실수를 저장하는데 사용됩니다.
크기 > | 1 | 2 | 4 | 8 |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
참조형
- 기본형을 제외한 나머지 입니다. (String, System ... )
- 객체의 주소를 저장합니다. (4 byte, 0x00000000 ~ 0xffffffff)
3. 변수 선언방법
타입 변수명;
int score;
score = 100;
int score = 100;
String str = new String("abc");
str = null;
4. 명명규칙 (Naming convention)
1. 대소문자가 구분되며 길이에 제한이 없습니다.
ex) True ≠ true
2. 예약어(Reserved word)를 사용해서는 안 됩니다.
ex) true(x), True(o)
3. 숫자로 시작해서는 안 됩니다.
ex) top10(o), 0w0(x)
4. 특수문자는 _와 $만을 허용합니다.
ex) $harp(o), S#arp(x)
권장사항
1. 클래스 이름의 첫 글자는 항상 대문자로 합니다.
2. 여러 단어 이름은 단어의 첫 글자를 대문자로 합니다. (카멜 케이스)
3. 상수의 이름은 대문자로 한다. 단어는 _로 구분합니다. (스네이크 케이스)
5. 변수, 상수, 리터럴
변수 (variable) - 하나의 값을 저장하기 위한 공간입니다.
상수 (constant) - 한 번만 값을 저장할 수 있는 공간입니다.
ex) final int MIN = 100; (이후 MIN = 300; 와 같이 수정 불가합니다.)
리터럴 (literal) - 그 자체로 값을 의미하는 것입니다.
ex) int intValue = 100; > 100은 정수(int) 리터럴 입니다.
6. 리터럴과 접미사
boolean isYes = false;
char ch = 't';
char ch = '\u0074';
char tab = '\t';
byte b = 127;
short s = 32767;
int i = 100;
int oct = 0100;
int hex = 0x100;
long l = 100000L;
float f = 3.14f;
float f = 100f;
double d = 3.14d;
7. 변수의 기본값과 초기화
변수의 초기화 : 변수에 처음으로 값을 저장하는 것입니다.
(지역 변수는 사용되기 전에 반드시 초기화 해줘야 합니다.)
자료형 | 기본값 | 초기화 | |
boolean | false | boolean isGood = false; char grade = ' '; > 공백 byte b = 0; short s = 0; int i = 0; long l = 0; > 0L로 자동 변환 float f = 0; > 0.0f로 자동 변환 double d = 0; > 0.0으로 자동 변환 String s1 = null; String s2 = ""; > 빈 문자열 |
|
char | '\u0000' | ||
byte | 0 | ||
short | 0 | ||
int | 0 | ||
long | 0L | ||
float | 0.0f | ||
double | 0.0d 혹은 0.0 | ||
참조형 | null |
8. 문자와 문자열
char ch = 'A';
String s = "ABC"; (char ch = 'ABC'; > 에러)
String s = ""; (char ch = ''; > 에러)
ex)
String s = "A" + "B"; > "AB"
"" + 7 = "" + "7" > "7"
"" + 7 + 7 > "77"
7 + 7 + "" > "14"
9. 정수의 오버플로우 (Overflow)
자료형 byte는 -128 ~ 127의 범위를 가지고 있습니다.
이 때, byte b = 128;을 해주면 에러가 나지만, byte b = 127로 최대값을 선언 해준 뒤, b++을 해주면 b는 -128이 됩니다.
원기둥의 벽면에 적은 것 처럼 말입니다.
ex)
-128 ~ 127 > 127++ > -128
000 ~ 999 > 999+ > 000
부호가 없는 정수 0000 ~ 1111 > 1111++ > 0000
부호가 있는 정수 1000 ~ 0111 > 0111++ > 1000
10. 형변환 (Casting)
형변환이란?
- 값의 타입을 다른 타입으로 변환하는 것입니다.
- boolean을 제외한 7개의 기본형은 서로 형변환이 가능합니다.
변환 | 수식 | 결과 |
int > char | (char) 65 | 'A' |
char > int | (int) 'A' | 65 |
float > int | (int) 1.6f | 1 |
int > float | (float) 10 | 10.0f |
11. 형식화 된 출력 - printf()
println()의 단점 - 출력 형식 지정 불가
실수의 자리수 조절 불가 └ 소수점 n자리만 출력하려면? |
System.out.println(10.0/3) > 3.333333333...... 🔻 System.out.printf("%.2f", 10.0/3) > 3.33 |
10진수로만 출력된다. └ 8진수, 16진구로 출력하려면? |
System.out.printf(0x1A) > 26 🔻 System.out.printf("%d", 0x1A) > 26 System.out.printf("%X", 0x1A) > 1A |
'스터디 > 자바' 카테고리의 다른 글
[Java] 자바 : 2. 연산자 2 (0) | 2024.01.09 |
---|---|
[Java] 자바 : 2. 연산자 (Operator) 1 (0) | 2024.01.04 |
[Java] 자바 : 1. 변수 2 (1) | 2024.01.04 |
[Java] 자바 : 개요 (0) | 2024.01.02 |