Tiny Star

📌TIL [Today I Learn]

[TIL] 23년 5월 23일 화요일

청크 2023. 5. 23. 23:05

23년 5월 23일 화요일

오늘의 목표 : Java 문법 종합반 2주차 완강

 

오늘 공부한 내용🤓

오늘은 Java문법 기초 강의 2주차 연산자, 조건문, 반복문, 배열에 관한 강의를 들었다.

 

기본적인 것들은 앞서 예습했던 부분이라 비교적 쉽게 이해하고 넘어갈 수 있었다.

그러나 제공되는 강의는 튜터님께서 높은 수준으로 너무 빠르게 가르쳐주셔서 내일 객체지향부터는 혼자 책으로 독학을 해 볼 예정이다.

 

if, if else에서는 Objects.equals메서드를 사용하여 가위바위보 입출력을 실습했다.

기존에 많이 복습했던 조건문부분이라 코드가 길어져서 괄호의 개수가 헷갈리긴 했지만 큰 오류 없이 한 번에 출력할 수 있었다.

 

[내가 작성한 코드]

package week02;

import java.util.Objects;
import java.util.Scanner;

public class W01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

         //A에게 값 입력받기
        System.out.println("A 입력 :");
        String aHand = sc.nextLine();

        //B에게 값 입력받기
        System.out.println("B 입력 :");
        String bHand = sc.nextLine();

        //두 개의 값을 비교하는 메서드 -> Objects.equals(좌, 우) : 좌 우가 같은 경우 ture, 다른 경우 false
        if (Objects.equals(aHand, "가위")){
            if (Objects.equals(bHand, "가위")){
                System.out.println("A와 B는 비겼습니다.");

            } else if (Objects.equals(bHand, "바위")){
                System.out.println("B가 이겼습니다.");
            } else if (Objects.equals(bHand, "보")){
                System.out.println("A가 이겼습니다.");
            } else{
                System.out.println("B가 이상한 값을 입력했습니다..");
            }
        } else if (Objects.equals(aHand, "바위")){
            if (Objects.equals(bHand, "가위")){
                System.out.println("A가 이겼습니다.");

            } else if (Objects.equals(bHand, "바위")){
                System.out.println("A와 B는 비겼습니다.");
            } else if (Objects.equals(bHand,"보")){
                System.out.println("B가 이겼습니다.");
            } else{
                System.out.println("B가 이상한 값을 입력했습니다..");
            }
        } else if (Objects.equals(aHand, "보")){
            if (Objects.equals(bHand, "가위")){
                System.out.println("B가 이겼습니다.");
            } else if (Objects.equals(bHand, "바위")){
                System.out.println("A가 이겼습니다.");
            } else if (Objects.equals(bHand, "보")){
                System.out.println("A와 B는 비겼습니다.");
            } else{
                System.out.println("B가 이상한 값을 입력했습니다..");
            }
        }

    }
}

 

for문에서는 반복하여 구구단 값을 출력하는 실습을 했다.

기본 for문에서 int passNum을 변수를 생성해준 뒤 i값이 passNum의 변수와 동일하면

입력된 해당 구구단 단수는 continue를 만나 건너 뛰고 다시 실행되게 된다.

for (int i = 2; i <= 9; i++) { // 구구단 첫번째 지수 i
for (int j = 2; j <= 9; j++) { // 구구단 두번째 지수 j
System.out.println(i + "곱하기" + j + "는" + (i * j) + "입니다.");
}
}

// 선택적으로 구구단 생성하기
Scanner sc = new Scanner(System.in);
int passNum = sc.nextInt(); // 출력제외할 구구단수 값
for (int i = 2; i <= 9; i++) {
if (i == passNum) {
continue;
}
for (int j = 2; j <= 9; j++) {
System.out.println(i + "곱하기" + j + "는" + (i * j) + "입니다.");
}
}

 

여기서 조금 더 응용을 하여 반대로 입력되는 구구단수만 출력 해보았다.

import java.util.Scanner;

public class W01 {
    public static void main(String[] args) {
        //입력받는 단만 출력
        Scanner sc = new Scanner(System.in);
        int chNum = sc.nextInt(); //입력받는 단만 출력

    for (int i=2; i<=9; i++) { //구구단의 첫번째 수
        if (i != chNum) {
            continue;
        }
        for (int j=2; j<=9 ; j++) {
            System.out.println(i + "곱하기" + j + "는" + (i*j) + "입니다.");

        }
    }
}
}

복잡하게 코드 변경할 것 없이 if(i == passNum)의 조건을 if (i != Num)으로 바꿔줬다.

입력받은 값이 i와 같지 않은 경우 전부 continue조건을 만나 생각이 된다. (바꿔 말하면 입력받은 값이 i와 같은 단수만 실행된다는 의미)

 

 

어려웠던 내용😵‍💫

 

 

궁금&부족한 내용❓

 

느낀 점💡

이론으로만 공부했을 때는 조건문이나 반복문의 전체적인 기본 구조 정도만 이해를 하고 있었는데,

이렇게 여러 실습을 통해 직접 손으로 작성해 보니 코드 진행 구조까지 한 번에 이해할 수 있었다.

 

 

내일은 자바 객체지향 언어에 대해 공부를 해볼 예정이다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'📌TIL [Today I Learn]' 카테고리의 다른 글

[TIL] 23년 5월 31일 수요일  (0) 2023.05.31
[TIL] 23년 5월 30일 화요일  (0) 2023.05.30
[TIL] 23년 5월 25일 목요일  (0) 2023.05.25
[TIL] 23년 5월 24일 수요일  (0) 2023.05.24
[TIL] 23년 5월 22일 월요일  (0) 2023.05.22