1) 배열 응용 - 메인 메서드의 매개변수 전달(명령창에서의 실행 명령)
package sec03;
public class MainArgumentDemo {
public static void main(String[] args) {
if (args.length == 2) {
int i = Integer.parseInt(args[1]);
nPrintln(args[0], i);
} else
System.out.println("어이쿠!");
}
public static void nPrintln(String s, int n) {
for (int i = 0; i < n; i++)
System.out.println(s);
}
}
원래는 어이쿠!가 나왔는데, 안녕! 안녕! 안녕! 이 나오기 위해서 변경해줘야 하는 부분이 있다.
다음의 과정을 해줘야하는데,
1. [Run] -> [Run Configurations] 을 선택 한 후
2. [Arguments]를 클릭하고
3. [Program arguments]에 안녕! 3이라는 인수를 입력하여야 한다
**뛰어쓰기 올바르지 않으면 실행결과가 바뀌지 않으므로 정확히 입력해야한다~~
< 최종결과 >
2) 가변 개수 인수
- JDK 5부터는 메서드에도 데이터 타입이 같은 가변 개수(variable length)의 인수를 전달 가능
ex) 데이터 타입 ...(가변 개수 데이터 타입을 나타낸다) 변수
- 한 개의 가변 개수 매개변수만 사용 가능하며 가변 개수 매개변수는 마지막에 위치
- 가변 개수 인수를 가진 메서드를 호출하면 내부적으로 배열을 생성하여 처리
package sec03;
public class VarArgsDemo {
public static void main(String[] args) {
printSum(1, 2, 3, 4, 5);
printSum(10, 20, 30);
}
public static void printSum(int... v) {
int sum = 0;
for (int i : v)
sum += i;
System.out.println(sum);
}
}
< 최종 결과 >

=> 초기값이 없으면 바로 메인으로 넘어간다. for문을 통해서 i의 값을 합해서 저장하므로 답은 15, 60
3) 객체의 배열
- 객체 배열은 객체를 참조하는 주소를 원소로 구성
ex) Ball 클래스의 객체로 구성된 배열을 선언하고 초기화
Ball [ ] balls = new Ball[5]; => 5개의 Ball 객체를 참조할 변수를 준비
- 생성자를 호출하여 Ball 객체를 생성해야 함
4) 열거 타입
4-1) 필요성
- 제한된 수의 일이나 사건 등에 대하여 숫자로 표현
- 각 숫자에 대하여 부여된 의미를 개발자가 숙지 => 일이나 사건에 대한 경우의 수가 많다면 개발자 관점에서 불편
- 부여되지 않은 의미 없는 숫자 => 컴파일러는 알 수 없다.
- 출력 값이 의미 없는 숫자로 표현
- 제한된 사건에 대하여 숫자 대신에 상수를 정의해서 부여 : 숫자에 부여된 의미를 개발자가 알 수 있지만, 여전히 나머지 문제가 미결
- 자바 5부터 열거 타입을 제공
ex)
package sec04;
public class ConstantDemo {
public static void main(String[] args) {
final int MALE = 0;
final int FEMALE = 1;
final int SOUTH = 1;
int gender = FEMALE;
if (gender == MALE)
System.out.println(MALE + "은(는) 병역 의무가 있다.");
else
System.out.println(FEMALE + "은(는) 병역 의무가 없다.");
if (gender == SOUTH)
System.out.println(SOUTH + "은(는) 누구?");
gender = 5;
}
}
< 최종 결과 >

4-2) 열거 타입과 응용
- 열거 타입 : 서로 연관된 사건들을 모아 상수로 정의한 java.lang.Enum 클래스의 자식 클래스
- 선언 : enum 열거타입이름 { 상수목록 }
ex) enum Gender {MALE, FEMALE} - enum :열거 타입을 정의하기 위한 키워드 / Gender : 열거 타입 이름 /
MALE, FEMALE : 상수 목록
- 일종의 클래스 타입인 열거 타입도 생성자, 필드 및 메서드를 가질 수 있다.
- 열거 타입 상수는 생성자에 의한 인스턴스이다.- 이때 생성자, 필드 및 메서드와 열거 타입 상수를 구분하기 위해서 뒤에 반드시 (;) 를 추가해야한다.
++ 특수문자 원주율 쓰는 법
[ㅎ]을 누른 후 한자를 누르면 특수문자표가 나오는데 주르륵 내리면 <<<< π >>>>> 가 있습니다 !!!
3.14로 적어도 되겠지만 파이 기호로 써야할 일도 있으니까 참고하세여~~
'프로그래밍 언어 > Java' 카테고리의 다른 글
정처기 카운트다운 프로그램 만들기(java, 파이썬), java 기초(패키지, 패키지 선언, import문, 상속과 접근제어, final 클래스) (0) | 2023.03.28 |
---|---|
연산자, 상속(상속의 필요성, 상속이란, 상속의 선언, 메서드 오버라이딩, 오버로딩 비교) (0) | 2023.03.27 |
java 예제 문제 풀기(숫자 더하기, 짝수 출력하기, 소수 구하기, 피보나치 수열 작성하기, 10진수를 2진수로 바꾸기) (0) | 2023.03.22 |
Java 기초(변수 설정, 정수와 실수, 문자열, 변수의 사용의 이유, 주석의 사용, 세미콜론;) (0) | 2023.03.17 |
Java 객체지향(23.03.16) (0) | 2023.03.16 |