[Java]02.변수
변수(variable)
변수란?
변하는 수라고 말하는데, 프로그래밍에서 변수란 물리적으로 메모리라고 생각할 수 있습니다.
즉, 데이터를 저장하는 공간이라고 할 수 있습니다.
변수의 타입
논리(boolean)는 true & false로 나뉩니다.
1byte = 8bit
2 byte = short
4 byte = int
4byte = long
- 기본형(Primitive type)
- 8개
- 실제 값을 저장
- 참조형(Reference type)
- 기본형을 제외한 것
기본형(Primitive type)
-
논리형
- True와 False중 하나를 값으로 갖습니다.
- 조건식과 노리적 계산에 사용됩니다.
-
문자형
- 문자를 저장하는데 사용됩니다. 변수 당 하나의 문자만을 저장할 수 있습니다.
-
정수형
- 정수 값을 저장하는데 사용됩니다. 주로 사용하는 것은 int와 long이며, byte는 이진 데이터를 다루는데 사용됩니다. short는 c언어와의 호환을 위해 추가되었습니다.
-
실수형
-
실수 값을 저장하는데 사용됩니다. float와 double이 있습니다.
기본형은
int
와double
입니다.종류/ 크기 1 2 4 8 논리형 boolean 문자형 char 정수형 byte short int long 실수형 float double
-
CPU는 연산을 할 뿐만아니라 레지스터로 CPU내에서 임시 저장을 합니다.
1바이트는 8개의 비트로 이루어져있습니다.
0 0000000
맨 앞에 비트는 양수와 음수를 나타내는데 0일 때 양수 1일때 음수 입니다. 0 0000001 = 1 0 0000010 = 2 0 0000011 = 3
음수를 표현하겠습니다. 뒤집어서 더하기 1을 해주는 겁니다.
1 000000 = -(01111111 + 1) = -(100000)
변수의 선언방법
타입 변수명;
int score;
int score = 100;
score = 100;
=
의 뜻은 오른쪽에 있는 값을 왼쪽의 변수에 넣겠다는 뜻입니다.
자바는 public에 있는 파일명과 class명이 같아야합니다. 그리고 변수는 마지막 값만 유효합니다. 위에서 선언한 변수를 또 사용할 수 있지만 그렇게 되면 기존의 변수에 들어있던 값은 사라집니다.
명명규칙
-
대소문자가 구분되며 길이에 제한이 없다.
- True와 true는 서로 다른 것으로 간주됩니다.
-
예약어(Reserved word)를 사용해서는 안 된다.
- true는 예약어라 사용할 수 없지만, True는 가능하다.
-
숫자로 시작해서는 안 된다.
- top 10은 허용하지만, 7up은 허용되지 않는다.
-
특수문자는 ‘_‘와 ‘$’만을 허용한다.
-
$harp은 허용되지만 S#arp는 허용되지 않는다.
- 클래스 이름의 첫 글자는 항상 대문자로 한다.
- 변수와 메서드 이름의 첫 글자는 항상 소문자로 한다.
- 여러 단어 이름은 단어의 첫 글자를 대문자로 한다.
- lastIndexOf, StringBuffer
- 상수의 이름은 대문자로 한다. 단어는 ‘_‘로 구분한다.
- PI, MAX_NUMBER
-
변수, 상수, 리터럴
-
변수(variable)
- 하나의 값을 저장하기 위한 공간
-
상수(constant)
- 한 번만 값을 저장할 수 있는 공간
-
리터럴(literal)
-
그 자체로 값을 의미하는 것
int score = 100;
score = 200;
char ch = ‘A’
String str = “abc”;
final int MAX = 100;final변수는 변경이 불가능합니다.
MAX = 200; // 에러
-
변수의 기본값과 초기화
문자와 문자열
String str1 = null; 과 String str2 = ““;은 다릅니다.
int value = 10 + 20; 과 같이 숫자끼리의 연산뿐만 아니라 문자열끼리의 연산도 가능합니다.
System.out.println("7"+7+7);
도 가능한데, 이에 대한결과는 777
이 나옵니다.
System.out.pㄱintln(7+7+"7")
은 147
입니다.
System.**out**.println(name+""+height+""+weight);
이런것도 가능하며 이에 대한 결과로는 홍길동173.575.3
입니다.
정수의 오버플로우
byte b = 127; byte b = 128; //에러발생
형변환(Casting)
형 변환이란?
값의 타입을 다른 타입으로 변환하는 것입니다.
boolean을 제외한 7개의 기본형은 서로 형변환이 가능합니다. 특정 데이터나 변수 앞에 서 작은 데이터를 큰 데이터에 넣을땐 형 변환이 됩니다.
float f = 1.6f;
int i = (int)f;
변환 | 수식 | 결과 |
---|---|---|
int > char | (char)65 | ‘A’ |
char > int | (int)’A’ | 65 |
float > int | (int)1.6f | 1 |
int > float | (float)10 | 10.0f |
-
암시적 형변환(묵시적형 변환)
대입 연산 혹은 산술 연산에서 c 컴파일러가 자동으로 실행해 주는 타입 변환을 가리킵니다.
데이터의 손실이 최소화되는 방향으로 변환이 진행됩니다.
-
명시적 형변환
어떤 자료형으로 선언된 변수를 다른 자료형으로 변환(형 변환)해줍니다.
큰 데이터에서 작은 데이터로 변환될 때 일부를 잘라서 작은 데이터 크기로 맞춰주는 것을 명시적 형변환이라고 합니다.
자주 사용하는 타입⭐
실무에서 자주 사용하는 타입은 다음과 같습니다.
-
정수 -
int
,long
: 자바는 정수에 기본으로int
를 사용합니다. 만약 20억이 넘을 것 같으면long
을 사용하면 됩니다.- 파일을 다룰 때는
byte
- 파일을 다룰 때는
-
실수 -
double
:실수는 고민하지 말고double
을 사용하면 됩니다. -
블린형 -
boolean
:true
,false
참, 거짓을 표현합니다.조건문에서 자주 사용
-
문자열 -
String
:문자를 다룰 때는 문자 하나든 문자열이든 모든String
을 사용하는 것이 편리합니다.
댓글남기기