728x90
반응형
SMALL
//2-4. 다음 중 변수를 잘못 초기화 한 것은?
				byte b = (byte) 256;    // overblow 발생했다!
        char c = ' ';           // char 타입은 빈 문자 불가능하다!!
        char answer = 'no';     // char 타입은 문자 하나만 가능하다!!
        float f = 3.14          // float 타입이기 때문에 리테일에 접미사 f 를 붙여야하고, 끝에 (;)세미콜론을 붙여야한다!!

//2-7. 다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, '오류' 라고 적으세요.
System.out.println("1" + "2");
System.out.println(true+"");
System.out.println('A' + 'B');
System.out.println('1' + 2);
System.out.println('1' + '2');
System.out.println('J' +"ava");
System.out.println(true + null);// 오류

//2-8. 아래는 변수 x, y, z의 값을 서로 바꾸는 예제이다. 결과와 같이 출력되도록 코드를 넣으세요.
public class Exercise2_8{
    public static void main(String[] args){
       int x = 1;
       int y = 2;
       int z = 3;

       System.out.println("----------------------");

        x++;
        ++y;
        --z;
        --z;

       System.out.println("x="+x);
       System.out.println("y="+y);
       System.out.println("z="+z);
    }
}
//예상 결과 : x=2, y=3, z=1

byte b = 10;
char ch = 'A';
int i = 100;
long l = 1000L;
//3-1. 다음 중 형변환을 생략할 수 있는 것은? (모두 고르시오)
b = (byte)i;
ch = (char)b;
short s = (short)ch;
float f = (float)l;
i = (int)ch;

//3-2. 다음 연산의 결과와 그 이유를 적으세요.
class Exercise3_2{
   public static void main(String[] args){
      int x = 2;
      int y = 5;
      char c = 'A'; // 'A'의 문자코드는 65
      
      System.out.println(y >= 5 || x < 0 && x > 2);
      System.out.println(y += 10 - x++);
      System.out.println(x += 2);
      System.out.println(!('A' <= c && c <= 'Z'));
      System.out.println('C' - c);
      System.out.println('5' - '0');
      System.out.println(c + 1);
      System.out.println(++c);
      System.out.println(c++);
      System.out.println(c);

/*
        true 	y는 5보다 같거나 큰 수 또는 x는 0보다 작고 2보다 크다 // x는 2이기 때문에 진실, y도 5이기 때문에 진실!
        13	y=5, x=2 // y +=(덧셈) 10 , x++; 2+1 // [(5 + 10) - (2 + 1) = 12]
        5 전체로 계산했을때, 위에서 증강했기 때문에 3+2	     다 주석 처리 할때 4  x=2, x +=2;  2+2 =4
        false	(!('A' <= c && c <= 'Z')) 참과 거짓 찾기 'A' <=c 그리고 c<= 'Z' //'A'는 char c라고 이미 선언했고, 아스키코드 65 때문에 참 그리고 'Z'는 아스키코드로 'Z'는 c보다 크기 때문에 참. &&때문에 모두 참이여야 참을 반환하지만  '!' 때문에 거짓으로 표시
        2	C 아스키코드 = 67 - 65 = 2
        5	'5' - '0' 뺄셈 연산처럼 보이나 사실은 각각의 문자로 출력되었다. //의문점 보통 문자로 출력이 되었다면, null로 표시되지 않나? 확인 필요 해결! 문자열 0을 빼기 0을 한 순간 정수형이 된다!!
        66	c=A,   A 아스키코드 = 65 +1 = 66
        B	c=A,   A 아스키코드 = 65// ++c; 는 증강이기때문에 66이며 66은 아스키코드로 B에 해당
        B	c=A,   A 아스키코드 = 65// c++; 는 증강이기때문에 66이며 66은 아스키코드로 B에 해당
        C
        */
   }
}

//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다. 
//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. 
//알맞은 코드를 넣으시오.
class Exercise3_3 {
   public static void main(String[] args){
      int num = 456;
      System.out.println(num>0?"양수":(num==0?"0":"음수"));
   }
}

//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. 
//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. 
//알맞은 코드를 넣으시오.
class Exercise3_4{
   public static void main(String[] args){
      int numOfApples = 123; // 사과의 개수
      int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수)
      int numOfBucket = ((numOfApples / sizeOfBucket +(numOfApples%sizeOfBucket >0 ? 1 : 0) );); // 모든 사과를 담는데 필요한 바구니의 수
      
      System.out.println("필요한 바구니의 수 :"+numOfBucket); 
   }
}
//예상 결과 -> 필요한 바구니의 수 :13
// 123 /10 +1

//3-5. 아래는 변수 num의 값에 따라 '양수', '음수', '0'을 출력하는 코드이다.
//삼항연산자를 이용해서 빈칸에 알맞은 코드를 넣으시오.
//Hint : 삼항 연산자를 두 번 사용할 것!
class Exercise3_5{
   public static void main(String[] args){
      int num = 10;
      System.out.println(10 - num%10);
   }
}
//예상 결과 : 양수

//3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다.
//변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오.
// 단, 변환값은 소수점 셋째자리에서 반올림하며, Math.round() 함수를 사용하지 않고 처리할 것!
class Exercise3_6{
   public static void main(String[] args){
      int fahrenheit = 100;
      float celcius = ((int)( (5 / 9f * (fahrenheit - 32) ) * 100 + 0.5) / 100f;);
      
      System.out.println("Fahrenheit:"+fahrenheit);
      System.out.println("Celcius:"+celcius);
   }
}
//예상 결과 : Fahrenheit:100, Celcius:37.78
728x90
반응형
LIST

+ Recent posts