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 |