public class LoginTest {
public static void main(String[] args) {
String id = args[0];
String passwd = args[1];
if(!id.equals("java")) { //id.equals("java")는 id가 "java"가 같은가?
//id 안에 들어있는 것과 같은가? 즉 java는 string이다.
System.out.println("우리 회원이 아닙니다.");
}else if(!passwd.equals("java")) {
System.out.println("비밀번호가 일치하지 않습니다.");
}else {
System.out.println("환영합니다.");
}
}
}
아이디와 비밀번호를 입력 받는다.
if(!id.equals("java")
=> id가 "java"와 같지 않다면
==> 우리 회원이 아닙니다
else if(!passwd.equals("java")
=> passwd가 "java"와 같지 않다면
==> 비밀번호가 일치하지 않습니다
else 둘 다 아니라면
=> 환영합니다.
str1.equals(str2)
equals는 String 문자형을 비교하는 메소드이다. str1과 str2를 비교해준다.
<다른버전>
public class LoginTestTurning {
public static void main(String[] args) {
//입력 받아 준비하는 부분
String dbId = "java";
String dbPassword = "java";
String userId = args[0];
String userPassword = args[1];
int loginResult;
//조건 확인하는 부분
if(!userId.equals(dbId)) {
loginResult = 1;
}else if(!userPassword.equals(dbPassword)) {
loginResult = 2;
}else {
loginResult = 3;
}
//인쇄부분
if(loginResult == 1) {
System.out.println("당신은 우리 회원이 아닙니다.");
}else if(loginResult == 2) {
System.out.println("비밀번호가 일치하지 않습니다.");
}else {
System.out.println("환영합니다.");
}
}
}
입력 - 연산 - 출력 부분을 분리했다. 실제 현업에서는 분리해서 처리를 하기 때문에 이런 방법을 더 많이 쓴다고 한다. 메인은 최대한 깔끔해 보이도록 클래스를 따로 만들어주어 그곳에 분리된 코드들을 넣어 준다고 함!
기본형 데이터는 stack에 실제 값을 저장하고, 참조형(레퍼런스) 데이터는 stack에 객체의 주소를 저장한다. 실제 값은 heap에 저장이 돼 있어서 호출해서 꺼내 쓰는 것이다. 꼭 하드디스크와 메모리 처럼...
'개발일지 > Java + Spring' 카테고리의 다른 글
[java] 문자열 비교 메소드 3가지(대소문자 구별?) (0) | 2021.09.16 |
---|---|
[java] 객체 설명과 Scanner 객체 불러와서 사용 (0) | 2021.09.16 |
[java] 다양한 복습 예제(문자열 자르기, 상수, 함수, 연산자) (0) | 2021.09.15 |
[java] 연산자 모음 (0) | 2021.09.15 |
[Java] 기본용어 정리 (0) | 2021.09.15 |