❓
//1. 잘못된 문장을 골라내고 그 이유를 설명하시오.
char a='a';
char b="a";
String c="a";
String d='a';
char e='ab';
String f="ab";
char g = '';
String h = "";
byte var1 = 128;
short var2 = 128;
int var3 = 28L;
long var4 = 128L;
float var5 = 1.2;
double var6 = 1.2;
float var9 = '1';
char a='a'; //정상
//char b="a"; //""큰따옴표는 문자열.String저장->char는 한번에 1개의 문자만 할당가능
String c="a"; //정상
//String d='a';//''기호는 한개문자저장.char.<-String은 문자열 ""로 표현.
//char e='ab';//char는 한개문자만 저장
String f="ab";//정상
//char g ='\’'; // 특수문자 \’로 넣어야함
//String h = "\""; //특수문자 \"로 넣기
//byte var1 =128;//오류
//short var1 =128; //var1변수의 자료형을 저장가능한 자료형
//byte var1 = 127; // byte범위 -128~127까지만 표현가능
short var2 = 128; //정상
//int var3 = 28L; // int<-long. 형변환 연산자필수
long var4 = 128L;//정상 자동변환, (int)128L
//float var5 = 1.2; //실수형리터럴의 기본자료형 더블. float 숫자뒤에f,F
double var6 = 1.2; //정상
float var9 = '1'; //정상 1의 아스키코드값이 49이므로 답이 맞음.
2. 변수를 선언하기 위해서는 자료형과 변수의 이름을 결정해야합니다.
변수 이름으로 사용할 수 있는 것을 고르시오.
변수이름으로 사용할 수 없는 이유를 작성하시오
A. false
B. default
C. _var
D. a-class
A. false // 예약어 불리언 사용불가
B. default // 예약어 변수이름으로 사용불가
C. _var //가능 문자사이에 공백표현시 언더바추가 스네이크방식
D. a-class // 하이픈사용불가
답 C
3. 변수를 선언하기 위해서는 자료형과 변수의 이름을 결정해야합니다.
변수 이름으로 사용할 수 있는 것을 고르시오.
A. s#arp
B. static
C. _class
D. class
A. s#arp //# 사용불가
B. static //예약어 사용불가
C. _class //상수일때 스네이크방식
D. class // 참조자료형에서
답: 변수이름 첫자는 소문자 의미변경은 대문자
C
4. byte 형을 저장할 수 있는 데이터 값의 허용 범위는 얼마입니까?
답 byte 범위 -128~127 : 256가지 값 가능
: 0~255 : 부호때문에 -128~127까지 범위.
5. float 형 변수 선언이 올바르게 된 것을 모두 고르시오.
A. float f1 = 1F;
B. float f2 = 1.0;
C. float f3 = '1';
D. float f4 = "1";
E. float f5 = 1.0d;
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; //오류.형변환 연산자 필요
답 A,C 출력하면 49.0. 49는 1의 아스키코드값
5. 다음결과가 나오도록 Test2 프로그램 수정하기
[결과]
c=30
ch=C
f=1.5
l=27000000000
result=true
package chap2;
public class Test2 {
public static void main(String[] args) {
byte a = 10;
byte b = 20;
byte c = (byte)(a + b);//연산의 결과 int
char ch = 'A';
ch = (char)(ch + 2); //연산의 결과 int 아스키코드에 숫자가더해져서 B가된다.
float f = 3 / 2; //float <- float=float/int
long l= (long)(3000)*(3000)*(3000);//명시적변환.int*int*int=int여서 long으로
float f2 = 0.1f;
double d = 0.1f;//자동변환되어서 f
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("%.15f,%.15f\\n",f2,d);//소수점이하15자리까치출력,
System.out.printf("%.30f,%.30f\\n",f2,d);//실수형 소수점이하 30자리출력 }
//두자료형사이에 가비지값이 있다..?를 보려주려고 이렇게 출력
}
'수업 문제(국비 지원) > Java' 카테고리의 다른 글
| [JAVA] 2022.08.30 - java 가변배열, 클래스 정의 사용 (0) | 2023.04.27 |
|---|---|
| [JAVA] 2022.08.29 - java 배열, 정렬 (0) | 2023.04.27 |
| [JAVA] 2022.08.25 - java 반복문 (0) | 2023.04.27 |
| [JAVA] 2022.08.24 - java 조건문 (0) | 2023.04.27 |
| [JAVA] 2022.08.23 - java 연산자 (0) | 2023.04.27 |