변수: 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름
- 프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있다.
변수 이름의 규칙
1. 첫 번째 글자는 문자이거나'$', '_'이어야 하고 숫자로 시작할 수 없다.
2.영어 대소문자를 구분한다.
3.첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 한다.(오류는 아님)
4.문자 수으 제한은 없다.
5.자바 예약어는 사용할 수 없다.
에약어: 이미 해당 프로그래밍 언어에서 의미를 갖고 사용되고 있는 단어.
변수선언
ex)
int a = 0;
=>int는 변수 타입 a 는 변수 이름 0은 변수에 담을 값
int b;
로컬변수
-메소드 블록 내에서 선언된 변수
-메소드 블록 내부에서만 사용되고 메소드 실행이 끝나면 메모리에서 자동으로 없어진다.
변수 기본 타입
정수 타입
1.byte => 1byte(8bit) => -2^7~(2^7-1)
2.char => 2byte(16bit) => 0~65535(유니코드) 음수는 불가능하고 문자 하나를 표현할때 사용한다. 문자는' '로 감싼다
3.short => 2byte(16bit) => -2^15~(2^15-1)
4.int => 4byte(23bit) => -2^31~(2^31-1)
5.long => 8byte(64bit) => -2^63~(2^63-1) 정수 뒤에 l이나 L을 붙여주어야한다.ex) 123L, 123l
실수 타입
1.float => 4byte(32bit) => (1.4x10^(-45))~(3.4x10^38) => 소수점 이하 7자리 => 실수 뒤에 f나 F를 붙여주어야 한다. ex) 0.123f, 0.123F
2.double => 8byte(64bit) => (4.9x10^(-324)~1.8x10^308) => 소수점 이하 15자리
실수형 타입 표현에서 e문자나 E문자가 포함 되어 있는경우
실수en => 실수 x 10^n으로 생각하면 된다.ex) 12e3 => 12 x 10^3 => 12000.0ex) 12E-3 => 12x10^(-3) => 0.00012
논리 타입
1.boolean => true, false
String타입과 이스케이프 문자
변수에 문자열 저장
-문자 하나를 저장하기 위해서는 char타입 변수를 사용하나 문자가 아닌 문자열을 저장하기 위해서는 String타입을 사용한다.(String은 기본 타입이 아니다.)
-문자열을 " "로 감싼다.
이스케이프 문자
-문자열 내부에 특정 문자를 포함시킬 수 있게하거나 출력을 제어할 수 있게 하는 문자(ex)'나 " 를 포함시키고 싶거나 엔터 나 탭만큽 띄우고 싶을때 사용됨)
자주 사용되는 이스케이프 문자
\t :탭만큼 띄움
\n : 줄 바꿈
\r : 캐리지리턴
\" : "출력
\' : '출력
\\ : \출력
\u16진수: 16진수 유니코드에 해당하는 문자 출력
타입 변환
자동 타입 변환: 자동으로 타입 변환이 일어나는 것
-값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생
ex)
byte = 10; =>byte 타입 변수 a에 10을 저장
int b = a; => byte 타입 변수 a에 저장된 10을 int 타입 변수 b에 복사해서 저장
이때 10은 byte타입의 값이었으나, 복사 저장할 때 int타입의 값으로 변환되었다.
byte < short < int < long < float < double
char타입은 불가능(음수 포함 여부 때문이다.)
강제 타입 변환(캐스팅):큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장하는 것
ex)
int a = 10;
byte b = (byte) a;
-정수 타입에서 char타입도 가능
-실수에서 정수로 변환할때 소수점 아래자리는 사라진다. ex) 3.14 => 3
문자열을 기본 타입으로 강제 타입 변환
String => byte
-String str = "10";
-byte value = Byte.parseByte(str);
String => short
-String str = "200";
-short value = Short.parseShort(str);
String => int
-String str = "30000";
-int value = Int.parseInt(str);
String => long
-String str = "40000000000";
-long value = Long.parseLong(str);
String => float
-String str = "12.345";
-float value = Float.parseFloat(str);
String => double
-String str = "12.345";
-double value = Double.parseDouble(str);
String => boolean
-String str = "true";
-boolean value = Boolean.parseBoolean(str);
기본 타입의 값을 문자열로 변경
String str=String.valueOf(기본타입값);
'코딩 > Java메모장' 카테고리의 다른 글
(JAVA)조건문: if, if-else, if-else if-else, switch (0) | 2023.01.07 |
---|---|
(JAVA)연산자와 연산식 (0) | 2023.01.06 |
(JAVA)시스템 입출력 println, print, printf, in.read, Scanner (1) | 2023.01.04 |
(JAVA)프로젝트 생성~소스 파일 생성 (0) | 2023.01.02 |
(JAVA)간단 용어~eclise설치까지 (0) | 2023.01.02 |
댓글