프로그래밍 언어/Java

[Java] 자바 기본 문법 2

Campus Coder 2023. 4. 17. 17:40
728x90
반응형

자바에서 키 입력

System.in

- 키보드로부터 직접 읽는 자바의 표준 입력 스트림

- 키 값을 바이트(문자x)로 리턴

- 키 값을 바이트 데이터로 넘겨주므로 응용프로그램이 문자 정보로 변환해야 함

 

Scanner

System.in이 키를 읽고, 읽은 바이트를 다양한 타입으로 변환하여 리턴

- java.util.Scanner 클래스

 

객체 생성

import java.util.Scanner;
...
Scanner sc= new Scanner(System.in);

- scanner는 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음 - '\t', '\f', '\r', ' ', '\n'

- 개발자가 원하는 다양한 타입의 값으로 바꾸어 읽을 수 있음

 

Scanner 주요 메소드

메소드 설명
String next() 다음 토큰을 문자열로 리턴
byte nextByte() 다음 토큰을 byte 타입으로 리턴
short nextShort() 다음 토큰을 short 타입으로 리턴
int nextInt() 다음 토큰을 int 타입으로 리턴
long nextLong() 다음 토큰을 long 타입으로 리턴
float nextFloat() 다음 토큰을 float 타입으로 리턴
double nextDouble() 다음 토큰을 double 타입으로 리턴
boolean nextBoolean() 다음 토큰을 boolean 타입으로 리턴
void close() Scanner 사용 종료
boolean hasNext() 현재 입력된 토큰이 없으면 true, 아니면 입력 때까지 무한정 대기, 새로운 입력이 들어올 때 true 리턴, crtl-z 키가 입력되면 입력 끝이므로 false 리턴

 

식과 연산자

연산의 종류 연산자 연산의 종류 연산자
증감 ++ -- 비트 & | ^ ~
산술 + - * / % 논리 && || ! ^
시프트 >> << >>> 조건 ? :
비교 > < >= <= == != 대입 = *= /= += -= &= ^= |=
<<= >>= >>>=

 

연산자 우선순위

높음 ++(postfix) --(postfix)
+ - ++(prefix) --(prefix) ~ !
형변환(type casting)
* / %
+(덧셈) -(뺄셈)
<< >> >>>
< > <= >= instanceof
== !=
&
^
|
&&
||
? :
낮음 = += -= *= /= %= &= ^= |= <<= >>= >>>=

 

조건문

if

- if의 괄호 안에 조건식(논리형 변수나 논리 연산)

if (조건식) {
    실행 문장 // 조건식이 참인 경우
}

 

if - else

- 조건식이 true면 실행문장 1 실행 후 if - else 문을 벗어남

- false인 경우 실행문장 2 실행 후 if - else 문을 벗어남

if (조건식) {
    실행 문장 1 // 조건식이 참인 경우
}
else {
    실행 문장 2 // 조건식이 거짓인 경우
}

 

다중 if - else

if (조건식 1) {
    실행 문장 1; // 조건식 1이 참인 경우
}
else if (조건식 2){
    실행 문장 2; // 조건식 2가 참인 경우
}
else if (조건식 m){
    실행 문장 m; // 조건식 m이 참인 경우
}
else {
    실행 문장 n; // 앞의 모든 조건이 거짓인 경우
}

 

switch

- switch문은 case문의 값과 비교

- case의 비교 값과 일치하면 해당 case의 실행문장 수행

- break를 만나면 switch문 벗어남

- case의 비교 값과 일치하는 것 없으면 default 문 실행

- default 문 생략 가능

- case문에 break문이 없다면, 다음 case문으로 실행 계속

switch (식) {
    case 값 1:
        실행 문장 1;
        break;
    case 값 2:
        실행 문장 2;
        break;
    ...
    case 값 m:
        실행 문장 m;
        break;
    default:
        실행문장 n
}

case문의 값

- 문자, 정수, 문자열 리터럴만 허용

- 실수 리터럴 불가

728x90
반응형

'프로그래밍 언어 > Java' 카테고리의 다른 글

[Java] 자바 기본 문법 4  (0) 2023.04.17
[Java] 자바 기본 문법 3  (0) 2023.04.17
[Java] 자바 기본 문법 1  (2) 2023.04.17
[Java] 자바 이론  (0) 2023.04.17