JAVA 제어문 - 8.1. 종합응용 1
String[] users = {"egoing","jinhuck","youbin"};
[] 배열로 유저id 목록 전체를 관리하고
String inputId = args[0];
로그인시, 유저에게 아이디를 입력 받음
boolean isLogined = false;
로그인 여부 체크
플래그(flag) 변수 사용
for(int i=0; i<users.length; i++) {
for문 반복 & 카운트 변수 초기화
users변수의 배열 길이만큼 for문 반복
카운트변수i에 +1씩해서 카운트
String currentId = users[i];
새로 변수설정 currentId
users[i]는 반복문 카운트i가 올라가면서 users 배열에 있는 인덱스번호가 같이 올라가면서 반복문이 반복될 때마다 배열 안에 있는 str데이터값이 바뀌게 되고 하나씩 체크할 수 있게됨
if (currentId.equals(inputId)) {
String[] users = {"egoing","jinhuck","youbin"}; 여기 유저 전체목록에서 유저가 로그인하기 위해서 입력한 아이디와 첫번째 유저아이디부터 차례대로 대조하여 맞는게 있는지 확인하는 과정
isLogined = true;
break;
로그인이 확인되었다는 의미의 플래그(flag) 변수. 로그인 되었으니 유저id찾는 반복문 종료
System.out.println("Hi,");
if(isLogined) {
System.out.println("Master!!");
} else {
System.out.println("Who are you?");
}
isLogined가 true이므로 if문이 작동하여 유저 환영 문구인 master!!를 출력
public class flow_control08_1 {
public static void main(String[] args) {
String[] users = {"egoing","jinhuck","youbin"};
String inputId = args[0]; # users목록 중에 inputId가 들어온게 있는 체크해야함
boolean isLogined = false; # 로그인 여부 확인. 로그인 아직안됬기에 false
for(int i=0; i<users.length; i++) { # 전체 유저수보다 작게 반복문실행해서 유저목록중에 로그인할려는 유저 찾기
String currentId = users[i]; # currentId : 현재유저
if (currentId.equals(inputId)) { # currentId와 inputId가 같으면 true되서 if문 발동
isLogined = true; # 위의 불리안과 연결되어 로그인됬으니(true) 종료시킴. 이런걸 플래그(flag)변수라고함
break; # 일치하는 사람이 있으면 반복문 종료
}
}
System.out.println("Hi,");
if(isLogined) {
System.out.println("Master!!");
} else {
System.out.println("Who are you?");
}
}
}
※ 플래그(flag) 변수 ※
프로그래밍에서는 상태를 기록하고 처리 흐름을 제어하기 위한 boolean타입 변수를 의미
참과 거짓을 나타내주는 플래그
JAVA 제어문 - 8.1. 종합응용 2
1에서 명단만 있던 것에서 비밀번호 기능 추가해보는 수업
※ 2차원 배열(array)
배열 안에 배열
ex)
String[][] users = {
{"egoing","1111"}
}
1편에서 추가된 코드 디테일 해석
String inputPass = args[1]; // pw 인자
String inputId = args[0]; 에서 id를 유저로부터 입력 받는 코드였고, 위는 pw
if (
current[0].equals(inputId) && # and 논리연산자 : 둘 다 만족
current[1].equals(inputPass) # ID랑 PW 둘다 같다면 로그인시키는 코드
)
for문 안에서 if문으로 id와 pw 같은지 체크. and 논리연산자(&&)를 사용하여 id와 pw 둘 다 맞는지 확인한다
'JAVA > 생활코딩 JAVA 제어문' 카테고리의 다른 글
생활코딩 JAVA 제어문(Flow Control) 7.3 : 반복문 + 배열 (0) | 2022.01.15 |
---|---|
생활코딩 JAVA 제어문(Flow Control) 7.1-2 : 반복문(Looping statement),배열(array) (0) | 2022.01.14 |
생활코딩 JAVA 제어문(Flow Control) 6 : 논리 연산자(logical operator) (0) | 2022.01.14 |
생활코딩 JAVA 제어문(Flow Control) 5 : == vs equals (0) | 2022.01.14 |
생활코딩 JAVA 제어문(Flow Control) 4.1-3 : 조건문(Conditional Statement) (0) | 2022.01.09 |