Java

brave_chicken·2024년 3월 19일

잇(IT)생 챌린지

목록 보기
7/90

ArgsTest : 명령행 매개변수

명령행매개변수: 프로그램이 실행될때 외부에서 값을 입력받아서 사용할 수 있도록 제공(jdk의 초창기 버전)

  • 셋팅 Run-Run configuration-파일선택, argument들어가서 string prompt 적용
    ->프로그램을 실행하면서 값을 입력하면 인터프리터가 클래스명 다음에 몇개를 입력했는지 공백문자로 구분해서 확인하고 그 갯수만큼 String배열을 만들어서 args에 할당

[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);
	}

}

ArgsExam

명령행매개변수로 값을 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));
		
	}

}

MyMethod

1. 매개변수 X, 리턴값 X method

: *기호를 10회 출력하고 싶은 개발자만 활용가능
void : 리턴값이 없다, 리턴값이 없는 메소드는 void를 붙인다

public void display() {
		for(int i = 1; i<=10;i++) {
			System.out.print("*");
		}
	}

2. 리턴값 X, 매개변수 1개인 method

: 매개변수의 갯수, 타입, 순서를 다르게 정의하면 같은 이름의 메소드를 여러 개 정의하고 사용 가능
=> 이를 메소드 오버로딩이라 함.

public void display(String str) {
		for(int i = 1; i<=10;i++) {
			System.out.print(str);
		}
	}

3. 리턴값 X, 매개변수 2개인 method

:출력할 기호와 출력할 횟수를 매개변수로 전달받아서 사용할 수 있도록 메소드 정의

public void display(String str,int num) {
		for(int i = 1; i<=num;i++) {
			System.out.print(str);
		}
	}
	

4. 리턴값 O, 매개변수 2개인 method

:숫자(정수) 2개를 매개변수로 전달받아서 더한 후 결과를 리턴하는 메소드
메소드 선언부에 리턴타입으로 정의되는 타입과 무조건 동일한 타입의 값 혹은 값이 저장된 변수를 메소드의 마지막 명령문에서 return해야함
리턴값은 무조건 한개만 가능

public int add(int num1,int num2) {
	int result = 0;
		
	result = num1 + num2;
	return result;
}

MyMethodTest

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)의 교육을 수강하고 작성되었습니다.

0개의 댓글