package a.b.c;
public class AddSum{
String x;
String y;
/*
메모리에 올리기 위해 초기화시켜야 할 멤버 소속변수 필드
default접근제한자 생략 패키지 내에서만 사용가능
*/
public AddSum(String x, String y){
/*
멤버 소속변수 필드를 초기화 시켜줄 생성자
public 접근제한자 키워드로 패키지를 넘나들수 있는 (전역??)함수
생성자이므로 void return X
*/
this.x = x;
// 외부에서 입력된 값이 메인함수 안에 변수x값으로 생성자에의해
// 초기화된 값이 소속변수 x가 된다 표현이..?
this.y = y;
}
public int addSum(String x, String y){
/*
public 접근제한자 패키지를 넘나들면서 사용할수있다
void가 없는 함수이므로 데이터타입과 return값이 필요하다
*/
int xVal = Integer.parseInt(x);
// String데이터타입의 x매개변수를 int데이터타입으로 (전환?변환?)
int yVal = Integer.parseInt(y);
// Integer래퍼클래스의 parseInt함수를 이용하여 String데이터타입을
// int 데이터타입 값으로 전환
int sum = xVal + yVal;
//int 데이터타입의 xVal과 yVal변수의 합
return sum;
// int 데이터형 함수이므로 return값도 int 값이어야 한다
}
public static void main(String args[]){
String x = args[0]; // 배열은 인덱스(첨자)0부터 시작해야한다
String y = args[1]; // 배열의 데이터값은 다 같아야 한다
// 순차적이고 중간에 값이 없으면 안된다
AddSum as = new AddSum(x, y);
/*
AddSum 자기자신을 데이터로 사용하기 위해
생성자를 만든다? 생성자가 코드로 있다면?
*/
int sum = as.addSum(as.x, as.y);
// int데이터타입의 sum 함수를 as참조변수의addSum함수의 값으로 초기화
System.out.println( as.x + " + " + as.y + " = " + as.addSum(as.x, as.y));
//String데이터타입의 as.x값과 as.y
//int데이터타입의 sum함수값이 출력
} // end of main
} // end of AddSum class
//improt java.lang.String;
//java.lang coreJava 늘써야해서 import 생략가능
//System out static이해불가
public class CommandLineArg{
String m1;
String m2;
String m3;
String m4;
String m5;
/*
다른 곳(패키지,클래스)에서 사용하기 위해서 메모리(주소)에 올리기 위해
초기화 시켜야할 필드 소속 멤버변수들
defalut 생략됐으므로 패키지 내에서 사용
*/
/*
CommandLineArg(String a1,String m2,String m3){
this.m1 = a1;
this.m2 = m2;
this.m3 = m3;
}
필요없는 생성자 있어도 컴파일가능하다 ??
*/
CommandLineArg(String a1,String m2,String m3,String m4,String m5){
this.m1 = a1;
this.m2 = m2;
this.m3 = m3;
this.m4 = m4;
this.m5 = m5;
//멤버변수를 초기화해주기 위해서 생성자 데이터
}
public static void main(java.lang.String args[]){
// [] : 자바에서는 배열 연산자
// String args[] : 명령해인수(아규먼트), Command Line argument
// 콘솔어플리케이션에서 외부에서 데이터를 배열로 받는다
String args0 = args[0]; // String 데이터타입의 첨자 0
String args1 = args[1]; // String 데이터타입의 첨자 1
String args2 = args[2]; // String 데이터타입의 첨자 2
String args3 = args[3]; // String 데이터타입의 첨자 3
String args4 = args[4]; // String 데이터타입의 첨자 4
/*
자바에서 배열연산자는[]
1. 자바 배열은 첨자(인덱스)0부터 시작한다.
2. 자바 배열은 중간에 값이 없으면 안된다
3. 배열은 순차적 데이터이다.
4. 자바 배열은 데이터 타입이 동일해야 한다
*/
java.lang.System.out.println("Hello~~ >> : " + args0 + " : " + args1
+ " : " + args2 + " : " + args3 + " : " + args4);
CommandLineArg cla = new CommandLineArg(args0, args1, args2, args3, args4);
System.out.println(cla.m1);
System.out.println(cla.m2);
System.out.println(cla.m3);
System.out.println(cla.m4);
System.out.println(cla.m5);
} // end of main
} // end of CommandLineArg
/*
C:\00.KOITT\10.JExam>javac CommandLineArg.java
C:\00.KOITT\10.JExam>java CommandLineArg 아 1
Hello~~ >> : 아 : 1
*/
'수업' 카테고리의 다른 글
10월 15일 - 기본자료형초기값, 형변환 (0) | 2018.10.15 |
---|---|
10월 12일 숫자->문자, 문자->숫자(Ascii) (0) | 2018.10.12 |
10월 10일 - 생성자, 패키지컴파일, import (0) | 2018.10.10 |
10월 8일 - static, class, Literal, MethodMath (0) | 2018.10.08 |
10월 7일 (0) | 2018.10.07 |
댓글