FIF's 코딩팩토리

자바 기초 NCS교육과정(12)-메소드 본문

Back-End/국비 NCS교과과정

자바 기초 NCS교육과정(12)-메소드

FIF 2019. 7. 9. 17:16
반응형
Method

  1. 값을 계산하기 위해서 사용되는 기능이다. 
  2. 객체의 동작을 처리하기 위한 기능이다. 
   
  method구조 : 메소드 선언부 + 메소드 구현부 
   반화형 메소드명(데이터타입 매개변수) => 메소드 선언부 
  { 
    메소드가 처리해야할 로직 구현;     => 메소드 구현부 
    return 값; 
  } 
   
  1 리턴값이 없고 매개변수도 없다. 
    void add(){ 
     int x=10; 
     int y=20; 
     if(y>30){ 
     return; 
     } 
     system.out.println(x+y); 
    } 
     
    add(); =>호출 
     
  2 리턴값은 없지만 매개변수(parameter)는 있다. 
    void plus(int x,int y}{ 
     system.out.println; 
    } 
     
    plus(10,20); 
   system.out.printf(plus(10,20) X    
  3 리턴값은 있으나 매개변수(parameter)가 없다. 
    double avg(){ 
     int total=15; 
     return = total/3.0 
     } 
      
     double res=avg(); 
     system.out.println(res); 
     system.out.println(avg();{ (o) 
   
   4 리턴값 있고 매개변수도 있다. 
    dougle avg(int x, int y ){ 
     return(x+y)/2.0 
     }


    5 double res=avg( 10,20); 
       system.out.println(res); 
        
       double data = (10+20)/2; 

 

 

Java052_method.java

public class Java052_method {
	//프로그램을 실행하면 NJM(자바가상머신-Java Virtual Machine)에서
	//main스레드에 main()메소드를 호출한다.

	public static void main(String[] args) {// method 구현부//1
		System.out.println("main start");//2
		//makeTest(메소드 호출(call)-정의된 메소드를 호출해야만 실행한다.
		makeTest();//3
		System.out.println("main end");//7
		
	}

	public static void makeTest(){///4
		System.out.println("makeTest");//5;
	}//6
}

Java053_method.java

 [출력결과]
  홍길동님은 회원입니다.
  3000포인트가 적립되었습니다.

 

 

 

 

 

 

 

 

 

public class Java053_method {

	public static void test(int point) {//9
		System.out.println(point + "포인트가 적립되었습니다.");//10
	}// end test()//11

	public static void process(String name, boolean chk) {//3
		if (chk) {//4
			System.out.println(name + "님은 회원입니다.");//5
		}//6
		else {
			System.out.println(name + "님은 비회원입니다.");
		}
	}// end process() //7

	public static void main(String[] args) { //1
		//매개변수가 선어된 메소드를 호출할 때 매개변수에 정의된
		//데이터 타입과 일치하는 값을 넘겨준다.
		process("홍길동", true);//2
		test(3000); //8
	}// end main()//12

}// end class

Java054_method.java

public class Java054_method {

	public static void main(String[] args) {//1
		int year = 2012; //2
		if (isLeapYear(year)/*3*/) /*11*/{
			System.out.printf("%d년도는 윤년입니다.\n", year);//12
		}/*13*/ else {
			System.out.printf("%d년도는 평년입니다.\n", year);
		}

	}// end main//14

	public static boolean isLeapYear(int year) {//4
		// 어떤 년도가 윤년이면 true, 평년이면 false을 리턴하는 프로그램 구현
		boolean chk;//5
		if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)/*6*/ {
			chk=true; //7
		}/*8*/ else {
			chk=false;
		}
		return chk;//9
	}// end isLeapYear()//10

}//end class

Java055_method.java

public class Java055_method {

	public static void main(String[] args) {
		int a=4, b=2,c=5;
		int[] num=new int[] {2,3};
		int[] data = new int[] {1,5,8,9};
		System.out.println(process(a,b,c));
		System.out.println(plus(num));
		System.out.println(plus(data));

	}// end main()

	public static int process(int x, int y, int z) {
		return x + y + z;
	}
	
	public static int plus(int[] arr) {
		int sum=0;
		for (int i = 0; i < arr.length; i++) {
			sum = sum + arr[i];
		}
		return sum;
	}

}// end class

Java056_method.java

public class Java056_method {

	public static void main(String[] args) {
		int a=10, b=20;
		int c=a, d=b; //값복사(call by value)
		System.out.printf("a=%d,b=%d\n",a,b);
		System.out.printf("c=%d,d=%d\n",c,d);
		
		System.out.println("====swap 기본데이터 타입====");
		/*int temp=c;
		c=d;
		d=temp;*/
		int temp=d;
		d=c;
		c=temp;
		
		System.out.printf("a=%d,b=%d\n",a,b);
		System.out.printf("c=%d,d=%d\n",c,d);
		
		System.out.println("////////////////////////");
		int[] num=new int[] {10,20};
		int[] arr=num; //주소복사(call by reference)
		System.out.printf("num[0]=%d, num[1]=%d\n",num[0],num[1]);
		System.out.printf("arr[0]=%d, arr[1]=%d\n",arr[0],arr[1]);
		
		System.out.println("========swap 참조데이터 타입===");
		/*int imsi=arr[0];
		arr[0]=arr[1];
		arr[1]=imsi;*/
		int imsi=arr[1];
		arr[1]=arr[0];
		arr[0]=imsi;
		
		System.out.printf("num[0]=%d, num[1]=%d\n",num[0],num[1]);
		System.out.printf("arr[0]=%d, arr[1]=%d\n",arr[0],arr[1]);

	}//end main()

}//end class

Java057_method.java

  자바에서 제공하는 데이터 타입(data type)
  1 기본 데이터 타입 : byte, short, int, long, float, double, char, boolean
  2 참조 데이터 타입 : 배열, 클래스, 인터페이스
  
  [인자(매개변수) 전달방식]
  1 call by value : 값복사
    인자값을 전달할때 기본 데이터 타입을 넘겨주는 형식니다.
  2 call by reference : 주소복사
    인자값을 전달할때 참조 데이터 타입을 넘겨주는 형식이다.
 

 

 

 

 

 

 

 

 

 

public class Java057_method {

	public static void main(String[] args) {
		int a = 10, b = 20;
		callByValue(a, b);
		System.out.printf("a=%d,b=%d\n", a, b);
		System.out.println("///////////////////////////");
		int[] num=new int[] {10,20};
		callByReference(num);
		System.out.printf("num[0]=%d, num[1]=%d\n",num[0],num[1]);
	}// end main()
	
	public static void callByReference(int[] arr) {
		int imsi=arr[1];
		arr[1]=arr[0];
		arr[0]=imsi;
		
		System.out.printf("arr[0]=%d, arr[1]=%d\n",arr[0],arr[1]);
	}

	public static void callByValue(int c, int d) {
		int temp = d;
		d = c;
		c = temp;
		System.out.printf("c=%d,d=%d\n", c, d);
	}// end callByValue

}// end class

Java058_method.java

  [출력결과]
  e의 대문자는 E입니다.

 

 

 

 

 

 

 

 

 

 

 

public class Java058_method {

	public static void main(String[] args) {
		//[조건]:data변수의 값은 소문자만 입력한다.
		char data = 'e';
		char code=aaaa(data);
		System.out.printf("%c의 대문자는 %c입니다.\n",data,code);
		

	}// end main()
	
	public static char aaaa(char data) {
		//1 대문자와 소문자 유니코드값
		//2 대문자, 소문자 차이
		//3 캐스팅 int->char
		return (char)(data-32);
	}

}//end class

Java059_method.java

public class Java059_method {

	public static void main(String[] args) {
		int data = 11;
		if (process(data))
			System.out.printf("%d는(은) 짝수입니다.\n", data);
		else
			System.out.printf("%d는 (은) 홀수입니다.\n", data);

	}// end main()

	public static boolean process(int data) {
		// data매개변수의 값이 짝수임ㄴ true,
		// 홀수이면 false를 리턴하는 프로그램을 구현하세요ㅋ
		if (data % 2 == 0) {
			return true;
		} else {
			return false;
		}
	}

}//end class

 

Java060_method.java

public class Java060_method {

	public static void main(String[] args) {
		char[]data=new char[] {'j','A','v','a'};
		System.out.println("문자열의 길이:"+length(data));
		System.out.println("2인덱스의 요소값 가져오기:"+charAt(data,2));
	}
	
	public static int length(char[] data) {
		//data 배열의 크기를 리턴하는 프로그램을 구현하세요.
		return data.length;
	}
	
	public static char charAt(char[] data,int index) {
		//data배열에서 index에 해당하는 문자를 리턴하는 프로그램을 구현하세요.
		return data[index];
	}

}//end class

Java061_method.java

  출력결과
  20는 양수입니다.
  0은 0입니다.
  -20은 음수입니다.

 

 

 

 

 

 

 

 

 

 

 

public class Java061_method {

	public static void main(String[] args) {
		process(20);
		process(0);
		process(-20);
	}
	public static void process(int num) {
		//num변수의 값이 0보다 크면 "양수",0이면"0",
		//0보다 작으면 "음수"로
		//출력하는 프로그램을 구현하세요.
		if(num>0)
			System.out.printf("%d는 양수입니다.\n",num);	
		else if(num==0)
			System.out.printf("%d는 0입니다.\n",num);
		else 
			System.out.printf("%d는 음수입니다.\n",num);
		
	}

}//end class

Java062_method.java

  [출력결과]
  입사총점 : 815점
  입사결과:합격입니다

 

 

 

 

 

 

 

 

 

 

 

 

public class Java062_method {
	
	public static int total(int toeic, int it) {
		//두 매개변수의 합계를 계산하여 리턴한다.
		return toeic+it;
	}
	public static String rs(int tot) {
		// 총점이 800이상이면 합격, 미만이면 불합격
		if(tot>=800)
			return "합격";
		else
			return "불합격";
		
	}
	
	public static void main(String[] args) {
		int toeic = 750, it=65;
		int sum=total(toeic,it);
		System.out.println("입사총점:"+sum+"점");
		System.out.println("입사결과"+rs(sum)+"입니다.");		
	}//end main()

}//end class

Java063_method.java

  [출력결과]
  java test
  tset avaj
  java test

 

 

 

 

 

 

 

 

 

 

 

public class Java063_method {

	public static void main(String[] args) {
		char[] arr = { 'j', 'a', 'v', 'a', ' ', 't', 'e', 's', 't' };

		System.out.println(arr);
		System.out.println(reverse(arr));
		System.out.println(arr);
	}// end main()

	public static char[] reverse(char[] data) {
		// data의 요소 앞뒤를 바꿔서 리턴하는 프로그램을 구현하세요.
		
		char[] Rarr = new char[data.length];
		for (int i = 0; i < data.length; i++) {
			Rarr[i] = data[data.length - 1 - i];
		}
		return Rarr;

	}

}// end class

Java064_method.java

public class Java064_method {

	public static void main(String[] args) {
		char[] data=new char[] {'a','b','c'};
		System.out.println(data); //abc
		System.out.printf("%s\n",data);//[C@1b6d3586
		System.out.println("data:"+data);//data:[C@1b6d3586
		
		int[] num=new int[] {1,2,3};
		System.out.println(num);
	}

}

 

 

반응형
Comments