JAVA/이론

[Java] 3. 연산자와 입출력

katia 2023. 3. 13. 21:30

1. 연산자

  • 특정한 연산을 수행하기 위해서 사용하는 기호
  • 피연산자(operatior): 연산의 대상
종류 연산자 의미
산술 +, -, *, /, % 숫자연산
대입 =, +=, -=, *=, **=, /=. %= 대입 및 복합 대입
관계 >, >=, <, <=, ==, != 크기 비교
증감 ++, -- 증감 혹은 감소
논리 &&, || 하나 이상의 논리적 처리
비트 &, |, ^, ~, <<, >> 이진 연산
기타 논리식 ? 참 : 거짓 조건 연산

(1) 산술 연산

  • 숫자 계산에 사용되는 연산자

(2) 대입 연산

  • ==와 의미가 다름
  • '변수 (연산=) 값'의 형태를 가짐
  • 연산자를 붙여서 계산 후 대입
public class Test{
    public static void main(String[] args) {
        int x = 1;
        int y = 1;

        x += 10;
        y -= 15;

        System.out.println(x);
        System.out.println(y);   
    }    
}

(3) 증감 연산

  • 변수의 값을 증감시키거나 감소시킴
public class Test{
    public static void main(String[] args) {
        int x = 1;
        int y = 1;

        int next_x = ++x; // 먼저 x를 중가시키고 대입
        int next_y = y++; // y를 대입한 후에 y를 증가

        System.out.println(next_x);
        System.out.println(next_y);   
    }    
}

(4) 관계 연산

  • 2개 항을 비교하여 논리 자료형으로 변환
  • 결과는 True or False
public class Test{
    public static void main(String[] args) {
        int a = 15;

        System.out.println(a > 10);     // true
        System.out.println(a < 10);     // false
        System.out.println(a == 10);     // false
        System.out.println(a == 15);     // true
        System.out.println(a != 10);    // true
    }
}

(5) 논리 연산

  • 2개 항을 논리적으로 연결할 때 사용
  • 결과는 논리형(True/False) 중 하나로 나옴
public class Test{
    public static void main(String[] args) {
        int a = 15;
        int b = 10;
        boolean c = true;

        // &&은 두개가 모두 만족 했을 때 true
        c = (a + b > 20) && (a - b < 20); // true && true -> true
        // ||은 하나만 만족해도 true
        c = (a + b > 20) || (a - b < 20); // true || true -> true
        // !는 반대 
        c = !(b < 10);    // !(false) -> true
    }
}

(6) 비트 연산

  • 변수의 값을 0과 1의 조합인 2진수로 변환 후 연산을 수행
  • AND, OR, NOT, XOR, SHIFT 연산
    • AND(&) : 입력이 모두 1 이면 1, 아니면 0
    • OR(|) : 입력이 하나라도 1 이면 1, 아니면 0
    • XOR(^) : 입력이 서로 다르면 1, 같으면 0
    • NOT(!) : 입력의 반대를 1 이면 0
    • SHIFT(<< n, >> n) : 방향으로 n만큼 비트를 이동 해당 자리에는 0이 들어간다.

2. 입출력

(1) 표준 입력

  • Scanner 클래스와 System.in을 사용
  • Spacebar를 기준으로 문자열 파악
  • EnterKey로 입력 종료
// 1) import를 사용하여 Scanner 추가
import java.util.*; 

// 2) Scanner 클래스에서 System.in기능 호출
Scanner input = new Scanner(System.in);
// System.in을 Scanner클래스에 전달하여 input변수에 저장

// 3) Scanner 클래스가 제공하는 다양한 기능을 사용하여 사용자로부터 입력받음
System.out,println("문장을 입력하세요 >>>>");
String lineString = input.next.Line();
  • Sanner의 입력기능
번호 기능명 설명
1 next() 한 단어
2 nextLine() 한 줄
3 nextInt() 정수
4 nextDouble() 실수
5 nextFloat() 실수
6 nextLong() 정수
7 nextByte() 정수
8 nextShort() 정수
9 nextBoolean() 논리

(2) 표준 출력

  • 이스케이프 문자
    • 확장 문자라는 의미로, (back slash)로 시작
문자 의미
\' 작은 따옴표
\" 큰 따옴표
\n 개행
\t
\\ 역슬래시(\)
  • % 연산자
    • 문자열 형식에 따라 사용하는 형식기호에 값을 전달하는 연산자
    • System.out.printf() 메소드애서 사용가능
구분 포맷표현 자료형
int %d, %o, %x  정수
float %f 실수
char %c 문자형
String %s 문자열
boolean %b 논리형
  • 출력구문 예시
int a = 10;
int b = 20;

System.out.printf("a = %d, b = %d\n", a, b);

'JAVA > 이론' 카테고리의 다른 글

[Java] 6. 배열  (0) 2023.03.14
[Java] 5. 반복문  (0) 2023.03.14
[Java] 4. 조건문  (0) 2023.03.14
[Java] 2. 변수&자료형  (0) 2023.03.08
[Java] 1. 프로그래밍 언어&자바  (0) 2023.03.08