본문 바로가기

LECTURE/# java basic

[초급 JAVA]자바 제어문 - if 제어문

반응형

자바 제어문  - if 제어문


Programming
 
ExamIf.java
package exam_control_statements;
public class ExamIf {
public static void main(String[] ar) {
// 프로그래밍을 할 때 가장 Base로 생각 해야하는 점은
// 문장의 흐음이 위에서 아래 , 좌에서 우라는 것입니다.
// 이 문장의 흐름을 제어하기위한 것이 제어문입니다. 그 중 if문에대해서 알아봅시다.
// 프로그래밍에서도 if 는 '만약 ~ 라면'이라는 뜻으로 해석됩니다.
/* 변수 선언 */
int a = 100;
int b = 100;
int c = 50;
/* 설명 부 */
// 1형식- if(논리 조건문) {내용;}
if (a == b) {
System.out.println("a 와 b는 같다.");
}
// 2형식- if(논리 조건문) {내용;}else{내용;}
if (a == c) {
System.out.println("a 와 c는 같다.");
} else {
System.out.println("a 와 c는 다르다.");
}
// 3형식- if(논리 조건문) {내용}else if(논리 조건문){내용}else if(논리 조건문){내용}...else{내용}
if (a == c) {
System.out.println("a 와 c는 같다.");
} else if (a == (2 * c)) {

System.out.println("a 는 c에 2를 곱한 값과 같다.");

} else{
System.out.println("a 는 c 는 다르다.");
}
}
}

if(논리 조건문) { 내용 }

if 제어문의 가장 기본적인 형식인데요. if다음에 가로안에는 조건식이 들어가도되고 true 나 false 같은 boolean 값이 들어가도 됩니다.  위에서는 a == b 로 a와 b 는 서로 같은 값인지 판단하고 같으면 대괄호 안에 내용을 실행하고 틀리다면 건너띔으로써 내용을 실행 안하는 거죠. 
문자열을 비교하려면 equals()라는 메소드를 사용하면됩니다. "abc".equals("abc") 하면 abc와 abc가 같은지 비교하게 됩니다. 조금 어려운 내용을 더하자면 여기서 쓰인 '==' 은 연산자이면서 [ 앞  == 뒤 ] 앞 이 참조하는 주소값과 뒤가 참조하는 주소값을 서로 비교하여 같으면 true 다르면 false를 리턴합니다. 그에 반해 equals는 내용 자체를 비교합니다. 서로 미묘하게 차이가있죠? 그래서 이걸 잘고민하지않고 사용하게 되면 이상한 결과를 가지고오니 개념정리를 잘 하셔야 합니다. 일단 초급 단계니까 더 깊게는 안들어가겠습니다.(이내용만으로 포스팅 하나 더 쓰도록 하겠습니다. )

if(논리조건문){내용}else{내용}

if 다음에 가로안에서 조건문이 true 이면 첫번째 대괄호 안에 내용을 실행하고 false이면 else 다음에 대괄호 내용을 실행하라 라는 구문입니다. 이 구문을 쓸때는 이거아니면 저거와 같이 나올 수 있는 경우의 수가 true & false 일때 쓰는게 좋겠습니다. 

if(논리조건문){내용}else if(논리조건문){내용}else{내용}

여러개의 경우의 수가 존재하여 여러개의 논리조건문을 추가함으로써 각각의 데이터 처리방법을 정의하는 구문입니다. 끝에 else는 모든 조건이 아닐때 실행하라는 의미이므로 꼭 안써도 됩니다.  


Closing

소스는 모두 올려놓았습니다. github 링크는 나중에 좀더 자료가 많아지면 수정해서 올려놓도록하겠습니다. 일단 copy&paste를 해서 결과를 눈으로 확인하시고 설명을 보면서 직접 코딩을 해보세요. 대부분의 설명은 소스안에 주석에 써놓았으니, 주석을 참고하여 설명을 봐주세요.



반응형