[JAVA] 4장. 입출력과 제어문

tpdlqj0514·2021년 4월 24일
0

Java

목록 보기
4/5
post-thumbnail

[ 입력문 ] 📕

입력에는 Scanner 클래스를 이용

자바에는 제공되는 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문 ]

"만약에" 라는 뜻으로 **"만약에 ~한다면"**으로 해석해서 코드를 짜면 쉽다.

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("두 수는 같습니다.");
}

[ switch~case문 ]

**"조건에 만족한다면 여기로~"**라는 느낌의 코드로 if문 보다 여러가지 조건을 나타내기에 편하다.

switch(조건문) {
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspcase 1:
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp조건 만족 시 실행할 코드
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspcase 2:
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspcase 3:
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp조건 만족 시 실행할 코드
}

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( 초기화식; 조건식; 증감식 ){
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 코드 작성
}

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번째 입니다.

[ while문 ]

**"~하는 동안"**의 뜻으로 조건문안을 만족하는 동안 반복
대신 끝날 수 있는 명령문을 작성해주어야함.

**break; **
또는
조건문을 만족하도록 조건문 안 값을 변경.

while(조건) {
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp코드 작성
}

int i = 0;
while(i < 5) {
	System.out.println(i + "번째 반복");
	i++;	// 조건을 빠져나갈 수 있도록 조건문 안에 값을 변경.
}

결과는
0번째 반복.
1번째 반복.
2번째 반복.
3번째 반복.
4번째 반복.

[ Do ~ While문 ]

또 While문에 ** [ Do ~ while문 ] ** 또한 존재하는데

Do {
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp while문에 들어가기 전 먼저 실행 될 코드
}

존재하는데 Do~While은 아직 코딩하면서 많이 작성해본적은 없는 코드인거 같다.



이렇게 이번 장에서는 입출력과 제어문에 대해서 알아보았다.

profile
걸음마 연습중입니다.

관심 있을 만한 포스트

0개의 댓글