변수와 자료형 (Variables and Types)
1. 변수 (Variable)
- 데이터를 담는 상자와 같은 역할.
- 할당 연산자(=)를 이용해 값을 저장할 수 있다.
- [자료형] [이름] = [값]
- 변수를 만드는 것을 선언(declare)한다 라고 부름.
- 변수값은 다시 할당 가능.
- 단, 맞는 자료형의 데이터만 넣어야함.
- 변수 이름은 중복 X
- 변수를 선언하는 것은 > 컴퓨터 메모리 상에 변수가 들어갈 공간을 확보하는 것.
// 선언과 할당은 한번에 안해도됨
int a;
a = 100;
// 한 줄에 여러변수 동시 선언 가능
int month = 11, day = 20;
* 변수 이름 짓기 (naming convention)
- 숫자로 시작 X
- _, $ 외의 특수문자 사용 X
- int, class, return 등 예약어(자바 내부적으로 사용하는 단어)는 사용X
- 일반적으로 camelCase로 지음.
2. 자료형 (Type)
- 데이터의 종류
- 어떤 변수를 선언하면서 해당 변수가 어떤 데이터를 저장할 수 있는지를 정의
1) 정수 자료형
자료형 | 최소 | 최대 |
int | -2147483648 | 2147483647 |
long | -9223372036854775808 | 9223372036854775807 |
short | -32768 | 32767 |
byte | -128 | 127 |
- long은 일반적인 정수 범위보다 큰 숫자를 입력해주기 때문에, 숫자 뒤에 L을 붙여준다.
2) 실수 자료형
자료형
|
자료형
|
최대
|
유효자리수
|
float
|
-3.4 * 10^38
|
3.4 * 10^38
|
7
|
double
|
-1.7 * 10^308
|
1.7 * 10^308
|
16
|
- double이 기본
- float 변수에는 실수 뒤에 F를 붙여준다.
- 각 자료형의 유효자리수를 넘어가게 되면 나머지는 반올림되거나, 0이 되거나, 반올림된다.
float floatPoint = 2.718281F;
double doublePoint = 3.14159265359;
double longPi = 3.14159265358979323846;
// 출력 : 3.141592653589793
3) 불린(boolean) 자료형
- 참 또는 거짓을 표현하기 위한 자료형
- true or false
4) 문자(char) 자료형
- 단일 문자를 표현하기 위해 사용하는 자료형
- 작은 따옴표를 사용!!
5) 문자열(String) 자료형
- 여러 글자를 합쳐 단어, 문장 등을 표현하기 위한 자료형
- 큰 따옴표 사용
3. 데이터 입력받기
: Scanner를 활용해 데이터 입력받기 가능
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.nextLine());
byte scanByte = scanner.nextByte();
short scanShort = scanner.nextShort();
int scanInt = scanner.nextInt();
long scanLong = scanner.nextLong();
float scanFloat = scanner.nextFloat();
double scanDouble = scanner.nextDouble();
boolean scanBool = scanner.nextBoolean();
- nextLine()은 엔터 입력까지 한 줄의 문자열을 받음.
- 기본적으로 받고자하는 자료형의 이름이 담긴 메서드 사용
- float, long 데이터 받는다고 해서 굳이 입력에 F를 넣어줄 필요 없음.
- nextBoolean()은 true, false를 대소문자 구분없이 넣어줄 수 있음.
- 공백으로 구분이 가능
4. Escape Sequence
: 문자열 내부에 키보드로 입력하기 어려운 특수한 문자를 표현하고 싶을 때 사용. (주로 \가 사용됨)
ex. ", tab, 다음줄(엔터) 등
-
// 문자열 내부에 " 표현하기
System.out.println("\"");
// char 데이터로 ' 표현하기
System.out.println('\'');
// 문자열 내부에서 \ 표현하기
System.out.println("\\");
Escape Sequence | 결과 |
\n | 다음 줄 (아래줄에 표현) |
\t | 탭 (\t 다음 탭의 위치까지 옮긴뒤 표현) |
\r | 캐리지 리턴 (\r줄의 앞으로 옮긴다) |
\b | 백스페이스 (\b 앞의 문자를 하나 지운다) |
System.out.println("개행문자: \n 이 다음은 아래줄에 표현됩니다.");
System.out.println("탭키: \t다음 탭의 위치까지 옮긴 뒤 표현됩니다.");
System.out.println("Carriage Return: \r줄의 앞으로 옮깁니다.");
System.out.println("백스페이스: \b앞의 문자를 하나 지웁니다.");
// 결과
개행문자:
이 다음은 ~.
탭키: 다음 탭의 ~
줄의 앞으로 옮깁니다.
백스페이스:앞의 문자를 ~
5. String Formatting
: 문구 작성시 상황에 따라 일부분만 바꿔서 여러번 문자열을 바꿔서 표현하고 싶을 때 사용
ex. 농도와 상태 메시지는 변수에 저장하고, 이를 이렇게 표현하겠다
int dust = 10;
String status = "좋음";
System.out.println(String.format("미세먼지 농도: %d (%s)", dust, status));
// 결과
미세먼지 농도 : 10 (좋음)
- 템플릿 역할을 하는 문자열을 넣어주고, 뒤에 템플릿에 사용할 값들을 넣어준다.
- format specifiers 포맷 코드 : 어떤 자료형의 데이터가 표현 될지를 문자열 내부에 지정하는 방법
%s | 문자열(String) |
%c | 문자(char) |
%d | 정수(int) |
%f | 부동소수(float, double) |
6. 배열
- 하나의 변수에 여러 데이터를 정리하여 저장하기 위해 사용.
- 변수 선언할 때 자료형 뒤에 [ ]를 덧붙여 선언, { } 를 이용해 저장할 값들을 나열
- 접근할 때는 [ ] 안에 몇번째 값인지 지정 (0부터 시작)
- 배열의 크기는 배열.length 활용
int[] scores = {85, 90, 95};
scores[1] = 80;
System.out.println(scores[1]);
// 결과값
80
// 크기를 정할 때 그 크기를 변수로 결정할 수 있다.
int students = 10;
String[] names = new String[students];
int[] scores = new int[students];
int numOfStudents = studentNames.length;
'Programming > Java' 카테고리의 다른 글
클래스 (Class) (1) | 2023.11.28 |
---|---|
메서드 (Methods) (1) | 2023.11.23 |
제어문 (Control Statements) (1) | 2023.11.22 |
연산자 (Operators) (0) | 2023.11.21 |
자바 개요 (1) | 2023.11.20 |