2022-02-28 -03-03 (4,5,6일차)
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변수)