글을 시작하며
간혹 스크립트를 작성하면서 조건을 걸고싶어질때가 있다. 예를 들면 로그인처럼 아이디와 비번이 있으면 그 안에 있는 컨텐츠를 볼 수 있다던지... 특정한 숫자를 입력받으면 그마다 다른 명령을 수행한다던지.. 이번에는 그것에 관해서 써 보려 한다.
용도
특정 저장된 데이터를 불러들임, 판단 후 조건에 대입하여 특정 명령을 수행한다.
문법
숫자일 경우
if(데이터==원하는 데이터 값){
}
문자일 경우
if(데이터.equals(데이터 또는 "데이터 값")){
}
설명
예를 들어 i 라는 int 의 메모리가 있다. i 에는 3이라는 값이 있고, 조건문은 5를 요구한다. 조건문이 실행이 되면 i 메모리에 있는 값을 가져와 조건문이 요구하는 값과 비교하여 조건을 충족하는 스크립트를 실행하게 된다. 조건문이 요구하는 값은 다른 메모리 값이 될 수도 있다.
- 연산자
== : 같으면
<= : 같거나 앞에있는 값이 뒤에있는 값보다 작으면
>= : 같거나 뒤에있는 값이 앞에있는 값보다 작으면
< : 뒤에 있는 값이 앞에있는 값보다 크면
> : 앞에 있는 값이 뒤에있는 값보다 크면
예제1
public class EX{
public static void main(String[]args){
int i = 30
if(i==30){
System.out.println("i=30");
}
}
}
출력 결과:
i=30
그런데 만약 입력된 데이터 값이 요구된 값과 다르다면? 어떻게 해야할까? 그리하여 쓰이는게 else 와 else if 이다.
else 문
i=30
그런데 만약 입력된 데이터 값이 요구된 값과 다르다면? 어떻게 해야할까? 그리하여 쓰이는게 else 와 else if 이다.
else 문
예제2
public class EX{
public static void main(String[]args){
int i = 40
if(i==30){
System.out.println("i=30");
}else{
System.out.println("i=Not 30");
}
System.out.println("i=Not 30");
}
}
}
출력 결과:
i=Not 30
else 문은 개념적으로 1 아니면 0 이다. 맞느냐 틀리냐만 다른건데, else if 는 하나 이상의 조건을 넣을 수 있다.
i=Not 30
else 문은 개념적으로 1 아니면 0 이다. 맞느냐 틀리냐만 다른건데, else if 는 하나 이상의 조건을 넣을 수 있다.
예제3
public class EX{
public static void main(String[]args){
int i = 40
if(i==30){
System.out.println("i=30");
}else if(i<30){
System.out.println("i<30");
}else if(i>30){
System.out.println("i>30");
}
System.out.println("i<30");
}else if(i>30){
System.out.println("i>30");
}
}
}
출력 결과:
i>30
이렇게 여러가지 조건을 넣을 수 있다. if 를 두번이나 세번 쓸 수 있지만, 필자는 컴퓨터를 위해 그것보다는 else if 를 추천한다. if 를 여러번 쓰면 컴퓨터는 모든 if 문들을 거쳐가게 된다. 그러나 else if 문은 하나만 충족하는게 있다면 그것만 출력/수행하게 된다.
i>30
이렇게 여러가지 조건을 넣을 수 있다. if 를 두번이나 세번 쓸 수 있지만, 필자는 컴퓨터를 위해 그것보다는 else if 를 추천한다. if 를 여러번 쓰면 컴퓨터는 모든 if 문들을 거쳐가게 된다. 그러나 else if 문은 하나만 충족하는게 있다면 그것만 출력/수행하게 된다.