차례:
비디오: Java - 참조 (4/4) : 메소드의 매개변수와 참조, 복제 2024
옛날 옛적에 대부분의 Java 프로그래머는 텍스트 기반 개발 인터페이스를 사용했습니다. 그들은 일반적으로 검정색 바탕에 흰색 텍스트가있는 평범한 창에서 명령을 입력했습니다.
얼마나 지루한가!일반 모양의 창은 사용하는 운영 체제의 종류에 따라 다양한 이름으로 표시됩니다. Windows에서이 종류의 텍스트 창은 명령 프롬프트 창입니다. Macintosh와 Linux에서이 창은 터미널입니다. Linux 및 UNIX의 일부 버전에서는이 창을 셸이라고합니다.
MakeRandomNumsFile을 실행하면 추가 정보가 입력됩니다. 위 이미지에서 프로그래머는Java MakeRandomNumsFile 를 입력하여 MakeRandomNumsFile
프로그램을 실행합니다. 그러나 프로그래머는
Java MakeRandomNumsFile 뒤에 두 개의 추가 정보 인 MyNumberedFile을 사용합니다. txt 및 5 . MakeRandomNumsFile
프로그램이 실행되면 프로그램은 두 개의 여분의 정보를 빨아 들여 프로그램이 수행해야하는 모든 작업을 수행합니다. 이 프로그램은
MyNumberedFile을 사용합니다. 다른 경우에는 프로그래머가
SomeStuff 28
또는 BunchONumbers 2000 를 입력 할 수 있습니다. 추가 정보는 프로그램을 실행할 때마다 다를 수 있습니다. 주
String args []
비즈니스를 보았습니다. 글쎄, 그게 전부인 걸 알게 된 건 아주 좋은 시간이야.
args []
는
String
값의 배열입니다. 이
String
값은
명령 줄 인수라고합니다.
public static void main (String args []
을 기입 해, 다른 프로그래머는
public static void main (String [] args)
어느 쪽이든,
args 는 String
값의 배열입니다.
Java 프로그램에서 명령 행 인수 사용
이 코드는 명령 행 인수 사용 방법을 보여줍니다.
이것은 숫자 파일
import java를 생성하는 방법입니다. util. 무작위;
import java. io. PrintStream;
import java. io. IOException;
public class MakeRandomNumsFile { public static void main (
String args []
) throws IOException {
임의 생성기 = 새 임의 ();
if (args.길이 <2) { 시스템. 아웃. println ("사용법: MakeRandomNumsFile 파일 이름");
시스템. 출구 (1); } PrintStream printOut = 새 PrintStream (args [0]);
int numLines = 정수입니다. parseInt (args [1]);
for (int count = 1; count <= numLines; count ++) {
printOut. println (생성자 nextInt (10) +1);
}
printOut. 닫기();
}
}
특정 프로그램이 일부 명령 행 인수를 예상하는 경우, 다른 일반 프로그램의 대부분을 시작하는 것과 같은 방식으로 프로그램을 시작할 수 없습니다. 명령 줄 인수를 프로그램에 제공하는 방법은 사용중인 IDE (Eclipse, NetBeans 등)에 따라 다릅니다. Allmycode. com은 다양한 IDE를 사용하여 프로그램에 인수를 제공하기위한 지침을 제공합니다.
코드가 실행되기 시작하면
args
배열이 값을 가져옵니다. 위의 이미지에서 실행 된 배열 구성 요소
args [0]
는 자동으로
"MyNumberedFile. txt"
및
args [1]
자동으로
"5"
가됩니다. 따라서 프로그램의 할당 문은 다음과 같은 의미를 갖게됩니다.
PrintStream printOut = new PrintStream ("MyNumberedFile. txt");
int numLines = 정수입니다. parseInt ("5");
프로그램은
MyNumberedFile 파일을 생성합니다. txt
를 설정하고
numLines
를
5
로 설정합니다. 나중에 코드에서 5 개의 값을 임의로 생성하여
MyNumberedFile에 저장합니다. txt
. 프로그램을 한 번 실행하면됩니다.
코드를 실행 한 후 하드 드라이브에서 새 파일 (
MyNumberedFile. txt
)을 찾을 수있는 위치는 어디입니까? 답은 많은 다른 것들에 달려 있습니다. 프로그램을 프로젝트로 분할 한 IDE를 사용하는 경우 새 파일은 프로젝트의 폴더 어딘가에 있습니다. 한 가지 방법이나 다른 방법으로 Listing 11-7을 변경하여
"c: \ Users \ MyName \ Documents \ MyNumberedFile. txt"
또는
같은 전체 경로 이름을 지정할 수 있습니다. "/ Users / MyName / Documents / MyNumberedFile. txt"
.
Windows에서 파일 경로 이름에는 백 슬래시 문자가 포함됩니다. 그리고 Java에서 큰 따옴표로 묶인 문자열 리터럴에 백 슬래시를 표시하려면 대신 이중 백 슬래시를 사용하십시오. 이것이 바로 "c: \ Users \ MyName \ Documents \ MyNumberedFile"입니다. txt "는 백 슬래시 쌍을 포함합니다. 반대로 Linux 및 Macintosh 운영 체제의 파일 경로에는 슬래시가 포함되어 있습니다. Java String에 슬래시를 표시하려면 슬래시를 하나만 사용하십시오.
각 명령 행 인수가
String
값인 방법에 유의하십시오.
args [1]
를 보면 숫자 5가 보이지 않습니다. 그 안에 숫자 문자가있는 문자열
"5"
가 나타납니다. 안타깝게도
"5"
를 사용하여 계산할 수는 없습니다.
"5"
에서
int
값을 가져 오려면
parseInt
메서드를 적용해야합니다.
parseInt
메소드는
Integer 클래스 내에 존재합니다.
따라서
parseInt
를 호출하려면
parseInt
라는 이름 앞에 Integer라는 단어를 붙입니다. Integer
클래스는
int 값을 사용하여 일을 수행하는 데 필요한 모든 종류의 편리한 메소드를 제공합니다. Java에서 Integer는 클래스의 이름이고 int는 기본 (단순) 유형의 이름입니다. 두 가지가 관련되어 있지만 서로 다릅니다. Integer 클래스에는
int
값을 다루는 메소드와 다른 도구가 있습니다.
올바른 명령 줄 인수 수 확인
사용자가 실수를하면 어떻게됩니까? 사용자가
MakeRandomNumsFile
를 실행하면 첫 줄에
5
번호를 입력하는 것을 잊어 버리면 어떻게 될까요?
컴퓨터는
args [1]
에 args [0] 에 "MyNumberedFile. txt" 를 할당합니다. 이것은 나쁘다. 컴퓨터가
int numLines = Integer 문에 도달하면. parseInt (args [1]);
프로그램이 부적절한
ArrayIndexOutOfBoundsException
로 인해 충돌합니다.
당신은 이것에 대해 어떻게합니까?
args
배열의 길이를 검사합니다.
args를 비교합니다. 길이 994 내지 9999 ㎝이다.
args 배열
에 구성 요소가 두 개 미만인 경우 화면에 메시지를 표시하고 프로그램을 종료합니다.
코드는 실행 방법을 알려줍니다.
args의 확인에도 불구하고. 길이
이면 코드는 여전히 충돌 방지가 아닙니다. 사용자가 5 대신 5를 입력하면 프로그램은
NumberFormatException
을 사용하여 구형을 취합니다. 두 번째 명령 행 인수는 단어가 될 수 없습니다. 인수는 숫자 여야합니다. 명령문을 추가하여 코드를보다 강력하게 만들 수 있습니다.
명령 줄 인수로 작업 할 때
String
값을 공백으로 입력 할 수 있습니다. 값을 큰 따옴표로 묶으십시오. 예를 들어 위의 코드는 인수
"My Big Fat File. txt"7
를 사용하여 실행할 수 있습니다.