자바/자바의정석

코딩공부 46일차(1): 자바의 정석 / 자바의 정석 32~35강

김발자~ 2022. 9. 15. 19:55
반응형

개발 공부 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 

 

 

 

 

 


 

반응형