📌
/*
package chap2;
public class exam {
public static void main(String[] args) {
//1. 잘못된 문장을 골라내고 그 이유를 설명하시오.
char a='a'; // 정상
char b="a"; // 오류 - char <- String 저장
홑따옴표 사용해야함.
String c="a"; // 정상
String d='a'; // 오류 - String <- char 저장
겹따옴표 사용해야함.
char e='ab'; // 오류 - char 타입은 한개의 문자만 저장가능.
'\\''는 가능하다.
String f="ab"; // 정상
char g = ''; // 오류 - char 타입은 한개의 문자만 저장가능.
없어도 안됨.
String h = ""; // 정상. 빈 문자열이 가능.
byte var1 = 128; // 오류 - byte 는 -128 ~ 127까지만 저장가능
short var1 = 128; - var1 변수의 자료형을 저장가능한 자료형으로 변환
short var1 = (byte)128; // 형변환
short var2 = 128; // 정상
int var3 = 28L; // 오류 - int<-long. 형변환 연산자 필수
int var3 = (int)28L;
long var4 = 128L; // 정상
float var5 = 1.2; // 오류 - 실수형 리터널의 기본 자료형 double
float var5 = 1.2f;
double var6 = 1.2; // 정상
float var9 = '1'; // 정상. float <- char타입의 코드값이 실수형으로 출력됨.
System.out.println("var1="+var1); //결과 -128
}
}
/*
2. 변수를 선언하기 위해서는 자료형과 변수의 이름을 결정해야합니다.
변수 이름으로 사용할 수 있는 것을 고르시오.
변수이름으로 사용할 수 없는 이유를 작성하시오
A. false // 예약어 변수 사용금지
B. default // 예약어 변수 사용금지
C. _var
D. a-class // - 문자는 변수 사용 불가.
특수문자는 $와 _만 사용가능.
3. 변수를 선언하기 위해서는 자료형과 변수의 이름을 결정해야합니다.
변수 이름으로 사용할 수 있는 것을 고르시오.
A. s#arp // # 문자는 변수 사용 불가.
특수문자는 $와 _만 사용가능.
B. static // 예약어 변수 사용 금지
C. _class
D. class // 예약어 변수 사용 금지
4. byte 형을 저장할 수 있는 데이터 값의 허용 범위는 얼마입니까?
-128 ~127 : 256가지 값 가능
0 ~ 255 -> 부호때문에 -128 ~ 127까지 범위.
5. float 형 변수 선언이 올바르게 된 것을 모두 고르시오.
A. float f1 = 1F;
B. float f2 = 1.0; // 오류. 1.0 double 형. 형변환 혹은 접미사 필요
C. float f3 = '1'; // 정상. float <- char
D. float f4 = "1"; // 오류. float(기본형) <- String(참조형) 의 형변환 불가.
E. float f5 = 1.0d; // 오류. 형변환 연산자 필요.
*/
package chap2;
/*
5. 다음결과가 나오도록 Test2 프로그램 수정하기
[결과]
c=30
ch=C
f=1.5
l=27000000000
result=true
*/
public class exam {
public static void main(String[] args) {
byte a = 10;
byte b = 20;
// byte c = a + b ; // 오류. 연산의 결과 int.
int c = a + b; // 혹은 byte c = (byte)(a + b) ;
char ch = 'A';
// ch = ch + 2; // 오류. 연산의 결과는 int
ch = (char) (ch + 2);
// float f = 3 / 2; // 오류. float <- int = int/int
float f = 3f/2; // float <- float = float/int
// long 1 = 3000 * 3000 * 3000 * 3000; // 오류. int형의 값의 범위를 넘어감.
long l = 3000L * 3000 * 3000;
float f2 = 0.1f; // float 4비트.
// double d = 0.1; // double 64비트. float 타입과는 저장 범위가 다르다.
double d = 0.1; // 형변환. 혹은 double d = 0.1f;
// boolean result = d==f2;
boolean result = (float)d==f2;
System.out.println("c="+c);
System.out.println("ch="+ch);
System.out.println("f="+f);
System.out.println("l="+l);
System.out.println("result="+result); // 자바 버그.
System.out.printf("%.30f, %.30f\\n",f2,d);
// %.30f : 실수형은 소숫점 이하 30자리로 출력
}
}
'수업(국비지원) > Java' 카테고리의 다른 글
| [Java] chap3 : 연산자 - 이항 연산자(산술, 비교, 논리, 비트, 대입) (0) | 2023.04.14 |
|---|---|
| [Java] chap3 : 연산자 - 단항 연산자 (증감 , 논리, 부호) (0) | 2023.04.14 |
| [Java] chap2 : 변수 - String 연산자 (0) | 2023.04.14 |
| [Java] chap2 : 변수 - 식별자 정의 규칙 및 권장 사항 (0) | 2023.04.14 |
| [Java] chap2 : 변수 - 기본 자료형 간의 연산 결과 (0) | 2023.04.14 |