기초/JAVA

[JAVA] 입출력

장동규 2017. 1. 11. 10:04

오늘은 입력과 출력문에 대해서 포스팅 할께요!

 

출력(println)

 

 

System.out.println("안녕하세요");

System <안에 out<안에 println함수에 문자열을 넣어서 출력을 하는겁니다.

print[ln] 여기서 ln은 \n의 역할을 하는데요 즉, 띄어쓰기의 역할을 하는것을 알수있어요!

또한 Enter의 역할을 계속 하고 싶을때는 문장안에 [\n]만 붙여주면 enter의 역할을 한다는것도 알아두시면 편하겠네요!

만약 띄어쓰기를 하기 싫은 출력문을 사용하고 싶으시면

print("[Enter] 치기 싫어요");

라고 출력하시면 되요!

 

입력(Scanner)

출력을 하는게 있으면 당연히 입력을 받아야 겠죠?

 

 

import java.util.Scanner;

java.util 패키지에 있는 Scanner클래스를 선언해주는 부분이예요

import 부분은 처음나왔으니깐 설명이 필요하겠네요

import는 현재 디렉토리(패키지)에 존재하지 않는 클래스를 선언해야 할 경우 사용해요.

패키지의 위치를 정확히 알 수 있어야 사용이 가능합니다.

import 패키지명.클래스명;

import 패키지명.*;

로 사용하시면 되겠습니다!

 

Scanner도 java.util.Scanner;로 선언할 수 있지만

java.util.*;로 선언할 수 도 있어요.

하지만 학생들을 OO고등학교 [궁뎅이]학생!을 찾는것보다

OO고등학교 2학년 B반 [궁뎅이]학생!을 찾는게 훨씬 빠르겠죠??

프로그램도 마찬가지예요.

특정구간을 지정해주면 파일을 다 안찾고 할수 있기떄문에 Scanner로 지정해주는 습관이 필요해요!

 

Scanner scan = new Scanner(System.in);

자바 포스팅에서 처음 객체를 생성해주는 구간이 나왔네요.

자바에서는 객체를 생성할 때 new라는 예약어를 사용해서 객체를 생성해요!

계속 뒤로 미루게 되는데 ... 객체는 뒤에서 클래스와 상속포스팅할 때 정리할께요...ㅜ

 

Scanner 클래스 타입의

scan(변수명)을 선언해주면서

Scanner(System.in)을 통해 scan객체를 만들어 주는 모습입니다!

 

여기서 보시면 println(); 함수안에서 [+]기호에 눈이 가실꺼라고 생각합니다!

+기호는 문장과 변수, 문장과 문장, 사칙연산에 사용하는데요

그림처럼 문장안에 변수를 추가하고 싶을떄 "무우우운장1"+[변수이름]+"무우우운장2" 해주시면 한줄로 이어져서 나옵니다!

 

Scanner함수는 자신이 받아야할 값을 정확히 지정해서 받아줘야 합니다!

안그러면 오류나요^^

 

Q.그럼 이제 이름, 나이, 주소를 입력받아서 동시에 출력하는 프로그램 만들기

hint : 문자열 name, area

정수형 age

 

println(name); << 변수의 값이 출력된다!

 

 

 여기서 보면 area를 입력받을 때 scan.nextLine();이 위에 추가된것이 보이시나요?

이클립스인지 자바문제인지는 모르겠으나

nextInt();로 받은 경우 다음번에 nextLine();을 호출하게 되면 무시하고 가는 버그가 발생하더라구요!

그래서 저는

nextLine으로 계속받고 형변환해주는 식으로 하는데요!

형변환이 기억안나시면 지난 포스트로 가서 보시고 오셔야되요!

이렇게 하시면 될것같습니다!

nextLine();을 한줄 추가해서 버그를 막던가

저처럼 형변환을 사용해서 사용하던가 프로그래머의 마음이겠죠^^

다음번에는 조건문과 반복문에대해서 포스팅하겠습니다!