package ex01.method.method02;
import java.util.Scanner;
//영역을 나눠서 명확한 코드 (용도마다 방을 나눠 놓는 것)
//코드 자체의 논리를 그룹화 -> 가독성 , 유지보수 쉽도록.
//매개변수라는 출입구를 통해서 외부와 소통
public class UsingMethod {
static Scanner sc = new Scanner (System.in);
static void greeting() {
System.out.println("좋은 아침입니다 ^^");
}
static int getQuestionAge() {
//질문하고 입력하는 부분
System.out.println("나이는 어떻게 되세요?");
int age = sc.nextInt();
return age;
}
static void respond(int age) {
if(age > 40)
System.out.println("안녕하세요 꾸벅~");
else if (age > 30)
System.out.println("반갑습니다");
else if (age > 20)
System.out.println("어이~ 잘지내?");
else if (age > 10)
System.out.println("야~ 저리가");
}
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
greeting();
int age = getQuestionAge();
respond(age);
}
sc.close();
}
}
package ex01.method.method04;
import java.util.Scanner;
/*
1. 메서드의 역할
; 프로그래밍을 부분적으로 그룹화 시키는 것이 목적
2. 메서드 사용
1) 그냥 혼자 실행하는 메서드
2) 실행 후 결과를 다른곳에 전달해야 하는 메서드
3) 뭔가를 받아서 실행해야 하는 메서드
3.메서드 종료
리턴값 유무 o x
입력값 유무 o oo ox
x xo xx
*/
//ex) 더하기 연산
public class KindOfMethod {
static Scanner sc = new Scanner(System.in);
//리턴값 x, 입력값 x
static void viewMessage() {
System.out.println("숫자를 2개 입력하세요");
}
//리턴값 o, 입력값 x
static int getNum() {
int num = 0;
System.out.print("숫자 입력 : ");
num = sc.nextInt();
return num; //결과값을 알려주고 싶어~
}
//리턴값 o, 입력값 o
static int add(int a, int b) {
return a+b;
}
//리턴값 x, 입력값 o
static void viewResult(int result) {
System.out.println("결과값은 " + result + "입니다");
}
public static void main(String[] args) {
viewMessage();
int num0 = getNum();
int num1 = getNum();
int result = add(num0, num1);
viewResult(result);
}
}
package ex01.method.method05;
public class Variables {
static int add(int a, int b) {
int result = 0; //add의 지역변수
result = a+b;
return result;
}
static int sub(int a, int b) {
int result = 0; //sub의 지역변수
result = a-b;
return result;
}
public static void main(String[] args) {
int result = 0; // main 의 지역변수, 수명은 main 메서드 호출될 동안만 존재
System.out.println("result : " + result);
add(10, 20);
System.out.println("result : " + result);
sub(10, 20);
System.out.println("result : " + result);
//모두 0 출력 - result는 지역변수
}
}
package ex01.method.method06;
public class Variables {
//클래스 내에서 공유하고 싶은 값은 class 소속 변수로 선언해야 한다.
//그러면 모든 메서드가 접근할 수 있다.
static int result = 0; //필드, 멤버변수(클래스 소속 변수)
static void add(int a, int b) {
result = a+b;
}
static void sub(int a, int b) {
result = a-b;
}
public static void main(String[] args) {
System.out.println("result : " + result);
add(10, 20);
System.out.println("result : " + result);
sub(10, 20);
System.out.println("result : " + result);
}
}