본문 바로가기

JAVA/기초다지기

입력과 출력 : arguments & parameter

 

실행버튼 -> 아래화살표클릭

 

Run  Configuration(실행을 설정하는 곳) 클릭 하면 나오는 창

                                 클릭하면 여러가지 형태의 자바 리스트들이 나온다.

 

 

입력값을 주고 싶을때 Arguments(인자)라는 탭을 클릭해서 여기에다가 입력 값을 준다.

근데 위에 처럼 Java APT 507 이렇게 하면 하나의 입력값이 아니라 3개의 입력값이 들어가는 것이기 때문에 내가 원하는 값과 다른결과가 나온다.

그러기 때문에 작은 따옴표[' ']로 묶어주면 하나의 덩어리로서 들어가게 된다.

만약 여러개의 값을 주고 싶다면 한칸을 띄우고 다시 '15.0' 을 입력하면 두개의 값이 들어간 셈이 된다.


Apply를 하게 되면 변경한 실행에 대한 설정이 저장된다.

그리고 Run을 누르면 실행된다.

 

그때에 내가 입력한 정보가 뭔지를 여기에다가 적어 놓을 수도 있다.

(이 실행에 대한 이름일뿐이다)

그리고 다시 Apply -> Run

 

* 자바에서 어떠한 프로그램을 실행했을때, 입력값을 받는 방법 중 아주 표준적이고 중요한 방식이 Argument 방식이다.


위치가 애매하긴 하지만 arg도 변수이다.

이 프로그램을 사용하는 사람과 이프로그램 사이에 값을 매개해준다해서 매개변수, parameter라고 한다.

아까 Configuration에서 입력한 이 arguments의 값이 args로 들어오게 된다.

입력한 값이 2개이기때문에 그냥 문자열로 받을 수가 없어서 이 문자의 뒤에다가 대괄호[]를 붙였다

이렇게 되면 뭐가 되냐면 대괄호가 붙어있는 문자열은 문자열로만 이루어져있는 배열이라고하는 데이터이다.

 

중요한 것은 args라는 변수에 사용자가 입력한 값이 들어올 것이다.

그렇게 되면 중괄호 안에서는 args가 사용자가 입력한 값이다. 

 


19번줄에 브레이크포인터를 걸고 디버거를 실행

Debugger 실행을 하게되면, 

디버거의 내용에  args의 값은 0번째가 Java APT 507로 되어있고 1번째가 15.0 인 것을 알 수 있다.

그것을 가져오기위해서 위에 코드로 작성했더니 id와 bright 값이 정상적으로 셋팅이 되었고

그래서 나온 결과가 다음과 같이 셋팅된 것을 볼 수 있다.


여러가지의 테스트를 하기위해서 configurations으로 들어가서 기존에 있었던 이 값 말고 다른것도 해봐야한다면

파일 우클릭후 Duplicate하면 똑같은 파일이 생긴다.

 


* 즐겨찾기

Orgaanize를 통해서 add를 해서 내가 자주 사용하는 프로그램들을 목록에 추가 시킬수있다.


요약

  • 입력 값을 이용한다면 다른 값으로 같은 프로그램을 실행할 때 굳이 코드를 고치지 않아도 되어 편리해진다.(입력값만 바꾸면 되니까)

 

  • argument는 사용자가 프로그램 실행 전 미리 값을 정해두어 실행 시 프로그램에 전달하는 인자이다.
  • parameter는 매개 변수로, 사용자가 입력한 전달인자를 받는 변수 역할을 한다.

import javax.swing.JOptionPane;

import org.opentutorials.iot.DimmingLights;
import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;


public class OkJavaGoinHomeinput {

	public static void main(String[] args) {
		
		String id = args[0];
		String bright = args[1];
		
		// 먼저 내가 뭘 할것인지 생각하고 정리해야함. 시간 순서에 따라 뭐가 필요한지.
		
		//Elevator call
		Elevator myElevator = new Elevator(id);
		myElevator.callForUp(1);
								
		// Security off
		Security mySecurity = new Security(id);
		mySecurity.off();		
		
		// Light on
		Lighting hallLamp = new Lighting(id+" / Hall Lamp");
		hallLamp.on();
		
		Lighting FloorLamp = new Lighting(id+" / Floor Lamp");
		FloorLamp.on();
		
		DimmingLights moodLamp = new DimmingLights(id+" moodLamp");
		moodLamp.setBright(Double.parseDouble(bright));
		moodLamp.on();

	}

}

'JAVA > 기초다지기' 카테고리의 다른 글

직접 컴파일하고 실행하기: 실행환경 살펴보기  (0) 2021.02.17
Compile  (0) 2021.02.17
입력과 출력  (0) 2021.02.17
디버거  (0) 2021.02.17
IOT Programming  (0) 2021.02.16