정수를 입력 받아 1의 자리에서 절삭한 값과, 1의 자리에서 반올림한 값을 출력하는 프로그램.

 

실행 예

정수 ? 1267

반올림 결과 : 1270

절삭한 결과 : 1260

 

1의 자리에 +5를 하면 십의 자릿수가 올라가거나 그대로가 된다. 그때 10으로 나누면 1의 자리에 있던 숫자들이 사라지고 (int는 정수형이기 때문) 그 후에 다시 10을 곱해서 원래의 숫자수로 맞춘다. 

 

절삭한 결과는 그냥 10으로 나눠서 1의 자리 숫자들을 없애고 다시 10을 곱한다.

두 정수를 입력 받아 사칙연산하기.

int 는 정수형 이기 때문에 1/5 는 0.

c = a + b; 컴파일 오류 => int + int => int

사칙연산은 4byte 이상의 자료형에서만 쓸수있다.

따라서 short였다가 연산을 위해 int로 바뀜. 그래서 다시 short에 넣기 위해. short를 적어줘야한다.

 

따라서 c 에 (short)자료형태로 a+b를 넣으라고 해줘야함.

c = (short)(a + b);

 

'A' 는 65값을 의미.

 

y = 'A' +10; 

이면 65+10

75에는 k의 문자가 있기에 k가 나온다.

 

char 자료형에서 문자 + 숫자 더하기 불가능.

y = z + 10; 이 안되므로 'z' 면 가능!

y = (char)(z + 10); 이렇게 해야함.

문자열

'A' + 10 이 먼저 우선순위라서 먼저 연산.

'A' 는 65의 숫자 이므로 65+10

문자+기본자료형 => 문자열

75korea가 나온다.

 

문자열+문자 = >문자열 

koreaA10

s = 12+12+"A";는 24A

s = ""+12+12+"A"; 는 1212A 가 된다. 

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0702_Ex11_Operator : 두 정수를 입력 받아 사칙연산하기  (0) 2021.07.04
0702_Ex10_Operator  (0) 2021.07.04
0702_Ex08_boolean  (0) 2021.07.04
0702_Ex07_DataType  (0) 2021.07.04
0702_Ex06_Precision  (0) 2021.07.04

boolean 자료형은 1byte 이다.

C언어와 다르게 0, 1로 설정하는 것이 아닌 true, false로 설정해야한다.

 

b = 0;

b = "false"; 둘 다 컴파일 오류가 발생한다.

 

b = true;

b = false; 로 설정해야한다.

 

여태까지 자료형에 대해 알아보았다.

기본자료형은 8가지가 있다.

정수형은 byte(1byte -128~127까지표현), short(2byte), int(4byte. -21억~21억까지 표현) , long(8byte)이 있다.

문자형은 char(2byte)이 있다.

실수형은 float(4byte), double(8byte)이 있다.

마지막으로 boolean 이 있다.

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0702_Ex10_Operator  (0) 2021.07.04
0702_Ex09_String  (0) 2021.07.04
0702_Ex07_DataType  (0) 2021.07.04
0702_Ex06_Precision  (0) 2021.07.04
0702_Ex05_DataType  (0) 2021.07.04

 

\u0041은 16진수 유니코드를 의미하는 것이다. (즉 16진수 0041은 10진수로 65)

c = '\101'; //8진수 유니코드를 나타냄. (8진수 101은 10진수로 65)

\ 출력을 위해서는 \\를 쳐야함(두 번)

char는 유니코드는 6만 5천개 정도를 표현할 수 있다. 따라서 만약

c = 70000; 는 오류가 남.

c = a;로 하면 컴파일 오류가 나는데 char는 int에 넣을 수 없기 때문이다.

 

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0702_Ex09_String  (0) 2021.07.04
0702_Ex08_boolean  (0) 2021.07.04
0702_Ex06_Precision  (0) 2021.07.04
0702_Ex05_DataType  (0) 2021.07.04
0702_Ex04_Literal  (0) 2021.07.04

정밀도

float는 정밀도가 낮으므로 사용시 조심해야 한다.

같은 값들을 표현한 것처럼 보이지만 실행시에

float의 2_000_000_050 값은 2000000000.00 으로 표현되기 때문이다.

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0702_Ex08_boolean  (0) 2021.07.04
0702_Ex07_DataType  (0) 2021.07.04
0702_Ex05_DataType  (0) 2021.07.04
0702_Ex04_Literal  (0) 2021.07.04
0702_Ex03_DataType  (0) 2021.07.04

실수형 자료형, 리터럴, 형 변환

float 는 단정도형 실수를 표현하는 자료형으로 4byte

double 은 배정도형 실수를 표현하는 자료형으로 8byte

a = 0;을 넣으면 int는 float로 자동 변환되어 저장이 된다.

a = 0.5f; 는 f를 붙여서 리터널을 표시해준 것이다.

char는 float에 대입할 때 자동으로 float로 형 변환이 된다. A의 값은 65.

 

double 을 float에 넣으려면 형 변환 (float)를 해줘야 한다.

 

 

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0702_Ex07_DataType  (0) 2021.07.04
0702_Ex06_Precision  (0) 2021.07.04
0702_Ex04_Literal  (0) 2021.07.04
0702_Ex03_DataType  (0) 2021.07.04
0702_Ex02_Scanner.java  (0) 2021.07.04

+ Recent posts