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; double, float(x)){
           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

+ Recent posts