Computer Language/JAVA

[240610] Operator

westwith 2024. 6. 11. 00:38
728x90

0. 김영한님의 자바 강의 듣는 공부 일지

강의 주소 : 

 

[지금 무료] 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 | 김영한 - 인프런

김영한 | 프로그래밍에 처음 입문하는 분들을 위한 자바 강의입니다. 코드를 따라하면서 손쉽게 자바를 배울 수 있습니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 자바 입문[사

www.inflearn.com


1. 산술 연산자 

  • + , - , * , /, %
package operator; //패키지 선언

public class Operator1 { //클래스 Operator1 시작
    public static void main(String[] args) { //main 매서드 시작
        //변수 초기화
        int a = 5;
        int b = 2;

        //덧셈
        int sum = a + b;
        System.out.println("a + b = " + sum); //출력 a + b = 7

        //뺄셈
        int diff = a - b;
        System.out.println("a - b = " + diff);

        //곱셈
        int multi = a * b;
        System.out.println("a * b = " + multi);

        //나눗셈
        int div = a / b; //int 형 계산에서 소숫점 표기 불가
        System.out.println("a / b = " + div);

        //나머지
        int mod = a % b;
        System.out.println("a % b = " + mod);
    } // main 매서드 끝
} // 클래스 Operator1 끝
---
a + b = 7
a - b = 3
a * b = 10
a / b = 2
a % b = 1

2. 문자열 더하기 

  • 자바는 문자열에도 + 연산을 사용할 수 있음
  • 자바에서 문자와 숫자를 더하면 숫자를 문자열로 변경한 다음에 서로 더함
    • 문자열에 더하는 것은 다 문자열이 됨
package operator; //패키지 선언

public class Operator2 { //클래스 Operator2 시작
    public static void main(String[] args) { // main 매서드 시작

        //문자열과 문자열 더하기1
        String result1 = "hello" + "world";
        System.out.println(result1);

        //문자열과 문자열 더하기2
        String s1 = "string1";
        String s2 = "string2";
        String result2 = s1 + s2;
        System.out.println(result2);

        //문자열과 숫자 더하기1
        String result3 = "a + b =" + 10;
        System.out.println(result3);

        //문자열과 숫자 더하기2
        int num = 20;
        String str = "a + b =";
        String result4 = str + num;
        System.out.println(result4);

    } // main 매서드 끝
} // 클래스 Operator2 끝
---
helloworld
string1string2
a + b =10
a + b =20

3. 연산자 우선순위 

package operator; //패키지 선언

public class Operator3 { // 클래스 Operator3 시작
    public static void main(String[] args) { // main 매서드 시작
        int sum1 = 1 + 2 * 3; // 1 + (2 * 3)
        int sum2 = (1 + 2) * 3;
        System.out.println("sum1 = " + sum1); // 7
        System.out.println("sum2 = " + sum2); // 9
    } // main 매서드 끝
} // 클래스 Operator3 끝
---
sum1 = 7
sum2 = 9
package operator; //패키지 선언

public class Operator4 { // 클래스 Operator4 시작
    public static void main(String[] args) { // main 매서드 시작
        int sum3 = 2 * 2 + 3 * 3; // (2 * 2) + (3 * 3)
        int sum4 = (2 * 2) + (3 * 3); //sum3과 같다
        System.out.println("sum3 = " + sum3);
        System.out.println("sum4 = " + sum4);
        //복잡하면 괄호를 넣는게 낫다
    } // main 매서드 끝
} // 클래스 Opterator4 끝

---
sum3 = 13
sum4 = 13
  • 연산이 복잡하면 괄호를 넣는게 낫다

<연산자 우선순위 암기법>

1. 상식선에서 우선순위를 생각하자

2. 애매하면 괄호()를 사용하자


4. 증감 연산자 

  • ++ , --
package operator; //패키지 선언

public class OperatorAdd1 { //클래스 OperatorAdd1 시작
    public static void main(String[] args) { // main 매서드 시작
        int a = 0;

        a = a + 1;
        System.out.println("a =" + a); //1

        a = a + 1;
        System.out.println("a =" + a); //2

        //증감연산자
        ++a; // a = a + 1;
        System.out.println("a = " + a); //3
        ++a; // a = a + 1;
        System.out.println("a = " + a); //4


    } // main 매서드 끝
} // 클래스 OperatorAdd1 끝

---
a =1
a =2
a = 3
a = 4
  • 전위/후위 증감연산자
    => ++a , a++
package operator; //패키지 선언

public class OperatorAdd2 { // 클래스 OperatorAdd2 시작
    public static void main(String[] args) { // main 매서드 시작
        //전위 증감 연산자 사용 예
        int a = 1;
        int b = 0;
        
        b = ++a; // a의 값으 먼저 증가시키고 , 그 결과를 b에 대입
        System.out.println("a = " + a + ",b = " + b);

        //후위 증감 연산자 사용 예
        a = 1; //a 값을 다시 1으로 지정
        b = 0; //b 값을 다시 0으로 지정

        b = a++; //a 의 현재 값을 b에 먼저 대입하고, 그 후 a값을 증가시킴
        System.out.println("a = " + a +",b = " + b); // a = 2, b = 1

    } // main 매서드 끝
} // 클래스 OperatorAdd2 끝
---
a = 2,b = 2
a = 2,b = 1

5. 비교 연산자 

  • == , != , > , < , >= , <=
  • 결과는 참(true) 이나 거짓(false)이 나옴, boolean형을 사용
package operator; // 패키지 선언

public class Comp1 { // 클래스 Comp1 시작
    public static void main(String[] args) { // main 매서드 시작
        int a = 2;
        int b = 3;
        System.out.println(a == b); // false, a와 b는 같지 않음
        System.out.println(a != b); // true, a와 b는 다르다
        System.out.println(a > b); // false , a는 b보다 크지 않다.
        System.out.println(a < b); // true, a는 b보다 작다
        System.out.println(a >= b); // false, a는 b보다 크거나 같지 않다
        System.out.println(a <= b); // true, a는 b보다 작거자 같다.

        //결과는 boolean 변수에 담기
        boolean result = a == b; // a == b : false
        System.out.println(result); //false

    } // main 매서드 끝
} // 클래스 Comp1 끝
---
false
true
false
true
false
true
false
  • 문자열 비교
    .equals() 메서드 사용
package operator; // 패키지 선언

public class Comp2 { // 클래스 Comp2 시작
    public static void main(String[] args) { //main 메서드 시작
        String str1 = "문자열1";
        String str2 = "문자열2";

        boolean result1 = "hello".equals("hello"); // 리터럴 비교
        boolean result2 = str1.equals("문자열1"); // 문자열 변수, 리터럴 비교
        boolean result3 = str1.equals(str2); // 문자열 변수 비교

        System.out.println(result1);
        System.out.println(result2);
        System.out.println(result3);


    } // main 메서드 끝
} // 클래스 Comp2 끝

---
true
true
false

 


6. 논리 연산자

  • && , || , !
package operator; // 패키시 선언

public class Logical1 { //클래스 Logical1 시작
    public static void main(String[] args) { // main 메서드 시작
        System.out.println("&& : AND 연산");
        System.out.println(true && true); //true
        System.out.println(true && false); //false
        System.out.println(false && false); // false

        System.out.println("|| : OR 연산");
        System.out.println(true || true); //true
        System.out.println(true || false); //true
        System.out.println(false || false); //false

        System.out.println("! 연산");
        System.out.println(!true); //false
        System.out.println(!false); //true

        System.out.println("변수활용");
        boolean a = true;
        boolean b = false;
        System.out.println(a && b); //false
        System.out.println(a || b); //true
        System.out.println(!a); //false
        System.out.println(!b); //true
    } // main 메서드 끝
} // 클래스 Logical1 끝
---
&& : AND 연산
true
false
false
|| : OR 연산
true
true
false
! 연산
false
true
변수활용
false
true
false
true
package operator; //패키지 선언

public class Logical2 { //클래스 Logical2 시작
    public static void main(String[] args) { //main 메서드 시작
        int a = 15;
        // a는 10보다 크고 20보다 작다
        boolean result = a > 10 && a < 20; // ( a > 10) && ( a < 20 )
        System.out.println("result =" + result);
    } // main 메서드 끝
} // 클래스 Logical2 끝
---
result =true

7. 대입 연산자

  • 축약(복합) 대입 연산자 : += , -= , *=, /= , %=
package operator; // 패키지 선언

public class Assign1 { //클래스 Assign1 시작
    public static void main(String[] args) { // main 메서드 시작
        int a = 5; //5
        a += 3; //8
        a -= 2; //6
        a *= 4; //24
        a /= 3; //8
        a %= 5; //3
        System.out.println(a); //3
    } // main 메서드 끝
} // 클래스 Assign1 끝
---
3

 


8. 문제와 풀이

package operator; //패키지 선언

public class OperationEx1 { //클래스 OperationEx1 시작
    public static void main(String[] args) { // main 메서드 시작
        int num1 = 10;
        int num2 = 20;
        int num3 = 30;

        int sum = num1 + num2 + num3 ;
        int average = (sum)/3;

        System.out.println("sum = " + sum);
        System.out.println("average = " + average);
    } // main 메서드 끝
} // 클래스 OperationEx1 끝
---
sum = 60
average = 20
package operator; // 패키지 선언

public class OperationEx2 { // 클래스 OperationEx2 시작
    public static void main(String[] args) { // main 메서드 시작
        double val1 = 1.5;
        double val2 = 2.5;
        double val3 = 3.5;
        
        double sum = val1 + val2 + val3;
        double average = sum/3;

        System.out.println("sum = " + sum);
        System.out.println("average = " + average);
        
    } // main 메서드 끝
} // 클래스 OperationEx2 끝

---
sum = 7.5
average = 2.5
package operator; // 패키지 선언

public class OperationEx3 { //클래스 OperationEx3 시작
    public static void main(String[] args) { // main 메서드 시작
        int score = 80;
        System.out.println( 80 <= score && score <= 100);

        /* 정답예시
        boolean result = score >= 80 && score <= 100;
        System.out.println(result);
        */
    } // main 메서드 끝
} // 클래스 OperationEx3

---
true

<오늘의 단축키>  *Window 기준

⭐ 한 줄 복사 (ctl + D)

⭐ 한 줄 삭제 (ctl + Y)

마지막에 실행한 것을 다시 실행 (ctl + R)

⭐ ctl + shift + F10

줄 끝에 세미콜론 ( ctl + shift + enter)

⭐ psvm (public static void main)

⭐ sout (system.out.println)

soutv (value)

728x90