3. 데이터 형변환, 제어문
• 형변환
프로그램 실행중간에 원래의 자료형 -> 새로운 자료형으로 변환
1) 묵시적인 형변환(=자동형변환)
형변환할때 주의할점
(1) boolean은 형변환이 되지 않음
(2) char -> int로 변경되기위해서는 강제로 형변화때문(char는 양수만 있어서)
작은 데이터+(-,*,/) 큰 데이터 ==> 큰 데이터로 변경됨
======================>
byte -> short -> int -> long -> float(4byte) -> double
Ex) ConversionTest.java
2) 명시적인 형변환(=강제형변환, Type Casting)
<=====================================
byte -> short -> int -> long -> float(4byte) -> double
• 제어문
-> 경우에 따라서 어떤 조건에 영향을 받아서 실행 또는 비실행되는 문장
1) 조건문 -> if문, if~else, 다중 if, switch문 -> 확장
if문 -> 둘중의 하나값을 체크할때 많이 사용
if(조건식) -> 조건식(변수, 수식)
실행문;
else
거짓인 경우 실행문2;
2) 반복문 -> while, do~while, for문-> 확장 for문
3) 분기문(=탈출문) -> p101(break, contunue, return문)
Ex) AbsTest.java(절대값을 구해주는 프로그램)
Ex) AbsTest2.java(절대값을 구하는 프로그램(3항연산자사용))
※ eclipse단축키 => 주석달기(ctrl+shift+/) 주석해제(ctrl+shift+\)
♦ 조건문
if(조건식1)
문장1;
else if(조건식2)
문장2;
…
else
문장n;
◊ 변수를 사용하는 경우
(1) 계산하는 경우
(2) 입출력을 하는 프로그램 -> 입력을 받아서 처리
(3) 현재 프로그램의 상태를 기억할 필요가 있을때
Ex) int mouseclicked = 1; //0
boolean mouseclicked = false;
if(mouseclicked == true) {
그림을 그려라
}
Ex) IfTest.java
과제)
조건1
입력받은 숫자를 짝수, 홀수 판별하는 프로그램
조건2 // j211 -> IfTest2.java
Ex) IfTest3.java => 학점구하기
· switch
1) 다중 if의 대용(속도가 느리다) -> 속도 빠르게 실행
switch(조건식){ //변수, 수식 => 기본적으로 정수(int) => JDK7.0 이상부터는 문자열도 가능
case 값1 : 실행구문;
break;
2) 범위를 지정하기가 쉽지 않다
3) break;을 주지 않으면 다른문장까지 실행됨
…
default : 실행구문;-> 다중 if의 else
}
Ex) SwitchTest.java
Ex) SwitchTest2.java
Ex) SwitchTest3.java

※ 자동 완성 기능 -> ctrl+space -> 단어를 찾아주기
※ 자동 들여 쓰기 -> 전체 블럭->ctrl+A -> ctrl+space+f
♦ 반복문 -> while, do~while, for문
특정 조건에 따라서 특정 구문을 계속 반복수행해주는 구문
=========================================
1. 반복할 횟수 -> 정해져 있는 경우 -> for, while
1) 1~100까지의 합
정해져 있지 않은 경우 -> while
Ex) 파일 입출력
while(조건식){ // 처음부터 조건식이 거짓 – > 한번도 수행이 안된다.
수행할 문장
}
==============
=> do{
수행할 문장; 1)
}while(조건식);
===>먼저 한번은 무조건 실행하고 나서 조건을 체크 ->만족 ->계속수행
조건을 체크 -> 거짓 -> 끝
Ex) WhileTest.java
Ex) WhileTest2.java
Ex)WhileTest2_1.java
과제) ThreeTest2.java 저장
if(su % 2 == 0)// 하나의 조건에 실행할 문장 한개이상
System.out.println(su + “은 짝수입니다.”);
//System.out.printf(“%d은 짝수입니다.\n”, su);
else
System.out.println(su + “은 홀수입니다.”);
=>삼항연산자로 변경