1절 변수
1. OX문제
(1) O
(2) X -> 틀림.. 변수는 선언할때 사용한 타입의 값만 저장 가능!!
int num = 0;
int num = "안녕"; // 에러 발생 Type mismatch: cannot convert from String to int
(3) O
(4) X
2. 변수명으로 가능한 것에 O표
moduleName (O)
6hour(x) -> 숫자로 시작 안됨
class(x) -> 예약어 안됨
$value(O)
age (O)
int(x) -> 예약어 안됨
3. 컴파일에러가 발생하는 곳 : ④
score2 값을 아직 안넣어준 상태로 계산을 할 수 없기때문
4. 10번 라인에서 컴파일 에러 발생
- 이유 : v3은 if문 안에서 선언되었으므로 그 if문 안에서만 사용가능한데 그 if문으로 빠져나와서 사용했으므로 에러
2절 기본타입
1. 메모리 사용 크기별 자바의 기본 타입
정수타입 : byte(1) short(2) int(4) long(8)
실수타입 : float(4) double(8)
논리타입 : boolean(1)
2.
(1) X
byte : -128~127
(2) X
문자O 문자열X
(3) O
아스키코드로 읽힘 //A로 출력
(4) X
범위 넘어감
(5) X
float var = 3.14f; 로 변경
(6) O
(7) X 문자열안에 큰따옴표 불가
(8) X boolean은 true랑 false만 가능, 0은 int 타입임
(9) X 1e2 = 100.0이라서 double임
(10) O 1e2f = 100.0
3. 자바는
재미있는 \프로그래밍\ 언어
입니다.
4. 범위를 벗어났기때문에
5. 출발합니다.
3절 타입변환
1. byte(1) short(2) char(2) int(4) double(8)
① 가능
② 가능
③ 불가능
④ 가능
2.
① 가능
② 가능
③ 가능
④ 불가능 " " -> 문자열이므로 char타입으로 변환할 수 없음
3.
① 불가능 -> int타입임 (이클립스에서 기본 계산은 전부 int로 생각!!)
에러 내용 : Type mismatch: cannot convert from int to byte
② 가능
③ 가능
④ 가능
4.
5번 라인에서 에러
-> 이클립스에서 기본 계산은 전부 int로 생각!!
5.
char c1 = 'A';
// char c2 = c1 + 1; // -> 에러남 (char + int 라서 값이 int임! )
int c2 = c1 + 1;
System.out.println(c2); // 66
System.out.println((char)c2); // B
6.
int x = 5;
int y = 2;
int result = x / y;
System.out.println(result); // 2
7.
int x = 5;
int y = 2;
double result = (double)x / y;
System.out.println(result);
8.
double var1 = 3.5;
double var2 = 2.7;
// 6이 나오도록
int result = (int)(var1 + var2);
System.out.println(result); // 6
//6.2 가 나오도록
double result = var1 + var2;
System.out.println(result);
9.
long var1 = 2L;
float var2 = 1.8f;
double var3 = 2.5;
String var4 = "3.9";
// Integer.parseInt(var4); 안되는 이유 : 3.9가 double형이라서?
int result1 = (int)var1 + (int)(var2 + var3) + (int)Double.parseDouble(var4);
int result2 = (int)var1 + (int)var2 + (int)(var3 + Double.parseDouble(var4));
int result3 = (int)(var1 + (int)var2 + var3 + Double.parseDouble(var4));
int result4 = (int)(var1 + var2 + (int)var3 + Double.parseDouble(var4));
int result5 = (int)(var1 + var2 + var3 + (int)Double.parseDouble(var4));
System.out.println(result1); // 9
System.out.println(result2); // 9
System.out.println(result3); // 9
System.out.println(result4); // 9
System.out.println(result5); // 9
10.
5 23 23
11.
byte value1 = Byte.parseByte("10");
int value2 = Integer.parseInt("1000");
float value3 = Float.parseFloat("20.5");
double value4 = Double.parseDouble("3.14159");
4절 시스템 입출력
1.
String name = "감자바";
int age = 25;
String tel1 = "010", tel2 = "123", tel3 = "4567";
System.out.println("이름: " + name);
System.out.print("나이: " + age + "\n");
System.out.printf("전화: %s-%s-%s",tel1,tel2,tel3);
2.
Scanner scanner = new Scanner(System.in);
System.out.print("첫번째수: ");
String strNum1 = scanner.nextLine();
System.out.print("두번째수: ");
String strNum2 = scanner.nextLine();
int num1 = Integer.parseInt(strNum1);
int num2 = Integer.parseInt(strNum2);
int result = num1 + num2;
System.out.println("덧셈 결과: " + result);
3.
Scanner scn = new Scanner(System.in);
System.out.println("[필수 정보 입력]");
System.out.print("1. 이름: ");
String name = scn.nextLine();
System.out.print("2. 주민번호 앞 6자리: ");
String registNum = scn.nextLine();
System.out.print("3. 전화번호: ");
String phoneNum = scn.nextLine();
System.out.println("\n[입력한 내용]");
System.out.println(name);
System.out.println(registNum);
System.out.println(phoneNum);
[필수 정보 입력]
1. 이름: 홍길동
2. 주민번호 앞 6자리: 123456
3. 전화번호: 010-123-1234
[입력한 내용]
홍길동
123456
010-123-1234
'🤼♂️ 5. Project > 5-2 연습문제 풀이' 카테고리의 다른 글
[혼자공부하는자바] 6장 클래스 (0) | 2021.08.02 |
---|---|
[혼자공부하는자바] 5장 참조타입 (0) | 2021.07.30 |
[혼자공부하는자바] 4장 조건문과 반복문 (0) | 2021.07.29 |
[혼자공부하는자바] 3장 연산자 (0) | 2021.07.29 |
[혼자공부하는자바] 1장 (0) | 2021.07.26 |
댓글