코딩공부 46일차(1): 자바의 정석 / 자바의 정석 32~35강
개발 공부 46일차
자바의 정석 기초편 강의
https://www.youtube.com/watch?v=oJlCC1DutbA&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp
총 171개의 강의로 구성되어 있다
총 강의 시간은 80시간 정도
강의는 기초편을 기준으로 제작되어 있지만,
http://www.yes24.com/Product/Goods/24259565
Java의 정석 - YES24
최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아
www.yes24.com
링크로 첨부한 자바의 정석 3판으로도 무리가 없다는 댓글이 있어 그대로 진행
나는 기초 강의를 모두 수강한 상태기 때문에 새로운 내용이 아니면 밑에 요약정리하지 않을 예정이다
ch 4 - 1~4
조건문 if문과 if-else문
(3판 기준 136~141쪽)
제어문
1. 조건문
if, switch
조건을 만족할 때만 {}를 수행(0~1번)
2. 반복문
for, while
조건을 만족하는 동안 {}를 수행(0~n번)
조건문
if (조건식) { //true나 false
//조건이 참일 때 수행될 문장
} else {
//조건이 거짓일 때 수행될 문장
}
자바에서는 한 문장만 있을 때는 {}를 생략하기도 한다
조건식 예시
조건식 | 조건이 참일 조건 |
str.equals("yes") | 문자열 str의 내용이 yes일 때(대소문자 구분) |
str.equalsIgnoreCase("Yes") | 문자열 str의 내용이 yes일 때(대소문자 구분 안 함) |
ch 4 - 5~8
if-else if문, 중첩 if문
(3판 기준 141~146쪽)
여러 개 조건식 else if문
if (조건식1) { //true나 false
//조건식1이 참일 때 수행될 문장
} else if (조건식2) {
//조건식2가 참일 때 수행될 문장
} else {
//조건식을 모두 만족하지 않을 때 수행될 문장
}
*else 블럭은 생략 가능
예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.util.Scanner;
public class Ex4_4 {
public static void main(String[] args) {
int score = 0;
char grade = ' '; //공백이 아니라 D로 초기화하고
System.out.print("점수를 입력하세요.>");
Scanner sc = new Scanner(System.in);
score = sc.nextInt();
if(score >= 90) {
grade = 'A';
}else if(score >= 90) {
grade = 'B';
}else if(score >= 90) {
grade = 'C';
}
else {
grade = 'D'; //else 블럭을 생략해도 됨
}
System.out.println("당신의 학점은 " + grade + "입니다.");
}
}
|
cs |
*else문에 들어갈 값을 초기값으로 초기화하면 보다 짧은 코딩이 가능하다
중첩 if문
if (조건식1) { //true나 false
//조건식1이 참일 때 수행될 문장
if (조건식2) {
//조건식1과 조건식2와 모두 참일 때 수행될 문장
} else {
//조건식1이 참이고 조건식2가 거짓일 때 수행될 문장
}
} else {
//조건식1이 거짓일 때 수행될 문장
}
ch 4 - 9~11
switch문
(3판 기준 146~155쪽)
switch문
처리해야 하는 경우의 수가 많을 때 유용한 조건문
switch (조건식) { //정수나 문자열
case 값1 :
// 조건식의 결과가 값1과 같을 경우 수행될 문장
//…
break;
case 값2 :
// 조건식의 결과가 값2와 같을 경우 수행될 문장
//…
break;
//…
default :
// 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장
//…
}
*default 블럭은 생략 가능
switch문의 제약조건
1. 조건식 결과는 정수 또는 문자열이어야 한다
2. case문의 값을 정수 상수(문자 포함), 문자열만 가능하며 중복되지 않아야 한다
(정수 상수만 가능하다 = 변수는 안 된다)
if문을 switch문으로 바꿀 수 있다면 바꾸는 게 좋다
ch 4 - 12
임의의 정수 만들기
(3판 기준 150~152쪽)
임의의 정수(나 실수)란 난수를 의미
게임이나 섞기 등에 많이 이용한다
Math.random() - 0.0과 1.0 사이의 임의의 double 값을 반환
0.0 <= Math.random() < 1.0
예시
0부터 n 사이의 난수 출력
Math.random() * n
-5부터 5 사이의 난수 정수로 출력
(int) (Math.random() * 11) - 5 // 0 <= 수 < 11 → -5 <= 수 < 6