일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 성적프로그램
- Bootstrap
- tomcat
- HTML
- SQL
- 답변형 게시판
- HTTP Status 500
- Oracle DB
- distinct
- Java
- 부트스트랩
- rownum
- JavaScript
- jQuery
- 제약조건
- 모조칼럼
- alias
- github
- 이클립스
- ||
- 과정평가형
- oracle
- sql developer
- 한글 인코딩
- CRUD
- group by
- git
- Oracle SQL
- JSP
- HTTP Status 404
Archives
초급의 끄적거림
[JAVA] 자료형 변환 Datatype Conversion (자동형, 강제형 변환, 아스키 코드) 본문
[자료형 변환]
⊙ Datatype Conversion
⊙ 자동형 변환, 강제형 변환(= cast 변환)
1) 자동형 변환
⊙ byte < short < int < long
⊙ float < double
⊙ 정수형이 실수형을 따라간다
byte a=3;
int b=a; //b 값에 a 를 전달하는 것, 작은 byte가 큰 집인 int로 들어가는 것은 문제 없음. 결론적으로 b 값은 3
System.out.println(a); //3
System.out.println(b); //3
long c=5;
// int d=c; 큰 long이 작은 int 로 들어가는 일은 에러 발생.
System.out.println(c);
float e = 1.2f;
double f=e; //이건 가능하지만 반대는 불가, <자동형 변환>
// e=f; 불가능
System.out.println(f);
double g=3;
System.out.println(g); //3.0 - 정수형에 double을 붙이면 .0을 붙여서 실수화
2) 강제형 변환 (cast 연산자)
⊙ 필요한 곳에서 일시적으로 변환
⊙ (자료형)값
⊙ double형인지 float 형인지 알려주지 않은 경우, 대체로 double 형으로 인식, int와 double 형이 기본
System.out.println((int)3.5);
//3, 실수이지만 int가 붙으면서 뒤에 있는 소수점이 안나옴
System.out.println((double)4);
//4.0 , 정수이지만 실수의 명령어 double이 쓰이면서 소수점까지 사용됨
System.out.println((int)2.6+(int)5.7); //2+5 = 7
System.out.println((int)(2.6+5.7)); //8.3 → 8
3) int형과 char형과의 형변환
⊙ ASCII코드, ASCII 문자 (ASCII : 아스키)
System.out.println(65);
System.out.println((char)65); //A로 뜨지만 'A'라는 의미로 사용된 것
System.out.println((char)66); //'B'
System.out.println((char)67); //'C'
System.out.println((char)97); //'a'
System.out.println((char)98); //'b'
System.out.println((int)'A'); //65
System.out.println((int)'a'); //97
System.out.println((int)'+'); //43, 캐릭터형 더하기
System.out.println((int)' '); //32 공백
System.out.println((int)'\r'); //13 엔터, 공백과 함께 자주 쓰임
System.out.println('A'-'a'); //65-97= -32
System.out.println("#"+(char)('b'-'B')+"#"); //#(98-66)# → #32# → # (공백) #
예제)
int a=3, b=5;
char op='+';
System.out.println(a+op+b+'=' + (a+b));
//+의 아스키코드값 : 43
// 3+43+5=8
System.out.println(a+""+op+""+b+"="+(a+b));
//3+"+"+5=8
'JAVA' 카테고리의 다른 글
[JAVA] if 문, switch문 (+ 연습문제) (0) | 2019.08.19 |
---|---|
[JAVA] bit 연산자 (비트곱, 비트합), shift연산자, 보수 (0) | 2019.08.19 |
[JAVA] 연습문제 (0) | 2019.08.19 |
[JAVA] 삼항연산자, 대입연산자 (0) | 2019.08.19 |
[JAVA] 연산자 연습 (산술, 비교, 논리 연산자) (0) | 2019.08.19 |
Comments