초를 입력 받아 입력받은 초가 몇시간 몇분 몇초인지 계산하기.

3600초 : 1시간, 60초 : 1분

 

3600초는 1시간

60초는 1분

60으로 나누고 60(시간)으로 나눈 나머지 값이 분.

초는 60(분)으로 나눈 값들.

5930초가 저게 맞나 몰라서 걍 3600초로 해봤다.

정수를 입력 받아 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

+ Recent posts