--참고--
JDK -> java development kit (자바 개발도구 / 개발용+ jre)
JRE -> java runtime environment (라이브러리&명령등 컴파일된 java를 실행하는데 필요한 패키지)
변수 : 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름
변수를 선언하고 변수에 값을 지정 - > 하면 메모리에 값을 저장 할 수 있음
ex) int age; double value;
int x,y,x;
변수이름 명명규칙
1.첫 번재 글자는 문자이거나 달러표시,_이어야 함
숫자로 할 수 없음
2.영어 대소문자를 구분
4.첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 함
5.문자 수 (길이)의 제한은 없음
6.자바 예약어는 사용할 수 없음
<예약어>
: 이미 해당 프로그래밍 언어에서 의미를 갖고 사용되고 있는 단어로 , 변수 이름으로 사용할 수 없음
<변수 값 저장>
변수에 값을 저장할 때는 대입연산자 (=) 를 사용한다
오른쪽의 값을 왼쪽의 변수에 저장
ex) int score
scores = 90;
지정되는 값에 따른 분류 | 타입의 종류 |
정수 | int , long |
실수 | float , double |
논리 | boolean |
데이터 타입- 기본형 : primitive(기본) type / 원시타입 - 처음부터 만들어져 있던 타입 - 정수 ,실수 ,논리
- 참조형 : reference type
컴퓨터에서 정보를 처리하는 가장 작은 단위 -> bit : 0,1 로 구성되어 있음
8bit -> 1byte 2의 8승 -> -128 부터 127 까지 0을 포함한 256개
<리터럴(literal)>
-소스 코드에서 프로그래머에 의해 직접 입력된 값
-다음 경우를 자바에서 정수로 인식
package chapter02;
public class interlitaeralexample {
public static void main(String[] args) {
int var1 = 0b1011; //2진수
int var2 = 0206; //8진수
int var3 = 365; //10진수
int var4 = 0xB3; //16진수
System.out.println("var1:"+var1);
System.out.println("var2:"+var2);
System.out.println("var3:"+var3);
System.out.println("var4:"+var4);
}
}
<long 타입 변수>
정수 리터럴이 int타입의 허용범위 이내라면 L 안붙여도 o
그러나 - int 타입 허용범위 넘어가면 L 붙여야함
-(int)의 허용범위 (2147483647)
package chapter02;
public class longexample {
public static void main(String[] args) {
long var1 = 10;
long var2 = 20L;
//long var3 = 1000000000000; 정수 리터럴 (int)의 허용범위 (2147483647)를 넘었으므로 L을 붙어야함
long var4 = 1000000000000L;
System.out.println(var1);
System.out.println(var2);
System.out.println(var4);
}
}
<char 타입>
-하나의 문자를 저장할 수 있는 타입
-하나의 문자를 작은 따옴표(‘)로 감싼 것을 문자리터럴 이라고 하고
문자리터럴은 유니코드로 변환되어 저장
(유니코드는 문자를 2byte로 표현할 수 있는 숫자)
-작은 따옴표로 감싼 문자 리터럴은 유니코드로 변환되어 저장 -> char 타입은 정수 타입
-유니코드는 정수이므로 char도 정수타입에 속함 따라서 char 변수에는 ‘로 감산 문자가 아닌
10진수 또는 16진수형태로도 유니코드 저장 가능
package chapter02;
public class charexample {
public static void main(String[] args) {
char c1='A'; //문자를 직접 저장
char c2=65; //10진수로 저장
char c3='\u0041'; //16진수로 저장
char c4='가'; //문자를 직접 저장
char c5=44032; //10진수로 저장
char c6 = '\uac00'; //16진수로 저장
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
System.out.println(c5);
System.out.println(c6);
}
}
<String 타입>
-큰따옴표(“)로 감싼 문자열을 저장할 수 있는 타입
(“)로 감싼 문자 또는 여러개의 문자들은 유니코드로 변환x
-큰따옴표로 감싼 문자들을 문자열이라함
-문자열은 char타입에 저장 할 수 없음 !
‘-’ 작은 따옴표는 -> char
“-” 큰 따옴표는 -> 문자열 (String)
<실수 타입>
타입 | 메모리 사용크기 | 정밀도 (소수점 이하 자리) |
float |
4byte (32bit) |
7자리 |
double | 8byte (64bit) |
15자리 |
*소스 코드에서 소수점이 있는 숫자 리터럴은
10진수 실수로 인식함
ex)0.25 -3.14
*알파벳 소문자e 또는 대문자 E가 포함되어 있는 숫자 리터럴은
소수점이 있는 10진수 실수로 인식
ex) 5e2 -> 5.0 x 102 = 500.0
0.12E-2 x 10-2 = 0.0012
*자바는 실수 리터럴을 기본적으로 double타입으로 해석
때문에 double타입 변수에 저장해해야함
*실수 리터럴을 float타입 변수에 저장하면 컴파일 에러 발생
*실수 리터럴을 float타입으로 저장하고 싶으면
뒤에 소문자 f 또는 대문자 F 붙여 컴파일러가 float타입임을 알 수 있게 해야함
ex) float var = 3.14; //컴파일 에러 발생
float var = 3.14f; //3.14 출력
*double 타입은 소수점 이하15자리를 허용하기 때문에 정확한 데이터 저장이 가능
package chapter02;
public class floatexample {
public static void main(String[] args) {
//실수값 저장
//float var1= 3.14;
float var2 = 3.14f;
double var3 = 3.14;
//정밀도 테스트
float var4 = 0.1234567890123456789f;
double var5 = 0.1234567890123456789;
System.out.println("var2:"+ var2);
System.out.println("var3:"+ var3);
System.out.println("var4:"+ var4);
System.out.println("var5:"+ var5);
//e 사용하기
double var6 = 3e6;
float var7 = 3e6f;
double var8 = 2e-3;
System.out.println("var6:" + var6);
System.out.println("var7:" + var7);
System.out.println("var8:" + var8);
<불린boolean 타입>
-참과 거짓을 의미하는 논리 리터럴 true 와 false 를 사용
-논리 리터럴은 1byte 크기의 boolean 타입 변수에 저장
ex)boolean stop = true;
boolean state = false;
- 두 가지 상태값에 따라 제어문의 실행 흐름을 변경하는데 사용
package chapter02;
public class booleanexample {
public static void main(String[] args) {
boolean stop = true;
if(stop) {
System.out.println("중지합니다");
}else {
System.out.println("시작합니다");
}
}
}