백엔드 부트캠프 5일차 (2024.10.11 금) JAVA 기초

커비·2024년 10월 11일
0

백엔드 부트캠프

목록 보기
9/49
post-thumbnail

⏰ Today's Schedule

11:00 ~ 12:30 JAVA 연산자 학습
12:30 ~ 18:30 병원일정
18:30 ~ 20:30 JAVA 연산자 학습
20:30 ~ 21:30 블로그 작성 & 개인회고
21:30 ~ 22:30 SQL 문법 연습문제 풀기


🖍️ Today I Learned

5주차 JAVA 연산자, 조건문, 반복문, 배열

오늘 강의의 주제는 JAVA의 연산자, 조건문, 반복문, 배열을 배우고 실습해보는 시간을 갖는 것이다.

📌 연산자 학습

💡 증가 연산자(++)

피연산자의 값을 1 증가시킵니다. (K = ++J;)

💡 감소 연산자(--)

피연산자의 값을 1 감소시킵니다. (K = --J;)

💡 증감연산자 전위형과 후위형

전위형 : 값이 참조되기 전에 증가/감소 시킨다. (K = ++J;)
후위형 : 값이 참조된 후에 증가/감소 시킨다. (K = J++;)

증감연산자가 독립적으로 사용된 경우, 전위형과 후위형의 차이는 없다.
++K; 와 K++;의 값은 동일하다.

💡 형변환 연산자와 자동 형변환

형변환 : 변수 또는 상수의 타입을 다른 타입으로 변환하는 것
방법 : (타입) 피 연산자

class Operator3_1 {
    public static void main(String[] args) {
        int i = 65, num = 10;
        char ch = 'A';
        float f = 1.6f;

        System.out.println("(char)i = " + (char)i);
        System.out.println("(int)ch = " + (int)ch);
        System.out.println("(int)f = " + (int)f);
        System.out.println("(float)num = " + (float)num);
    }
}

자동 형변환 : 컴파일러에 의해 자동으로 형변환되는 것

다른 예로 'int = 3.14f;'처럼 큰 타입을 작은 타입에 저장할 때 Error가 발생한다. 3.14f가 int 타입으로 변환될 때 소수점이 사라지면서 원래 값이 달라지게 되면서 값 손실이 발생하는데 이런 경우, 컴파일러가 자동으로 형변환을 안해준다.

💡 사칙 연산자와 산술변환

사칙연산자 : 덧셈(+), 뺄샘(-), 곱셈(*), 나눗셈(/)
산술변환 : 연산 전에 피연산자와 타입을 일치시키는 것

💡 Math 클래스와 나머지 연산자

Math: 수학과 관련된 메서드를 가지고 있는 클래스
메서드 : 특정한 기능을 수행하기 위해 코드로 작성된 단위

  • round() : 실수를 소수점 첫째자리에서 반올림한 정수를 반환
  • ceil() : 올림값을 double형으로 반환
  • floor() : 내림값을 double형으로 반환
  • abs() : int, double 기본형 모두 사용가능하며 절대값을 얻음

나머지 연산자 %

  • 오른쪽 피연산자로 나누고 남은 나머지를 반환
  • 나누는 피연산자는 0이 아닌 정수만 허용
  • 부호는 무시
class Operator5_3 {
    public static void main(String[] args) {
        int x = 10;
        int y = 8;

        System.out.print("x를 y로 나눈 몫 = ");
        System.out.println(x / y);

        System.out.print("x를 y로 나눈 나머지 = ");
        System.out.println(x % y);

        // 부호 무시 확인
        int n = 3;
        int z = -3;
        System.out.println("x % n = " + x % n);
        System.out.println("x % z = " + x % z);
    }
}

💡 비교 연산자와 문자열의 비교


두 피연산자를 비교해서 true(참)과 false(거짓)을 반환 함

class Operator6_1 {
    public static void main(String[] args) {
        int n1 = 10, n2 = 6;
        char c1 = 'A', c2 = 'B';

        System.out.print("n1 >= n2 = " ); // true
        System.out.println(n1 >= n2);
        System.out.print("n1 <= n2 = " ); // false
        System.out.println(n1 <= n2);

        System.out.print("n1 == n2 = " ); // false
        System.out.println(n1 == n2);
        System.out.print("n1 != n2 = " ); // true
        System.out.println(n1 != n2);

        // 산술변환 규칙에 의해서 char 타입이 int 타입으로 변환되어 연산됨
        System.out.print("c1 < c2 = "); // true
        System.out.println(c1 < c2); // 65 < 66
        System.out.print("c1 > c2 = "); // false
        System.out.println(c1 > c2); // 65 > 66
    }
}

문자열 비교 : ==대신 equals()를 사용해야 한다.

class Operator6_2 {
    public static void main(String[] args) {
        String s1 = "사랑";
        String s2 = "사랑";

        System.out.print("s1 == s2 = "); // true
        System.out.println(s1 == s2);
        System.out.println("s1.equals(s2) = " + s1.equals(s2)); // true

        // 하지만!
        String s3 = new String("사랑");
        System.out.print("s1 == s3 = "); // false
        System.out.println(s1 == s3);
        System.out.println("s1.equals(s3) = " + s1.equals(s3)); // true
    }
}

👀 회고

JAVA가 처음일 때 이 수업을 들었다면 이해하기 많이 어려웠을 것이라는 생각이 들었다. 학교에서 컴퓨터공학과였기에 '자바프로그래밍'를 수강했을 때를 떠올려 최대한 다시 머리에 넣어보려 노력해보았다. '전혀 모르겠다!' 는 아니어서 다행이라는 생각을 마음에 품고.. '배웠는데 왜 잘하지 못할까?' 라는 생각이 부피차지를 많이 하기 시작해서 조금 서글프기도 했다.
그동안 너무 열정을 부어서 인지 잘 모르겠지만 대상포진이 다시 찾아왔다. OMG 그래서 오늘은 피로감이 상당하고 너무 아픈 탓에 수업을 제대로 듣지 못했던 아쉬움이 크게 남는다. 내일 당장 괜찮아지는 질병이 아니라 내일도 걱정되지만 그래도 두번째 대상포진이니까 내일은 정신도 마음도 몸도 모두 힘내서 오늘 부족한 만큼을 더 진행해볼 예정이다.
이래도 되나 싶지만, 아픈데도 하나라도 열심히 해서 한발짝 나아간 나! 라고 생각해보려 한다. 내일은 정말 오늘 못한 만큼 더 불태우기..!!❤️‍🔥

profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글