[JAVA] 자료형 변수와 상수 그리고 연산자

들어가기에 앞서

데이터(단순히 수치를 나타내는 수치같은 것)
데이터에서 자료를 표현하는 방식 - 0과1로 표현한다
이진수, 십진수, 8진수, 16진수
1비트- 물리적인 단위
8비트=1byte(컴퓨터에서 처리하는 최소 용량)
0 0 0 0 0 0 0 0 <-- 8비트(1byte)
0 0 0 0 0 0 1 0 <-- 8비트 == (10진수-> 2)
0 0 0 0 0 0 1 1 <-- 8비트 == (10진수-> 3)
0 1 1 1 1 1 1 1 <-- 8비트 == (10진수-> 127(1byte 최대크기)) 맨앞 부호비트 양수 0 음수 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (2byte)
변수 - 데이터를 담을 수 있는 메모리 공간을 의미 한다.
변수 - 변하는 수 이기도 하다.
변수에 선언 
변수 초기화(값을 넣다)
변수의 선언과 초기화도 한번에 가능하다

 

변수의 이름 규칙

1. 대소문자가 구분되며 길이에 제한이 없다.

- Name과 name은 서로 다른 것으로 간주된다.

2. 자바에서 사용하는 예약어는 사용할 수 없다.

- while, break, for, if

3. 숫자로 시작해서는 안 된다.

- top10은 허용하지만, 7up은 허용되지 않는다.

4. 특수문자는 '_', '$'만을 허용한다.

 

기본 자료형(primitive data type)의 종류

byte short int long 예제

문자 자료형

정수형 변수의 선언 및 출력

 

결과

A

H

b

 

유니코드를 이용하여 정수형 변수 선언 및 출력

논리형(boolean) 변수 선언 및 출력

결과

false

true

변수 연습 문제

정답

더보기

1 int name1 = 550;

2 long name2 = 22000000000;

3 char name3 = 'A';

4 float name4 = 0.12345678f; or float name4 = 0.12345678F;

5 double name5 = 200.0012;

6 boolean isOk;

7 isOk = false;

8 isOk = true;

9 변하는 수 입니다. 값(주소값)을 저장할 수 있는 메모리 공간을 의미한다.

10.

정수형 (byte, short, int, long) 1, 2, 4, 8

실수형 (float, double) 4,8

문자형 (char) 2

논리형 (boolean) 1

상수와 literal

원래 10, 123, 3.14, 'A'와 같은 값들이 '상수'인데, 프로그래밍에서는 상수를 '값을 한번 저장하면 변경할 수 없는 저장공간'으로 정의하였기 때문에 이와 구분하기 위해 상수를 다른 이름으로 불러야만 했습니다. 그래서 상수 대신 리터럴이라는 용어를 사용한다. 리터럴은 단지 우리가 기존에 알고 있던 '상수'의 다른 이름일 뿐입니다.

결과

 

12

12

12

형 변환

결과 

-10

10

-10

 

형 변환 응용 및 문제 만들기

문제1

출력

문제2

출력

문제3

출력

문제4

출력

65

65

65

A

A

A

10.0

=====================

문제 5

출력

65

90

97

122

25

25

1

25



25.0

65

A

 

 

 

대입 연산자

 

호 연산자

 

오늘의 퀴즈

1번 다음 중 오류가 나는 코드는?

 

int iNumber1=5;

double dNumber1;

_________________

보기

1.dNumber1 = iNumber1;

2.iNumber1 = dNumber1;

 

2번

'A'=65 'B'=66 ... 'Z'=90

'a'=97 'b'=98

System.out.println('Z'-'A');

System.out.println(int('Z')-int('A'));

System.out.println(int('C')-int('B'));

System.out.println(int('c')-int('B'));

 

3번

System.out.println(bx-ax);

System.out.println((int)(bx-ax));

System.out.println((float)(int)bx-(int)ax);

System.out.println((float)(int)(bx-ax));

출력결과는?

 

정답

더보기

1번 2

더 큰 용량을 가진 자료형 변수(dNumber1)를 작은 용량을 가진 자료형 변수(iNumber1)에 대입할 수 없다

iNumber1 = (int)dNumber1; 는 가능 (강제 형 변환)

dNumber1 = iNumber1; 은 자동으로 형 변환되어 dNumber1는 5.0로 초기화

 

2번

25

25

1

33

 

 

3번

5.3

5

5.0

5.0