유수봉 교수의 자바 프로그램 3주차 연산자

연산자의 종류

  • 증감 : ++, --
  • 산술 : +, -, *, /
  • 시프트 : >>, <<, >>>
  • 비교 : >, <, >=, <=, ==, !=
  • 비트 : &, |, ^, ~
  • 논리 : &&, ||, !, ^
  • 조건 : ?, :
  • 대입 : =, *=, /=, +=, -=, &=, ^=, !=, <<=, >>=, >>>=
// /와 %의 산술 연산 예제
import java.util.Scanner;

public class main {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.println("정수를 입력하세요: ");

        int time = scanner.nextInt(); //정수 입력
        int second = time % 60; //60으로 나눈 나머지 초이다.
        int minute = (time / 60) % 60; //60으로 나눈 몫을 다시 60으로 나눈 나머지는 분이다
        int hour = (time / 60) / 60; //60으로 나눈 몫을 다시 60으로 나눈 몫은 시간이다.

        System.out.print(time + "초는 ");
        System.out.print(hour + "시간, ");
        System.out.print(minute + "분, ");
        System.out.print(second + "초입니다.");

        scanner.close();


    }
}
  • 실행 결과

// 대입 연산자와 증감 연산자 사용 예제
public class main {
    public static void main(String[] args) {
        
        int a = 3, b =3, c = 3;

        //대입 연산자 사례
        a += 3; // a = a + 3 = 6 
        a *= 3; // b = b *3 = 9
        c %= 2; // c = c % 2 = 1

        System.out.println("a = " + a + ", b = " + b + ", c" + c);

        int d = 3;

        //증감연산자 사례
        a = d++;

        System.out.println("a = " + a + ", d = " + d);

        a = ++d; //d = 5, a = 5

        System.out.println("a = " + a + ", d = " + d);

        a = --d; //a 5, d = 4

        System.out.println("a = " + a + ", d = " + d);

        a = --d; //d = 3, a = 3

        System.out.println("a = " + a + ", d = " + d);

    }
}
  • 실행 결과

// 비교 연산과 논리 연산 예제
public class LogicalOperation {

    public static void main(String[] args) {

        // 비교연산
        System.out.println('a' > 'b');
        System.out.println(3 >= 2);
        System.out.println(-1 < 0);
        System.out.println(3.45 <= 2);
        System.out.println(3 == 2);
        System.out.println(3 != 2);
        System.out.println(!(3 != 2));

        // 비교연산과 논리연산 복합
        System.out.println((3 > 2) && (3 > 4));
        System.out.println((3 != 2) || (-1 > 0));
        System.out.println((3 != 2) ^ (-1 > 0));
        
        

    }

}
  • 실행 결과

// 조건 연산 예제
public class main {
    
    public static void main(String[] args) {
        
        int a = 3, b = 5;

        System.out.println("두 수의 차는 " + ((a>b)?(a-b):(b-a)));

    }
}
  • 실행 결과

// 비트 논리 연산과 비트 시프트 연산
public class main {
    
    public static void main(String[] args) {

        short a = (short)0x55ff;
        short b = (short)0x00ff;

        //비트 논리 연산
        System.out.println("[비트 연산 결과]");

        System.out.printf("%04x\n", (short)(a & b)); //비트 AND
        System.out.printf("%04x\n", (short)(a | b)); //비트 OR
        System.out.printf("%04x\n", (short)(a ^ b)); //비트 XOR
        System.out.printf("%04x\n", (short)(~a)); //비트 NOT

        byte c = 20; // 0x14
        byte d = -8; // 0xf8

        // 비트 시프트 연산
        System.out.println("[시프트 연산 결과]");
        System.out.println(c << 2); //c를 2비트 왼쪽 시프트
        System.out.println(c >> 2); //c를 2비트 오른쪽 시프트. 0삽입
        System.out.println(d >> 2); //d를 2비트 오른쪽 시프트. 1삽입
        System.out.printf(("%x\n" + (d >>> 2))); //d를 2비트 오른쪽 시프트. 0삽입
        

    }

}
  • 실행 결과

좋은 웹페이지 즐겨찾기