//메소드(Method)
//main메소드의 첫 줄부터 차례대로 마지막줄까지 실행된다.
//주의!!!main 메소드의 안에 있는 것만 출력이 된다.!!!
//메소드 - 원하는 기능이 정의되어있는 상자
//메소드를 사용하려면 1.메소드를 정의하고 2.메소드를 메소드안에서 호출해야한다.---메소드의 선언과 호출이 모두 있어야 사용 가능!!!
//메소드의 정의는 클래스 안, 메소드 밖에서 작성한
//메소드명의 명명법
//메소드명은 소문자로 작성.(변수명도 동일)
//메소드명은 숫자로 시작 못한다.(변수명도 동일)
//만약 복합어라면 카멜케이스 기법을 사용한다.(변수랑동일)---뒤에 첫글자 대문자로
//예시
//java; --> 변수
//java(); --> 메소드
//Java; --> 모두 아님
public class MethodBasic {
public static void main(String[] args) {
System.out.println("프로그램 시작");//---①출력
//메소드의 호출
sayHello();//아래 sayHello 메소드를 실행시켜라.//----②출력
System.out.println("프로그램 종료");//---③출력
}
//메소드의 선언,메소드의 정의
public static void sayHello() {
System.out.println(111); //----②출력 //단독으로 출력 x >> 주의!!!main 메소드의 안에 정의한 것만 출력이 된다.!!!
}
}
//안녕하세요를 출력하는 기능이 있는 hi라는 이름의 메소드를 정의해보세요.
public class Method01 {
public static void main(String[] args) {//main메소드
hi();
hello();
}
public static void hi() {//hi메소드
System.out.println("안녕하세요");//메소드 호출
}
public static void hello() {//hello메소드
System.out.println("반갑습니다");
}
}
public class Method02 {
public static void main(String[] args) {
int a ; //지역변수(local)
tellyourName("김자바");//당신의 이름은 김자바
tellyourName("이자바");//당신의 이름은 이자바
printAge(10); //메소드 호출
//printAge("10") >> x 오류남 이유) 정수형값이 아닌 문자형으로 들어왔기때문에 오류남.
//printAge() >> 오류남 이유) 정수값이 안들어왔기때문에
//메소드 호출할때는
//1.반드시 호출하고자하는 메소드명과 동일하게 호출해야하고
//2.호출하고자하는 메소드의 매개변수 정보도 같아야 한다.
printAge(50);
}
public static void tellyourName(String name) {//매개변수 >> 메소드 안에 String name; 변수선언과 같다고 보면됨.
System.out.println("당신의 이름은 " + name);
}
//예시문제
//매개변수를 나이로 전달받아 전달받은 나이를
//출력하는 기증의 메소드를 만들어보세요.
public static void printAge (int age) { //출력기능 메소드 만들기
System.out.println("나이는 " + age);
}
}
public class Method03 {
public static void main(String[] args) {
//②---메소드호출
sum(2,6);
//메소드명완전일치해야매개변수의 갯수,자료형 동일해야함.(','쉼표로 나열해야함.)
//메소드명은 겹칠수없다.
//메소드를 호출 할 때는 메소드명이 동일해야하고,
//메소드의 매개변수 정보도 일치(매개변수의 갯수,자료형)
}
//①---메소드의 정의
public static void sum(int a, int b) {//메소드명: sum //sum() 괄화안 : 매개변수
System.out.println(a+b);
}
}
public class Method04 {
public static void main(String[] args) {
//sum2(10,20);//30 결과를 던져주고 끝남 !!주의 >> 출력x !!
int result = sum2(10,20);// int result = 30; 과 같다.
System.out.println(result);
//위와 동일하다. ==> System.out.println(sum2(10,20));
}
//매개변수로 정수 두개를 전달받아,
//전달받은 두 수의 합을 "리턴"하는 메소드
public static int sum2(int a, int b) {//" void(리턴타입,리턴되는 자료형) " 를 문제에 맞게 변경해야한다.
return a+b;
}
//매개변수로 정수 두개를 전달받아,
//전달받은 두 수의 합을 "출력"하는 메소드
public static void sum1(int a, int b) {
System.out.println(a+b);//출력기능
}
}
public class Method05 {
public static void main(String[] args) {
String result = strSum("aaa "," bbb");// 출력 x
System.out.println(result);//출력 o
}
//매개변수로 두 문자열을 전달받아
//전달받은 두 문자열의 나열 값을 리턴하는 메소드를 만들자.
public static String strSum(String a, String b) {//문자열로 변경. void --> String
return a + b;
}
}
public class Method06 {
//방법 1
public static void main(String[] args) {
//출력방법 ①
int result = max(1,2);
System.out.println(result);
//출력방법 ②
System.out.println(max(10,20));
}
public static int max(int a, int b) {
int maxNum = 0;//큰 정수
if (a>=b) {
maxNum= a;
}
else {
maxNum= b;
}
return maxNum;// return 메소드는 한번만 사용하는게 좋다! 최대한 사용x
}
//방법 2--- 간단하게 만들기(삼항연산자 이용)
public static int max2(int a, int b) {
return a >= b ? a : b; // 삼항연산자: a가 b보다 크거나 같다면 a, 그렇지 않으면 b.
}
}
//예제
public class Methodex {
public static void main(String[] args) {
//1.매개변수로 두개의 정수를 전달받아
//전달받은 두 수의 합을 출력하라.
printSum(10,20); //자동완성 누르고 tab 누르기.//예제 1번
printSumStr("안녕", "하세요");//예제 2번
printNameAndAge("이순신", 50);//문자형은 무조건 쌍따옴표 반드시!//예제 3번
}
//1.매개변수로 두개의 정수를 전달받아
//전달받은 두 수의 합을 출력하라.
public static void printSum(int a, int b) {//필요한 만큼 자료 넣어주면됨.(두 개의 정수)
System.out.println(a +b);
}
//2.매개변수로 두 개의 문자열을 전달받아
//두 문자열의 나열한 값을 출력하는 메소드
public static void printSumStr(String a, String b) {
System.out.println(a+b);
}
//3. 매개변수로 이름과 나이를 전달받아,
//전달받은 이름과 나이를 출력하는 메소드
public static void printNameAndAge(String name, int age) {
System.out.println( "이름은 " + name +"나이는" + age );
}
}
이후실습예제 계속...