728x90
반응형
변수
- 변수 (variable)란? 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름
- 자바의 변수는 다양한 타입(정수형, 실수형 등)의 값을 저장 할 수 없다.
변수 선언
- 변수를 사용하려면 변수 선언이 필요. 변수 선언은 어떤 타입의 데이터를 저장할 것인지 그리고 변수 이름이 무엇인지를 결정하는 것
- - 변수에 최초로 값이 대입될 때 메모리에 할당되고, 할당 메모리에 값이 저장
byte, short, char, int, long 타입
- 변수는 선언될 때의 타입에 따라 저장할 수 있는 값의 종류와 허용 범위가 달라짐
- 정수 타입은 5개로 메모리 할당 크기와 저장되는 값의 범위가 다름
- 메모리 크기를 n이라고 했을 때 정수 타입은 동일한 구조의 2진수로 저장
문자 리터럴과 char 타입
- 문자 리터럴 : 하나의 문자를 작은 따옴표(')로 감싼 것
- 문자 리터럴을 유니코드로 저장할 수 있도록 char 타입 제공
char var1 = 'A'; //'A' 문자와 매핑되는 숫자 : 65로 대입
char var3 = '가'; // '가' 문자와 매핑되는 숫자 : 44032로 대입
- char 타입도 정수 타입에 속함
char c = 65; // 10진수 65와 매핑되는 문자 : 'A'
char c = 0x0041; //16진수 0x0041과 매핑되는 문자 : 'A'
※
2진수 1bit
8진수 3bit
16진수 4bit
실수 타입
float과 double 타입
- 실수 타입에는 float과 double이 있음
- double 타입이 float 타입보다 큰 실수를 저장할 수 있고 정밀도도 높음
boolean 타입 변수에 대입되는 논리 타입
- 참과 거짓을 의미하는 true 와 false로 구성되며 boolean 타입 변수에 대입할 수 있음
- 주로 두 가지 상태값을 저장하는 경우에 사용. 조건문과 제어문의 실행 흐름을 변경하는데 사용
문자열과 String 타입
- 문자열 : 큰따옴표 ("")로 감싼 문자들
- 문자열을 변수에 저장하려면 String 타입을 사용
String var1 = "A";
String var2 = "홍길동";
- 이스케이프 문자 : 문자열 내부에 역슬래쉬(\)가 붙은 문자
이스케이프 문자 | |
\* | * 문자 포함 |
\' | ' 문자 포함 |
\\ | \ 문자 포함 |
\u 16진수 | 16진수 유니코드에 해당하는 문자 포함 |
\t | 출력시 탭만큼 띄움 |
\n | 출력시 줄바꿈(라인피드) |
\r | 출력시 캐리지 리턴 |
자동 타입 변환
- 데이터 타입을 다른 타입으로 변환하는 것
- 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 대입될 때 발생
- 정수 타입이 실수 타입으로 대입되면 무조건 자동 타입 변환이 됨
- 예외 : char 타입보다 허용 범위가 작은 byte 타입은 char 타입으로 자동 변환될 수 없음
캐스팅 연산자로 강제 타입 변환하기
- 큰 허용 범위 타입을 작은 허용 범위 타입으로 쪼개어서 저장하는 것
- 캐스팅 연산자로 괄호 ( ) 를 사용하며, 괄호 안에 들어가는 타입은 쪼개는 단위
- 예) int -> byte 강제 타입 변환
연산식에서 int 타입의 자동 변환
- 정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int 타입보다 작은 byte, short 타입 변수는 int 타입으로 자동 변환되어 연산수행
- byte 변수가 피연산자로 사용되면 변수값은 int 값으로 연산되며, 결과값 역시 byte 변수가 아닌 int 변수에 저장해야함
String 타입변환하기
변환 타입 | 사용 예 |
String -> byte | String str = "10"; byte value = Byte.parseByte(str); |
String -> short | String str = "200"; short value = Short.parseByte(str); |
String -> int | String str = "300000"; int value = Integer.parseByte(str); |
String -> long | String str = "40000000000"; long value = Long.parseByte(str); |
String -> float | String str = "12.345"; float value = Float.parseByte(str); |
String -> double | String str = "12.345"; double value = Double.parseByte(str); |
String -> boolean | String str = "true"; boolean value = Boolean.parseByte(str); |
- 기본 타입의 값을 문자열로 변경할 때는 String.valueOf() 메소드 이용
변수 범위를 나타내는 중괄호 {} 블록
- 조건문과 반복문의 중괄호 {} 블록 내에 선언된 변수는 해당 중괄호 {} 블록 내에서만 사용 가능
println() 메소드로 변수 값 출력하기
- 모니터에 값을 출력하기 위해 System.out.println() 이용
- 출력 방법에 따라 println() 이외에도 다음과 같이 print(), printf()를 사용할 수 있음
메소드 | 의미 |
println(내용); | 괄호 안의 내용을 출력하고 행을 바꿔라 |
print(내용); | 괄호 안의 내용을 출력하고 행은 바꾸지 말아라 |
printf("형식문자열", 값1, 값2..); | 형식 문자열에 맞추어 뒤의 값을 출력하라 |
- printf()의 형식 문자열에서는 %와 conversation(변환 문자)를 필수로 작성하고 나머지는 생략가능
printf()
형식화된 문자열 | 설명 | 출력형태 | |
정수 | %d %6d %-6d %06d |
정수 6자리 정수, 왼쪽 빈자리 공백 6자리 정수, 오른쪽 빈자리공백 6자리 정수. 왼쪽 빈자리 0채움 |
123 ___123 123___ 000123 |
실수 | %10.2f %-10.2f %010.2f |
정수 7자리+소수점+소수 2자리. 왼쪽 빈자리 공백 정수 7자리+소수점+소수 2자리. 오른쪽 빈자리 공백 정수 7자리+소수점+소수 2자리. 왼쪽 빈자리 0채움 |
____123.45 123.45____ 0000123.45 |
문자열 | %s %6s %-6s |
문자열 6자리 문자열, 왼쪽 빈자리 공백 6자리 문자열, 오른쪽 빈자리 공백 |
abc ___abc abc___ |
특수 문자 | \t \n %% |
탭(tab) 줄바꿈 % |
% |
Scanner 타입 변수 활용하기
- Scanner 타입 변수를 선언하고 대입 연산자 =를 사용해서 new 연산자로 생성한 Scanner 객체를 변수에 대입
- scanner.nextLine()을 실행하면 키보드로 입력된 내용을 문자열로 읽고 좌측 String 변수에 저장
728x90
반응형
'자바' 카테고리의 다른 글
자바 - 클래스 - 02 (0) | 2023.01.11 |
---|---|
자바 - 클래스 - 01 (0) | 2023.01.10 |
자바 - 참조 타입 (0) | 2023.01.09 |
자바 - 조건문과 반복문 (0) | 2023.01.06 |
자바 - 연산자 (0) | 2023.01.05 |