Java 하나의패키지-하나의클래스 /리턴O 입력O/ 메서드 선언 및 호출

h220101·2022년 3월 12일
0

2022-02-28 -03-03 (4,5,6일차)

01 : 하나의 패키지-하나의 클래스 리턴O 입력O 메서드선언 및 호출 

01 : 하나의 패키지-하나의 클래스 리턴O 입력O 메서드선언 및 호출



package hong.hwi.yeon;

public class Age02 {

	public static void main(String[] args) {

		String re = ageCheck(22);
		System.out.println(re + "<-re 변수에 담긴값");
	}
	
	public static String ageCheck(int age) {
		System.out.println("입력한 나이는 "+age+"입니다.");
		System.out.println("당신의 연령등급은?");
		
		String re = null;
        
		if(age <= 18) {
			System.out.println("1 미성년자 등급");
			re = "1 미성년자";
		}else if(age >= 19 & age <= 39) {
			System.out.println("2 청년 등급");
			re = "2 청년";
		}else if(age >= 40 & age <= 64) {
			System.out.println("3 중장년 등급");
			re = "3 중장년";
		}else if(age >= 65) {
			System.out.println("4 노년 등급");
			re = "4 노년";
		}
		return re;
	}
}

String re = null;
변수 re에 null 값을 준다. 왜?

[값이 존재하지만 알 수 없는 경우.
'아직 입력되지 않은 값' '알 수 없는 값' 을 의미한다.
null 을 반환하는 것은 아무것도 참조하지 않는 값을 반환한다.]


01. ageCheck 메서드,
return 데이터타입 - String
나이 입력받고 연령별 등급판단 후 리턴값을 받아 어떠한 내용 처리하기

package hong.hwi.yeon;

public class Age02 {

	public static void main(String[] args) {

		String re = ageCheck(10);
		System.out.println(result + "<-re 변수에 담긴값");
		if(re.equals("1 미성년자")) {
			System.out.println("1 미성년자 월100지급");
		}else if(re.equals("2 청년")) {
			System.out.println("2 청년 월200지급");
		}else if(re.equals("3 중장년")) {
			System.out.println("3 중장년 월300지급");
		}else if(re.equals("4 노년")) {
			System.out.println("4 노년 월400지급");
		}
	}	
	public static String ageCheck(int age) {
		System.out.println("입력한 나이는 "+age+"입니다.");
		System.out.println((age <= 18)+ "<-1 조건");
		System.out.println((age >= 19 & age <= 39)+ "<-2 조건");
		System.out.println((age >= 40 & age <= 64)+ "<-3 조건");
		System.out.println((age >= 65)+ "<-4 조건");
		
		String re = null;
		
		if(age <= 18) {
			re = "1 미성년자";
		}else if(age >= 19 & age <= 39) {
			re = "2 청년";
		}else if(age >= 40 & age <= 64) {
			re = "3 중장년";
		}else if(age >= 65) {
			re = "4 노년";
		}
		return re;
	}
}


re 값에 담긴 값을 출력하고,
if 문에서 참조타입(String) 이므로
객체와 객체끼리(내용이 같은지)비교(.equals)해서 맞으면 해당 값 출력!

+조건(false/true) 확인을 위해 true인 것을 같이 확인해보았다.


02. ageCheck 메서드,
return 데이터타입 - int
나이 입력받고 연령별 등급판단 후 리턴값을 받아 어떠한 내용 처리하기


package hong.hwi.yeon;

public class Age03 { //리턴 데이터타입을 int로 선언

	public static void main(String[] args) {

		int re = ageCheck(90);
		System.out.println(re + " <-re 변수에 담긴값");
		if(re == 1) {
			System.out.println("1 미성년자 월100지급");
		}else if(re == 2) {
			System.out.println("2 청년 월200지급");
		}else if(re == 3) {
			System.out.println("3 중장년 월300지급");
		}else if(re == 4) {
			System.out.println("4 노년 월400지급");
		}
	}	
	public static int ageCheck(int age) {
		System.out.println("입력한 나이는 "+age+"입니다.");
		System.out.println((age <= 18)+ "<-1 조건");
		System.out.println((age >= 19 & age <= 39)+ "<-2 조건");
		System.out.println((age >= 40 & age <= 64)+ "<-3 조건");
		System.out.println((age >= 65)+ "<-4 조건");
		
		int re = 0;
		
		if(age <= 18) {
			re = 1;
		}else if(age >= 19 & age <= 39) {
			re = 2;
		}else if(age >= 40 & age <= 64) {
			re = 3;
		}else if(age >= 65) {
			re = 4;
		}
		return re;
	}
}


re 값에 담긴 값을 출력하고,
if 문에서 기본타입(int) 이므로
관계연산자(연산의 결과는 true or false)로 값이 같은지 비교(==)해서 맞으면 해당 값 출력!


03. ageCheck 메서드,
return 데이터타입 - char
나이 입력받고 연령별 등급판단 후 리턴값을 받아 어떠한 내용 처리하기


