산술연산자
수학 연산자와 동일하다. +, -, *, / 가 있다. 우리가 일반적으로 쓰는 연산자와 다른게 있다면 % 만 확인하면 될 것 같다. 연산자에서 %는 백분율이 아닌 나머지를 반환하는 연산자이다. 예를 들면 7%3 은 결과가 1이다. 몫과 나머지, 초등학교때 이야기 듣고 오랜만에 보는 나머지이다.
증감연산자
어떤 정수 타입 변수가 가진 값을 증가시키거나 감소시켜야 하는 경우가 있는데 이러할 때 아래와 같이 작성을 할 것이다.
num1 = num1 + 1; // num1의 값은 2가 됩니다.
num2 = num2 - 1; // num2의 값은 0이 됩니다.
이 코드를 증감 연산자를 이용하여 아래와 같이 작성할 수 있다.
num1++; // num1 = num1 + 1;과 같습니다.
++num1; // num1 = num1 + 1;과 같습니다.
num2--; // num2 = num2 - 1;과 같습니다.
--num2; // num2 = num2 - 1;과 같습니다.
주의해야할 점은 증감 연산자의 순서가 달라질 수 있다는 점이다.
증감연산자가 피연산자보다 앞에 있으면 전위형 증감연산자로, 증감 연산을 먼저 수행한 후 그 결과값을 적용한다.
증감연산자가 피연산자보다 뒤에 있으면 후위형 증감연산자로 기존의 값을 먼저 적용하고 그 다음에 증감 연산을 수행한다.
아래의 코드에서 첫번째는 num1에 전위형 증감연산자를 적용한 것이다. num1의 값이 1 증가한 후 그 결과값이 prefix에 할당되어 num1 값은 2, prefix 값은 2이다.
반대로 두번째 num2에 후위형 증감연산자를 사용하여 num2 값이 먼저 postfix에 할당 된 후 1이 증가하기 때문에 num2 값은 2, postfix의 값은 1이 된다.
순서가 다르기에 할당 결과가 다를 수 있어 조심해야한다.
int num1 = 1;
int prefix = ++num1;
int num2 = 1;
int postfix = num2++;
복합 대입 연산자
앞서 +1 씩 증가하는 코드들은 아래와 같이 작성하고, 증감연산자로 표현할 수 있는 것을 알았다.
하지만 1이 아닌 다른 숫자라면 아래와 같이 표현할 수 없다. 그래서 = 기호를 넣어 나타낼 수 있는데 그것이 복합 대입 연산자이다.
num1 = num1 + 1; // num1의 값은 2가 됩니다.
num2 = num2 - 1; // num2의 값은 0이 됩니다.
// num1~5의 값을 모두 10이라고 한다면,
num1 += 3; // num1 -> 13
num2 -= 3; // num2 -> 7
num3 *= 3; // num3 -> 30
num4 /= 3; // num4 -> 3
num5 %= 3; // num5 -> 1
대소 비교 연산자
대소를 비교하여 true, false 값으로 결과를 나타낸다. 다만 비교 연산자는 이항만 비교가 가능하다. 다시 말해 1 초과 10 미만 이라는 값을 표현할 때, 1<x<10 이 아닌 1<x && x<10 으로 나누어 나타내야 한다.
등가 비교 연산자
두 항의 값이 동등한지 여부를 true, false 값으로 나타낸다 1==1 은 true, 1==2는 false 이다.
논리 연산자
논리연산자는 AND 연산자(&&), OR 연산자(||), NOT 연산자(!) 가 있다.
연산자 우선순위
덧셈, 뺄셈보다 곱셈, 나눗셈을 먼저하는 사칙연산의 순서처럼 연산자에는 우선순위가 있다.
우선순위 | 연산자 | 내용 |
1 | ( ), [ ] | 괄호, 대괄호 |
2 | !, ~, ++, -- | 부정, 증감연산자 |
3 | *, /, % | 곱셈, 나눗셈 연산자 |
4 | <, <=, >, >= | 대소 비교 연산자 |
5 | && | AND 연산자 |
6 | || | OR 연산자 |
7 | ? : | 조건 연산자 |
8 | =, +=, -=, /=, %= | 대입, 할당 연산 |
콘솔 출력 하기: System.out.print()
소괄호 안의 내용을 출력하고 줄바꿈은 하지 않는다.
콘솔 출력하고 줄 바꾸기: System.out.println()
ln은 line을 뜻하며 콘솔 출력 후 커서는 다음 줄로 이동하게 된다.
콘솔 형식대로 출력하기: System.out.printf()
f는 formatted의 약자로 지시자(specifier)를 이용해 여러 형식으로 출력해 주는 메서드이다. 주로 문자열을 출력해야할 때 사용하게 되며 지시자(출력포맷) 종류로는 %b(불리언), %d(10진수), %o(8진수), %x, %X(16진수), %c(문자), %s(문자열), %n(줄바꿈) 등이 있다.
콘솔 입력 이해하기
import java.util.Scanner; // Scanner 클래스를 가져옵니다.
Scanner scanner = new Scanner(System.in); // Scanner 클래스의 인스턴스를 생성합니다.
String inputValue = scanner.nextLine(); // 입력한 내용이 inputValue에 저장됩니다.
System.out.println(inputValue); // 입력한 문자열이 출력됩니다.
1. import java.util.Scanner;
데이터를 입력받는 기능을 작은 프로그램으로 만들어둔 것이 Scanner이다. 이 Scanner는 java.util 이라는 위치에 저장되어있다. 즉 'kava.util 에 있는 Scanner를 이 소스코드로 불러와라!' 라는 의미이다
2.Scanner scanner = new Scanner(System.in)
Scanner 클래스를 new 연산자를 통해 인스턴스를 생성하고 생성된 인스턴스를 변수 scanner에 할당하는 코드이다.
3.String inputValue = scanner.nextLine();
scanner.nextLine()은 문자열을 입력받기 위한 코드이며 입력받은 문자열은 inputValue라는 변수에 할당되어 저장된다.
'공부 > 전자컴퓨터공학' 카테고리의 다른 글
Java 배열(Array) 자바 기초 배우기 (0) | 2024.05.22 |
---|---|
Java 제어문(Control Flow Statements) 조건문과 반복문 (2) | 2024.05.22 |
Java 문자열(string) Java 기초 배우기 (1) | 2024.05.07 |
Java 변수(variable)와 타입(Type) 자바 기초 배우기 (0) | 2024.05.07 |
Java의 특징, IntelliJ 프로젝트 생성하기 (0) | 2024.05.06 |