본문 바로가기

[TIL]이항 연산자

인포꿀팁 발행일 : 2020-07-22
 

오늘 배운 내용은 연산자 Operator 

연산자는 변수나 상수에 미리 약속된 연산을 행하기 위해 사용됨

 

연산자 = 식에서 수행할 연산을 지정하는 기호

피연산자 = 연산자의 연산 대상(변수, 리터널, 수식 등)

 

특징

  • 연산 식에 괄호가 사용된 경우 괄호 먼저 처리
  • * / % 가 +- 보다 먼저 연산됨
  • 기본적으로 오른쪽에서 왼쪽 방향으로 연산이 진행됨
  • 연산이 진행 시 기본적으로 int형 타입이 설정 됨

기본적으로 int형보다 작은 타입형의 경우 int형으로 변환 되어 결과값이 나오고 int보다큰 long/float/double의 경우 결과값도 그에 해당하는 타입으로 변환된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package ex0722;
 
public class OperatorEx2 {
 
    public static void main(String[] args) {
        int a;
        double b;
        
        a= 13 / 2// 나눔
        System.out.println(a);
        
        b = 13 / 2// int / int = int=> double에 대입
        System.out.println(b); // b는 double 형으로 소숫점까지 출력 //6.0
        
        b = 13.0 / 2// double / int = double / double => double
        System.out.println(b); //6.5
        
        a = 13 % 2// int % int = int
        System.out.println(a);
        
        b = 3.7 % 1.3// 자바는 실수도 % 연산이 가능
        System.out.println(b);// 1.1
        
         b = 'A' / 10// 문자도 연산 가능(코드 숫자로 인식)
         System.out.println(b);//6.0
    }
 
}
 
cs

 

이러한 기본 연산자를 활용한 예제를 풀어 보았다.

1) 초를 기입하면 시간 분 초로 나눠서 나오게 하기

스캐너 객체를 생성하여 초를 기입시 시간 분 초가 나오게 설정해 보았다.

%연산자를 활용하여 분과 시간을 구했다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package ex0722;
 
import java.util.Scanner;
 
public class OperatorEx4 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int a, b, c, d;
    
        
        System.out.print("초를 기입하시오");
        a = sc.nextInt();
        b = a/3600// 시
        c = (a%3600)/60// 분 = (a/60)%60
        d = a%60// 초
        System.out.printf("%d 초는 %d 시간  %d분  %d초 입니다.",a,b,c,d);
        
        sc.close();
    }
 
}
 
cs

 

 

 

댓글