package hong.hwi.yeon;

public class Age04 { //리턴 데이터타입을 int로 선언

	public static void main(String[] args) {

		char re = ageCheck(90);
		System.out.println(re + " <-re 변수에 담긴값");
		if(re == 'a') {
			System.out.println("1 미성년자 월100지급");
		}else if(re == 'b') {
			System.out.println("2 청년 월200지급");
		}else if(re == 'c') {
			System.out.println("3 중장년 월300지급");
		}else if(re == 'd') {
			System.out.println("4 노년 월400지급");
		}
	}	
	public static char ageCheck(int age) {
		System.out.println("입력한 나이는 "+age+"입니다.");
		System.out.println((age <= 18)+ "<-1 조건");
		System.out.println((age >= 19 & age <= 39)+ "<-2 조건");
		System.out.println((age >= 40 & age <= 64)+ "<-3 조건");
		System.out.println((age >= 65)+ "<-4 조건");
		
		char re = 0;
		
		if(age <= 18) {
			re = 'a';
		}else if(age >= 19 & age <= 39) {
			re = 'b';
		}else if(age >= 40 & age <= 64) {
			re = 'c';
		}else if(age >= 65) {
			re = 'd';
		}
		return re;
	}
}

re 값에 담긴 값을 출력하고,
if 문에서 기본타입(char) 이므로
관계연산자(연산의 결과는 true or false)로 값이 같은지 비교(==)해서 맞으면 해당 값 출력!


04. ageCheck 메서드,
리턴받고 main메서드 안에서 처리대신,
ageCheck2 메서드를 선언해서 처리해보기


package hong.hwi.yeon;

public class Age01_1 {

	public static void main(String[] args) {
		String re = ageCheck(5);
		System.out.println(re + "<-re 변수에 담긴값");
		ageCheck2(re);
	}
	public static void ageCheck2(String re) {
		if(re.equals("1 미성년자")) {
			System.out.println("1 월100지원");
		}else if(re.equals("2 청년")) {
			System.out.println("2 월200지원");
		}else if(re.equals("3 중장년")) {
			System.out.println("3 월300지원");
		}else if(re.equals("4 미성년자")) {
			System.out.println("4 월400지원");
		}
	}
	public static String ageCheck(int age) {
		System.out.println("입력한 나이는 "+age+"입니다.");
		
		String re = null;
		
		if(age <= 18) {
			re = "1 미성년자";
		}else if(age >= 19 & age <= 39) {
			re = "2 청년";
		}else if(age >= 40 & age <= 64) {
			re = "3 중장년";
		}else if(age >= 65) {
			re = "4 노년";
		}
		return re;
	}
}


리턴받은 값을 호출하는 곳의 main 메서드 안에서 그대로 처리하는 것과
ageCheck2 메서드를 또 선언해서 따로 처리한 것 비교! (아래는 변하지않음)

ageCheck2 방식은 입력이 없이 값만 받으면 끝. ageCheck2(re);

입력이 없으니 void + ageCheck2(새 메서드) + (쓰인 데이터타입 +re변수)

👉제발 선언하는 첫줄에는 세미콜론 하지말자..


05. loginCheck 메서드,
아이디와 비번 입력받고 로그인 상황들을 리턴해 처리해보기


public class Login01_1 {

	public static void main(String[] args) {
		
		String re = loginCheck("id002","pw002");
		
		if(re.equals("로그인성공")) {
			System.out.println("다음페이지로 이동합니다");
		}else if(re.equals("비번불일치")) {
			System.out.println("비밀번호를 찾으시겠습니까");
		}else if(re.equals("아이디일치")) {
			System.out.println("비밀번호를 입력하세요");
		}
	}
	public static String loginCheck(String id, String pw) {
		System.out.println("입력받은 id : "+id);
		System.out.println("입력받은 pw : "+pw);
		
		//가입한 아이디와 비번
		String dbid = "id002";
		String dbpw = "pw002";		
		
		String re = null;
		
		if(id.equals(dbid)) {
			if(pw.equals(dbpw)) {
			re = "로그인성공";
			}else {
				re = "비번불일치";
			}
		}else {
			re = "아이디일치";
		}
		return re;
	}
}


비밀번호 값을 가입한 것과 다르게 입력하여
re변수의 값을 받아 else if .equals로 비번불일치 비교후 틀리면
-> 비밀번호를 찾으시겠습니까 콘솔창 출력


리턴받은 값을 호출하는 곳의 main 메서드 안에서 그대로 처리하는 것과
loginCheck2 메서드를 또 선언해서 따로 처리한 것 비교! (아래는 변하지않음)

loginCheck2 방식은 입력이 없이 값만 받으면 끝. loginCheck2(re);

입력이 없으니 void + loginCheck2(새 메서드) + (쓰인 데이터타입 +re변수)

profile
기록하는 삶

0개의 댓글

Powered by GraphCDN, the GraphQL CDN