728x90
반응형
Ex16
// 강제 타입 변환 (=명시적 형변환) : 다운캐스팅 short s = 20; -2의15승~0~2의15승-1 byte b; -128~0~127 // b = s; 에러 b = (byte) s; System.out.println("b의 값: " + b + "s의 값 : " + s); s = 200; b = (byte) s; // 오버플로우(overflow) 발생 System.out.println("b의 값: " + b + "s의 값 : " + s); s= -200; b = (byte) s; // 언더플로우(underflow) 발생 System.out.println("b의 값: " + b + "s의 값 : " + s); float f = 50.254f; int i = (int) f; // 값 손실 발생 System.out.println("i의 값: " + i + ", f의 값: " + f); |
b의 값: 20s의 값 : 20 b의 값: -56s의 값 : 200 에러는 나지않지만 돈다. b의 값: 56s의 값 : -200 i의 값: 50, f의 값: 50.254 |
Ex17
System.out.printf(" 문자 %c 의 유니코드/아스키코드 값은 %d \n", 'A', (int) 'A'); //10진수정수값 System.out.printf(" 문자 %c 의 유니코드/아스키코드 값은 %d \n", 'a', (int) 'a'); System.out.printf(" 문자 %c 의 유니코드/아스키코드 값은 %d \n", '0', (int) '0'); System.out.printf(" 문자 %c 의 유니코드 값은 %d \n", '가', (int) '가'); System.out.printf("------------------------------ \n"); System.out.printf(" 문자 %c 의 유니코드/아스키코드 값은 %d \n", 'A' + 1, (int) ('A' + 1)); |
문자 A 의 유니코드/아스키코드 값은 65 문자 a 의 유니코드/아스키코드 값은 97 문자 0 의 유니코드/아스키코드 값은 48 문자 가 의 유니코드 값은 44032 ------------------------------ 문자 B 의 유니코드/아스키코드 값은 66 |
제어문
제어문 : 실행의 흐름을 제어하는 명령문 | ||
1. 조건문 : 어떠한 조건에 의해서 명령을 건너뛸 수 있는 명령문 | ||
if문 -실행문이 1줄인 경우에만 {}생략가능 |
if (조건들){ 실행문들; } |
int age = 20; if(age>=19){ System.out.println("성인"); } |
if~else문 (1개 값만 실행) |
if (조건들){ 실행문들; } else { 실행문들; } |
if(age>=19){ System.out.println("성인"); } else {System.out.println("미성년자"); } |
if~else if~else문 | if (조건들){ 실행문들; } else if (조건들){ 실행문들; } else if { 실행문들; } |
if(빨간불){ 실행문들; } else if(주황불){ 실행문들; } else if(초록불){ 실행문들; } //조건이 3개인 경우 마지막은 그외로 생략가능 |
중첩문 | if (조건A){ 실행문A; } else { if (조건B) 실행문B;} } |
if(age>=19){ System.out.println("성인"); } else {System.out.println("미성년자"); if(age>=16){System.out.println("혼인");} else {System.out.println("결혼불가능");} } |
switch~case문 | switch(케이스에 해당 되는값 byte, short, int, char, String; case 케이스값1 : 실행문 ; [break;] 선택(생략가능) case 케이스값2 : 실행문 ; [break;] 선택(생략가능) default: 실행문 ; [break;] 필요x } |
|
2. 반복문 : 어떠한 명령(실행)을 반복적으로 실행하는 명령문 | ||
for문 - 조건 자체가 만족이 되어야 실행됨 |
→ for( 초기식 ; 조건식 ; 증감식(후위)) { ① ②⑤← ④⑦ 실행문들; ③⑥ } 초기식 - 처음 기준, 변수선언문 조건식 - 기준의 조건을 지정 증감식 - 제어식 후위연산자 |
for(int a = 0 ; a <= 10; a++){ System.out.println(a); } |
- for 무한반복문 | for( ; ; ){ 실행문들; ++; <필수>제어식; if( ) break ; } |
for( ; ; ){ System.out.println(a); a++; if(a>10) break; } |
while문 - 조건 자체가 만족이 되어야 실행됨 |
<필수>변수선언,기준식; while(조건식) { 실행문들; ++; <필수>제어식; if( ) break ; } |
int a = 0; while(a<=10){ System.out.println(a); a++; if(a>10) break; } |
- while의 무한반복문 | <필수>변수선언,기준식; while(true) { 실행문들; ++; <필수>제어식; if( ) break ; } |
int a = 0; while(true){ System.out.println(a); a++; if(a>10) break; } |
do~while문 - 한 번은 실행됨 |
<필수>변수선언; do{ 실행문들; ++; <필수>제어식; if( ) break ; }while(조건) ; |
int a = 0; do{ System.out.println(a); a++; if(a>10) break; } while(a<=10) |
- do~while 무한문 | <필수>변수선언; do{ 실행문들; ++; <필수>제어식; if( ) break ; }while(true) ; |
int a = 0; do{ System.out.println(a); a++; if(a>10) break; } while(true) |
Ex01
//if문 int i =3; if (i <= 5) { System.out.println("1번"); } if (i <= 4) { System.out.println("2번"); } if (i <= 3) { System.out.println("3번"); } if (i <= 2)//false라 {}진입x { System.out.println("4번"); } if (i <= 1) { System.out.println("5번"); } |
1번 2번 3번 |
// if~else if~else문 int i =3; if (i <= 5) { System.out.println("1번"); } else if (i <= 4) { System.out.println("2번"); } else if (i <= 3) { System.out.println("3번"); } else if (i <= 2) { System.out.println("4번"); } else if (i <= 1) { System.out.println("5번"); } |
1번 |
Ex02
// if~else문 int n = 9; //만약에 n(9)를 2로 나눈 나머지가 1과 같으면 if (n % 2 ==1) { //홀수를 출력하고 줄 바꿈을 하세요. System.out.println("홀수"); } else { //n(9)을 2로 나눈 나머지가 1이 아니라면 //짝수를 출력하고 줄바꿈을 하세요. System.out.println("짝수"); } |
홀수 |
Ex03
// if~else if~else문 //변수의 생명주기 {}이내, cbc int score = 88; char grade; if (score >=90) //false라 {}진입x { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else if (score >= 60) { grade = 'D'; } else { grade = 'F'; } System.out.println("학점은 " + grade); |
학점은 B |
Ex04
//3항연산자 if~else 축약시켜놓은 int a = 12, b = 4, c = 19; int max = (a > b) ? a : b; //true 12 //조건식 ? 참값,참실행문 : 거짓값, 거짓실행문 max = (max > c) ? max : c; //false 19 System.out.println("최대값은 " + max); |
최대값은 19 |
Ex05
if else & switch~ case | |
if else는 조건에 부합할때까지 연산 | int score = 78; char grade; if (score >=90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else if (score >= 60) { grade = 'D'; } else { grade = 'F'; } |
switch는 case로 바로 넘어감 필요한 값이 1개인 경우 case별 [break;] n개인 경우 x |
int s = 78; switch(s/10)//7{ case10 : case9 : System.out.println('A'); case8 : System.out.println('B'); [break ;] //else는 내장, case7 : System.out.println('C'); |
//switch~case문 int score = 88; char grade; switch (score/10)//8 { case 10 : grade = 'A'; break; case 9 : grade = 'A'; break; case 8 : grade = 'B'; //'B' break;제어어 case 7 : grade = 'C'; break; case 6 : grade = 'D'; break; default : grade = 'F'; } System.out.println("학점은 " + grade); } |
학점은 B |
case별 break;가 없으면 마지막 default 값만 추출 |
학점은 F |
Ex06
//switch~case문 //3점 미만인 학생들 명단 모두 출력되도록 수정 /* * 박희동 또치 마이콜 */ int i=3; String str= ""; switch(i) { case 6: str += "고길동 "; case 5: str += "도우넛 "; case 4: str += "둘리 "; case 3: str += "박희동 "; case 2: str += "또치 "; default : str += "마이콜 "; } System.out.println(str); |
박희동 또치 마이콜 |
728x90
반응형
'[JAVA]' 카테고리의 다른 글
[20231214] 4일차 오후 - do ~while, for문 (0) | 2023.12.14 |
---|---|
[20231214] 4일차 오전 (0) | 2023.12.14 |
[20231213] 3일차 오전 (0) | 2023.12.13 |
[JAVA] 이스케이프 문자 (0) | 2023.12.12 |
2일차 20231212 (0) | 2023.12.12 |