변수
변수
변수란 값을 저장할 수 있는 메모리 특정 번지에 붙여진 이름, 변수를 통해서 메모리 번지에 하나의 값을 저장하고 읽을 수 있다
변수 선언
변수를 사용하기 위해서 변수선언이 필요하다
1
2
3
int x,y,z; //같은 타입들은 같이 선언가능
int a;
int b;
변수명 규칙
- 첫 글자는 문자이거나 ‘$,’_’ 이어야 하고 숫자로 시작할 수 없다
- 영어 대소문자 구분
- 첫 문자는 소문자로 시작 다른 단어가 붙으면 첫문자를 대문자 (클래스는 대문자 시작)
- 문자 수의 길이 제한은 없다
- 자바의 예약어 사용 불가능(new, int, private, class, enum, if, true, final 등)
변수 사용
1
2
3
4
int hour = 3;
int minute = 50;
System.out.println = (hour + "시" + minute + "분"); //3시 50분 출력
변수 사용 범위
로컬 변수는 해당 블록에서만 사용가능
1
2
3
4
5
6
7
8
9
10
public static void main(String[] args){
int val1; //val1만 사용가능
if(val>1){
int val2; // val1,val2사용가능 val3사용 불가능
}
while(i<10){
int val3; // val1,val3사용가능 val2사용 불가능
}
//val1만 사용가능
}
전역변수는 메소드 밖에 존재하는 변수있다 생명주기는 클래스가 끝날 때
변수 타입
총 8개의 기본 타입은 제공한다
- 정수 타입: byte, char, short, int, long
- 실수 타입: float, double
- 논리 타입: boolean
char 타입
하나의 문자를 저장할 수 있다
1
2
char car1 = 'A'; //유니코드 65저장
char c = 65; //정수형태의 유니코드 저장
String 타입
char에는 문자열을 저장할 수 없다 그래서 String타입에 저장한다
1
2
String str1 = "adfsadfasf";
String str2 = "안녕하세요";
문자열 출력 제어
| 이스케이프 문자 | 출력 용도 |
|---|---|
| \t | 탭만큼 띄움 |
| \n | 줄바꿈 |
| \r | 캐리지 리턴 (커서 맨앞 이동) |
| \” | “출력 |
| \’ | ‘출력 |
| \\ | \출력 |
실수 타입
소스코드에서 소수점이 있는 리터럴은 10진수 실수로 인식
알파벳 e가 포함된 숫자 리터럴은 지수및 가수 표현된 소수점이 있는 10진수로 인식
10e2 -> 10.0 * 10*2 = 1000.0
자바는 기본적으로 실수 리터럴을 double타입으로 인식
1
2
3
4
float var =3.14 //컴파일 오류
double var2 = 4.12
float var = 3.14f //float타임으로 저장할려는 경우 F,f를 끝에 입력
타입 변환
데이터를 다른 타입의 데이터 타입으로 변환 시키는 과정
- 자동 타입 변환
- 큰 타입 = 작은 타입 변수 값 -> 작은 타입이 큰 타입에 저장되는 경우
- byte < short < int < long < float < double
- char 타입이 int형으로 바뀌면 유니코드가 저장된다
- 강제 타입 변환
- 작은 타입 = 큰 타입 -> 강제로 한 조각만 저장된다
- byte a = (byte) intValue;
실수를 연산할 때 타입 변환의 주의가 필요
- 문자열 강제 타입 변환
- Byte.parseByte(str);
- Short.parseByte(str);
- Integer.parseInt(str);
- Boolean.parseBoolean(str);
- 기본 타입 -> 문자열 String.valueOf(3);
시스템 출력
- System.out.print(내용);
- System.out.println(내용); 출력 후 줄 바꿈
- System.out.printf(형식 문자열);
- 형식 문자열에 포함될 값 2가지 이상인 경우 순서를 표시
- System.out.printf(“이름 : %1$s 나이 : %2$d”,”김민정”,26); -> 이름:김민정 나이:26
- 정수형
- %d
- %6d 6자리 정수 왼쪽 빈 공백 출력 ___123
- %-6d 6자리 정수 오른쪽 빈 공백 출력 123___
- %06d 6자리 정수 빈자리 0으로 출력 000123
- 실수
- %10.2f 소수점 이상 7자리 소수점 이하 2자리 왼쪽 빈자리 공백 ___123.12
- %-10.2f 소수점 이상 7자리 소수점 이하 2자리 오른쪽 빈자리 공백 123.12___
- %010.2f 왼쪽 빈자리 0으로 채움 0000123.12
- 문자열
- %6s 문자열 왼쪽 공백 ___asd
- %-6s 문자열 오른쪽 공백 asd___
- 형식 문자열에 포함될 값 2가지 이상인 경우 순서를 표시
시스템 입력
Scanner클래스를 이용하면 입력을 받을 수 있다
1
2
3
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String inputData = scanner.nextLine(); // 엔터 이전까지 문자열을 inputData에 저장한다
기본 타입 값과 문자열 비교
기본 타입 일때는 == 를 이용해서 값을 비교한다
문자열의 비교는 equals()메소드 사용
1
boolean result = inputData.equals("aas");
같다면 true, 다르면 false가 저장된다
This post is licensed under CC BY 4.0 by the author.