데이터를 저장할 수 있는 공간
변수 생성 방법
데이터타입 변수 이름;
- 두개의 변수 동시에 선언할 수 있음
ex) double num1, num2;
초기화
- 변수에 처음으로 값을 저장하는 것
- 변수의 타입에 맞는 값을 저장해야 함
- 보통 변수의 선언과 동시에 초기화를 해줌
- 메서드 : 명령문의 집합
- main 메서드 : 프로그램의 시작과 끝
- 주석 : 프로그램 코드로 인식하지 않는 문장(주로 코드 설명하는데 사용)
- 변수 안에 값이 저장되있음
[크기(바이트)]
정수
byte(1), short(2), int(4), long(8)실수
float(4), double(8)문자
char(2)논리
boolean(1)
1) 8가지 기본형 타입을 사용해서 8개의 변수를 선언 및 초기화 해주세요.
byte a = 1; short b = 2; int c = 3; long d = 4L; //long 타입에는 L을 붙여야 함 float e = 5.5f; //float 타입에는 f를 붙여야 함 double f = 6.6; char g = '강'; boolean h = true;
2) 위에서 만든 8개의 변수에 새로운 값을 저장하고 출력해주세요.
a = 10; b = 20; c = 30; d = 40L; e = 55.5f; f = 66; g = '박'; h = false;
- 변수 안에 값이 들어있지 않고 실제 값은 변수 밖에 따로 저장함 (값이 들어있는 주소를 저장)
문자열 String
- 다른 타입의 값을 저장하기 위해서 값의 타입을 변경해 주는 것 (type casting)
자동형변환 규칙
- 규칙1. 자료형의 크기가 큰 방향으로 형 변환 일어남
- 규칙2. 자료형의 크기에 상관없이 정수 자료형보다 실수 자료형이 우선함
자동 형변환 이뤄지는 방향
int samll = 10; long big = 10L; //small = big; =>컴파일 에러 small = (int)big; //명시적 형변환 big = small; //자동으로 형변환됨 (형변환 생략) //표현 범위 : 얼마만큼의 수를 표현할 수 있는가 //표현 범위가 작은 쪽에서 큰 쪽으로의 형변환은 생략가능
- 영문자 대소문자, 한글, 숫자, 특수문자('_', '$') 사용 가능 (한글은 사용하지 않는 것이 좋음)
- 숫자로 시작할 수 없음
- 예약어 사용할 수 없음 (자바에서 이미 사용하고 있는 단어들)
- 낙타식 표기법 사용 : 여러 단어로 이루어져 있을 때 구분하기 쉽도록 첫단어는 소문자, 다음 단어는 대문자로 시작
- 클래스명의 첫글자는 대문자로 함 ex) MySampleClass)
- 변수처럼 값을 저장하는 공간이지만 처음 담긴 값을 변경할 수 없는 저장공간
- 리터럴(고정된 값)에 의미를 부여하기 위해 사용함
- 상수는 이름을 대문자로만 적음, 앞에 final을 붙여줌
final int MAX_NUMBER; MAX_NUMBER = 10; MAX_NUMBER = 100; //컴파일 에러 발생(값을 변경할 수 없는데 변경해서)
System.out.print(""); //줄바꿈 하지 않음 System.out.println(""); //줄바꿈 System.out.print("\n"); //줄바꿈 System.out.print("\t"); //tab만큼 띄움 System.out.printf("문자열 : %s, 숫자 : %d", "Hello", 10); //출력포맷 지정함 System.out.println("A" + 100); //다른 타입의 데이터를 만나면 무조건 문자열로 바뀜 System.out.println(10 + 20 + "30"); //연산이 왼쪽부터 되서 10 + 20 = 30이 되고 문자열로 바뀌기때문에 3030이 됨 System.out.println("10" + 20 +30); //10이라는 문자열과 20이 만나서 1020이 되고 1020이라는 문자열과 30이 만나서 102030이 됨
Scanner sc = new Scanner(System.in); //입력받기 위한 클래스 //nextInt() 다음에 nextLine()을 해주면 숫자를 먼저 입력받고 뒤에 문자열을 자동으로 넘어감 int num = sc.nextInt(); //숫자 입력받기 String str = sc.nextLine(); //문자열 입력받기 //int 입력 int number = Integer.parseInt(sc.nextLine()); //double 입력 double number2 = Double.parseDouble(sc.nextLine());