명령행매개변수: 프로그램이 실행될때 외부에서 값을 입력받아서 사용할 수 있도록 제공(jdk의 초창기 버전)
[command창에서 실행하는 경우]
java 클래스명 매개변수1 매개변수2 ...
public class ArgsTest {
public static void main(String[] args) {
System.out.println(args.length);
System.out.println(args[0]+":"+args[1]);
int val2 = Integer.parseInt(args[1]);
//String -> int로 변환
System.out.println(Integer.parseInt(args[0])+ val2);
}
}
명령행매개변수로 값을 5개 입력받아 총점과 평균을 출력할 수 있도록 작업
public class ArgsExam {
public static void main(String[] args) {
int sum = 0;
for(int i=0;i<args.length;i++) {
sum = sum+ Integer.parseInt(args[i]);
}
System.out.println("총점:"+sum);
System.out.println("평균:"+(sum/args.length));
//향상된 for문
int sum2 = 0;
for(String val:args) {
sum2 = sum2 + Integer.parseInt(val);
}
System.out.println("총점:"+sum2);
System.out.println("평균:"+(sum2/args.length));
}
}
: *기호를 10회 출력하고 싶은 개발자만 활용가능
void : 리턴값이 없다, 리턴값이 없는 메소드는 void를 붙인다
public void display() {
for(int i = 1; i<=10;i++) {
System.out.print("*");
}
}
: 매개변수의 갯수, 타입, 순서를 다르게 정의하면 같은 이름의 메소드를 여러 개 정의하고 사용 가능
=> 이를 메소드 오버로딩이라 함.
public void display(String str) {
for(int i = 1; i<=10;i++) {
System.out.print(str);
}
}
:출력할 기호와 출력할 횟수를 매개변수로 전달받아서 사용할 수 있도록 메소드 정의
public void display(String str,int num) {
for(int i = 1; i<=num;i++) {
System.out.print(str);
}
}
:숫자(정수) 2개를 매개변수로 전달받아서 더한 후 결과를 리턴하는 메소드
메소드 선언부에 리턴타입으로 정의되는 타입과 무조건 동일한 타입의 값 혹은 값이 저장된 변수를 메소드의 마지막 명령문에서 return해야함
리턴값은 무조건 한개만 가능
public int add(int num1,int num2) {
int result = 0;
result = num1 + num2;
return result;
}
package oop.basic;
//MyMethod클래스에서 정의된 메소드를 사용
//=>메소드를 호출
public class MyMethodTest {
public static void main(String[] args) {
MyMethod obj = new MyMethod();
System.out.println("프로그램시작");
System.out.println("step1");
//1.매개변수가 없고 리턴값이 업는 메소드의 호출
//=>메소드의 호출결과를 변수에 저장하지 않으면서 호출하고 있으면 void 메소드
obj.display();
obj.display();
System.out.println("step2");
//2.리턴값이 없고 매개변수가 한 개인 메소드의 호출
obj.display("☆");
obj.display("★");
//3.리턴값이 없고 매개변수가 2개인 메소드 호출
System.out.println("step3");
obj.display("♡",55);
obj.display("♡",15);
//4. 매개변수, 리턴값이 모두 있는 메소드의 호출
//1)리턴값이 있는 메소드를 호출하는 경우 리턴타입과 동일한 타입의 변수를 선언해서 리턴값을 저장한다.
int resultdata = obj.add(100, 200);
System.out.println("계산결과=>" +resultdata);
if(resultdata>300) {
System.out.println("통과");
}else {
System.out.println("다시작업");
}
//2)메소드의 호출결과를 다른 메소드의 매개변수로 전달하거나 바로 호출해서 작업이 가능하다.
System.out.println("계산결과=>" +obj.add(1000, 2000));
if(obj.add(200, 3000)>500){
System.out.println("통과");
}else {
System.out.println("다시작업");
}
}
}
OOP
본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.