자바에는 제공되는 Scanner문을 import해준다.
import java.util.Scanner; // Scanner 클래스를 import해준다
Scanner sc = new Scanner(System.in) // Scanner 객체를 생성
int a = sc.nextInt(); // 정수 입력 받기
String str = sc.nextLine(); // 문자열 입력 받기
(System.in)은 키보드와 연결된 자바의 표준 입력 스트림이다.
Scanner의 메서드 타입 | 설명 |
---|---|
next() | 입력된 값을 문자열로 리턴 |
nextInt() | 입력된 값을 정수형으로 리턴 |
nextDouble() | 입력된 값을 실수형으로 리턴 |
nextLine() | 입력된 값을 '엔터(\n)'전 까지 리턴 |
hasNext() | 현재 입력된 값이 있으면 true,아니면 새로운 값이 들어올 때 까지 무한정 기다려서 새로운 입력값이 들어오면 그때 true 리턴, [ cmd+z ] 키가 입력 되면 입력 끝이므로 false 리턴 |
기본 출력문을 사용하기 위해서는 별다른 import는 필요하지 않다
출력을 위한 명령문은
System.out.println(출력할 내용);
"System.out.println()"을 치려면 상당히 시간이 걸리는데
[ 이클립스 - 환경설정 - General - Key ]에서 [Content Assist에서 binding]을 설정하면 단축키 설정을 이용하면
"syso"를 입력한 후 단축키를 누르면 "System.out.println()" 으로 변경되어 빠른 업무가 가능하다.
제어문은 코드의 흐름을 제어하는 명령문으로 조건문과 반복문이 있다
주어진 조건에 따라 흐름을 나누는 명령문으로 [ if문, switch문 ] 이 있다.
"만약에" 라는 뜻으로 "만약에 ~한다면"으로 해석해서 코드를 짜면 쉽다.
if( 조건 ) {
}
의 형태로 존재하며,
어떻게 쓰이는지 예를 들자면,
Scanner sc = new Scanner(System.in); // 입력 스캐너 객체 생성
System.out.println("x와 y를 입력해주세요."); //
int x = sc.nextInt(); //x값 입력
int y = sc.nextInt(); //y값 입력
>if ( a > b ){ // a가 b보다 크다면
System.out.println("a가 b보다 큽니다.");
}
else if(a < b) { // 그게 아니라, a가 b보다 작으면
System.out.println("b가 a보다 큽니다.");
}
else {
System.out.println("두 수는 같습니다.");
}
"조건에 만족한다면 여기로~"라는 느낌의 코드로 if문 보다 여러가지 조건을 나타내기에 편하다.
switch(조건문) {
case 1:
조건 만족 시 실행할 코드
case 2:
case 3:
조건 만족 시 실행할 코드
}
Scanner sc = new Scanner(System.in);
System.out.println("성별을 입력해주세요 (M/W)");
String sex = sc.nextLine();
switch(sex){
case "M" :
case "m" :
System.out.println("성별은 남자입니다.");
case "W" :
case "w" :
System.out.println("성별은 여자입니다.");
case default :
System.out.println("잘못 입력하였습니다.");
}
주어진 조건을 만족하면 반복하는 명령문으로 [ for문, while문 ]이 있다.
for안에 있는 "초기화식"이 "조건식"에 만족할때까지 "초기화식을 증감"을 반복
for( 초기화식; 조건식; 증감식 ){
코드 작성
}
for(int i=0; i<5; i++){
//i=0 부터 i가 5보다 작을 동안 블록 안 코드를 반복 후 i++(i를 1증가)
//i = 0, 1, 2, 3, 4 가 되며, 5부터는 반복문을 빠져나옴. 총 5번 반복함.
System.out.println(i + "번째 입니다.");
}
결과는
0번째 입니다.
1번째 입니다.
2번째 입니다.
3번째 입니다.
4번째 입니다.
"~하는 동안"의 뜻으로 조건문안을 만족하는 동안 반복
대신 끝날 수 있는 명령문을 작성해주어야함.
break;
또는
조건문을 만족하도록 조건문 안 값을 변경.
while(조건) {
코드 작성
}
int i = 0;
while(i < 5) {
System.out.println(i + "번째 반복");
i++; // 조건을 빠져나갈 수 있도록 조건문 안에 값을 변경.
}
결과는
0번째 반복.
1번째 반복.
2번째 반복.
3번째 반복.
4번째 반복.
또 While문에 [ Do ~ while문 ] 또한 존재하는데
Do {
while문에 들어가기 전 먼저 실행 될 코드
}
존재하는데 Do~While은 아직 코딩하면서 많이 작성해본적은 없는 코드인거 같다.
이렇게 이번 장에서는 입출력과 제어문에 대해서 알아보았다.