본문 바로가기

Java/Java 기초

입력 메소드와 연산자

1. 입력메소드


Scanner sc = new Scanner(System.in);

String name = sc.next();


(1) .next() :  입력 받은 값을 String 타입으로 반환한다


입력한 값을 띄었쓰기, 엔터로 구분하고 분리한다
임시 저장공간에서 엔터를 소모한지 않는다


(2) .nextLine() : 입력받은 값을 String 타입으로 반환한다


띄어쓰기를 포함한 한 줄 전체를 입력받는다(엔터를 소모한다)
1) 엔터 이전까지의 값을 가져온다
2) 임시저장공간에서 엔터를 소모한다(지워준다)


(3) .nextInt() : 입력받은 값을 int 타입으로 반환한다


입력한 값을 띄어쓰기, 엔터로 구분하고 분리한다


(4) .nextDouble() : 입력받은 값을 double 타입으로 반환한다


입력한 값을 띄어쓰기, 엔터로 구분하고 분리한다

=> next(), nextInt(), nextDouble()을 사용하면 엔터값이 남아있게 되는데 
다음에 nextLine()을 사용하면 남아있던 엔터가 들어가서 입력을 받지 않게 된다
따라서 입력받기 전에 nextLine()을 사용하여 엔터를 소모시켜야한다


(5) 자료형의 기본값


int => 0
double => 0.0
char => ''
boolean => false
String => "", null

2. 연산자


기능이 있는 특수문자


(1) 연산자의 우선순위와 결합방향


연산자 결합방향
최우선 연산자 [], .       왼 -> 오 
단항 연산자 ++, --, !, +, -  왼 -> 오
산술 연산자 +, -, *, /, % 왼 -> 오
쉬프트 연산자 비트연산 <<, >>>, >>> 왼 -> 오
관계 연산자 <,>, <=, >=, ==, != 왼 -> 오
논리 연산자 &&, || 왼 -> 오
삼항 연산자 ?: 오 -> 왼
대입 연산자 = 오 -> 왼


(2) 결합성


하나의 수식에 동일한 연산자가 여러 개 사용되면 알맞은 방향으로 결합되어 연산되는 성질


(3) 산술연산자(숫자 타입)


+
int, double : 덧셈연산
String    : 연결
-
뺄셈연산
*
곱셈연산
/
int/int => int(몫)
0으로 나눌 수 없다
%
나머지 연산자
10%3 => 1


(4) 복합대입연산자


산술연산자와 대입 연산자를 함께 쓸 수 있다
+=, -=, *=, /=, %=
산술연산이 먼저 진행되고 그 값이 왼쪽에 저장공간(변수)에 대입된다
ex) num1 = 10;
    num1 +=1; //num1 = num1 + 1;


(5) 증감연산자


++, --
증감 연산자는 피연산자를 1씩 증가하거나 1씩 감소시킬 때 사용하는 연산자

1) 전위형 : 해당 라인부터 바로 적용
++num1;
--num1;

2) 후위형 : 다음라인부터 적용(정확히는 증감연산자가 끝난 시점부터 적용)
num1 ++;
num1 --;

++num1 먼저 num1의 값을 1 증가시킨 후에 해당 연산을 진행한다
num1++ 먼저 해당 연산을 수행하고 나서 num1의 값을 1증가시킨다
--num1 먼저 num1의 값을 1 감소시킨 후에 해당 연산을 진행한다
num1-- 먼저 해당 연산을 수행하고 나서 num1의 값을 1감소시킨다


(6) 관계연산자

 
조건식
결과가 참 또는 거짓, 둘 중 하나가 나오는 식(boolean타입으로 결과가 나온다)

관계연산자(비교연산자)
>,< : 초과, 미만
>=, <= : 이상, 이하
== : 같다
!= : 같지 않다


(7) 논리연산자


&&(AND) : A && B, 두 조건식 모두 참이면 참
||(OR) : A || B. 두 조건식 중 하나라도 참이면 참


(8) 단항 연산자


!(Not) : !A, 조건식이 참이면 거짓으로, 거짓이면 참으로 변경
!true => false
!false => true 


(9) 삼항 연산자(? :)


조건식? 참일때의 값: 거짓일 때의 값:

int result = 10 > 9 ? 10 : 9
참과 거짓 자리에 값만 작성할 수 있따!!

'Java > Java 기초' 카테고리의 다른 글

제어문과 반복문  (0) 2023.12.11
비트연산자, 암호화, 복호화 와 제어문  (0) 2023.12.08
자바 형변환과 입력 메소드  (0) 2023.12.06
Java 변수와 자료형  (0) 2023.12.05
Java  (0) 2023.12.04