[Java] 자바 기본 문법 2

2023. 4. 17. 17:40·프로그래밍 언어/Java
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
'프로그래밍 언어/Java' 카테고리의 다른 글
  • [Java] 자바 기본 문법 4
  • [Java] 자바 기본 문법 3
  • [Java] 자바 기본 문법 1
  • [Java] 자바 이론
dev_ares
dev_ares
대학에서 컴퓨터공학을 전공하고 있는 학생입니다.
    반응형
    250x250
  • dev_ares
    노트
    dev_ares
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • IT 트랜드 (2)
      • 백엔드 (18)
        • Java + Spring (8)
        • Kotlin + Spring (5)
        • 백엔드 (5)
      • 프론트엔드 (1)
        • React (1)
      • 대외활동 (17)
        • 42서울 (17)
      • 백준 (6)
        • Java (2)
        • C++ (3)
      • 전공 (121)
        • 객체지향프로그래밍 (17)
        • 자료구조 (23)
        • 리눅스시스템관리 (16)
        • 컴퓨터구조 (25)
        • 네트워크 (25)
        • 데이터베이스 (15)
        • 기타 전공 (0)
      • 프로그래밍 언어 (18)
        • Java (5)
        • Swift (4)
        • C++ (1)
        • Kotlin (8)
      • 기타 (4)
      • 공군 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    42서울
    오블완
    추가 문제
    C++
    자료구조
    데이터패스
    메모리 계층 구조
    컴공 포트폴리오
    자바
    코틀린
    반복자
    사설 문제
    백준
    상속
    티스토리챌린지
    컴퓨터 구조 및 설계
    단일 사이클
    컴퓨터구조
    명령어
    리눅스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dev_ares
[Java] 자바 기본 문법 2
상단으로

티스토리툴바