본문 바로가기

Java/실습

[Java] 자바의 입력 처리와 bat 파일 실습: 변수에 넣고 출력하기

안녕하세요!

 

어제 배운 내용중 일부를 다루지 못해 오늘 리뷰해보려고 합니다.

 

자바도 다른 언어처럼 변수를 선언하여 초기화할 수 있는데요.

 

변수는 자료형과 값을 이용하여 선언할 수 있습니다.

 

자료형은 정수는 int, 실수는 double, 문자는 char, 문자열은 String이며

 

그외에 true,false를 반환하는 boolean 등이 있습니다.

 

이때 주의할 점은 String은 S를 대문자를 써야한다는 점입니다.

 

변수를 하나 선언해보겠습니다.

 

int a; 

 

a = 0;

 

변수는 먼저 변수의 이름을 설정하고

 

값을 넣어 초기화를 해줘야합니다.

 

하지만 이 과정은 보통 한 줄로 써서

 

int a = 0;

 

이렇게 쓰곤 합니다.

 

문자열은

 

String s = "안녕 자바";

 

와 같이 선언할 수 있습니다.

 

이때 주의할 점은 큰따옴표(" ")를 사용해야 한다는 점입니다.

 

 

 

그러면 변수를 이용해서 출력은 어떻게 해야할까요?

 

두가지 방법이 있습니다.

 

먼저 변수를 선언하고

 

int a = 10;

 

System.out.println(a);

 

1. a를 그대로 출력하거나

 

System.out.printf("%d", a)

 

2. printf를 사용해서 알맞는 자료형에 변수를 집어넣는 방식이 있습니다.

 

이떄 뒤에 문자열을 넣고 싶으면

 

System.out.println(a + "번");

 

+를 사용해서 뒤에 문자열을 추가하거나

 

System.out.printf("%d번", a) 

 

서식 지정자 뒤에 문자열을 그대로 쓰는 방법이 있습니다.

 

 

 

 

다음은 자료형을 입력받아서 출력해보겠습니다.

 

이를 위해서는 몇 가지 설정이 필요한데

 

먼저 코드 가장위에

 

import java.util.Scanner;

 

다음 코드를 추가하여 Scanner를 import해줍니다.

 

다음은 Scanner 객체를 추가해줘야 하는데

 

Scanner sc = new Scanner(System.in);

 

다음과 같은 코드를 추가하여 객체를 선언할 수 있습니다.

 

이떄 sc는 변수 이름으로 편하신 거로 설정하면 됩니다.

 

입력받는 방식은 자료형에 따라서 다른데

 

몇 가지 예시를 보여드리겠습니다.

 

Scanner sc = new Scanner(System.in);

System.out.println("오늘 기분은 어떠신가요?");

String mood = sc.next();

System.out.println("오늘 컨디션 점수는 몇점인가요?");

double condition = sc.nextInt();

System.out.println("오늘 대중교통 갈아 탄 횟수는?");

int count = sc.nextInt();

System.out.println("오늘 잠은 잘 주무셨나요? (t/f)");

boolean sleep = sc.nextBoolean();

System.out.println("얼마나 주무셨나요?");

int sleep_time = sc.nextInt();

 

문자열일 경우 next();를 통해서 입력받을 수 있고,

 

정수일 경우 nextInt(); 이때 I는 대문자입니다.

 

Boolean 타입일 경우 nextBoolean();

 

실수일 경우에는 nextDouble();

 

을 사용합니다.

 

그 외에는 nextLine() 등이 있는데

 

이는 문자열의 한 줄 전체를 읽습니다.

 

 

 

다음해본 실습은 입력받은 데이터를 bat라는

 

실행기를 통해서 출력하는 방법인데

 

진행 과정을 보여드리겠습니다.

 

먼저 옆 explorer 창에서 java를 선택하고

 

 

export를 누릅니다.

 

다음은

 

 

Runnable JAR file을 원하는 경로에 만들어줍니다.

 

 

그리고 작성한 클래스를 선택하고 Finish를 누르면 생성됩니다.

 

 

JAR파일을 실행하기 위한 실행기가 필요하기 떄문에

 

메모장을 여시고 위 코드를 추가해줍니다.

 

이때 자신의 jar파일의 이름을 써주면 됩니다.

 

다른 이름으로 저장을 누르고

 

해당 jar피일과 동일한 이름으로 .bat만 추가해줍니다.

 

그리고 bat파일을 열어보면

 

 

이렇게 작성된 코드가 실행되는 모습을 확인할 수 있습니다.

 

 

 

 

 

 

 

마지막으로 배운 내용은

 

Thread.sleep(1000);

 

이라는 기능입니다.

 

이 코드를 작성하면 이 코드 밑에 오는 코드를

 

괄호안에 있는 시간(밀리초단위)  =>  1000 = 1초

 

만큼 지연시킬 수 있습니다.

 

public static void main(String[] args) throws InterruptedException 

 

이떄 메인 함수 뒤에 다음과 같은 코딩을 추가 해야합니다.

 

import java.util.Scanner;

public class KIMain1 {

public static void main(String[] args) throws InterruptedException {

Scanner sc = new Scanner(System.in);

System.out.print("키:");

int height =sc.nextInt();

System.out.print("몸무게:");

int weight =sc.nextInt();

System.out.print("신발 사이즈? :");

int shoes_size =sc.nextInt();

System.out.print("여행 가고 싶은 곳? :");

String wish_place =sc.next();

System.out.print("좋아하는 숫자? :");

int favorite_num =sc.nextInt();

System.out.print("놀고 싶나요?");

boolean play =sc.nextBoolean();

System.out.printf("키 : %dcm\n" , height);

System.out.printf("몸무게 : %dkg \n" ,weight);

System.out.printf("신발 사이즈 : %d mm\n" ,shoes_size);

System.out.printf("여행가고 싶은 곳 : %s\n" ,wish_place);

System.out.printf("좋아하는 숫자 : %d\n" ,favorite_num);

System.out.printf("놀고 싶은가요? : %b\n" ,play);

System.out.println("끄고 싶으면 아무거나 입력하세요.");

String end = sc.next();

Thread.sleep(1000);

System.out.print(".");

Thread.sleep(1000);

System.out.print(".");

Thread.sleep(1000);

System.out.print(".");

Thread.sleep(500);

sc.close();

 

}

}

 

전체 기능을 이용한 실습코드입니다. 

 

질문을 입력받고 출력 후

 

... 을 3초동안 생성하고

 

0.5초 뒤에 종료되는 프로그램입니다.

 

 

 

오늘은

 

1.자료형 입력(Scanner)

 

2. bat 실행기

 

3. Thread.sleep();

 

등의 많은 내용을 다뤄봤습니다.

 

해당 기능만으로도

 

전화번호부, 국어 사전 등 

 

다양한 프로그램을 만들 수 있기 때문에

 

기능을 충분히 숙지하고 넘어가도록 할 것 같습니다.

 

읽어주셔서 감사합니다!