일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- select
- static을 왜사용할까?
- 데이터베이스
- DROP
- response
- 메소드 정의
- db
- 메소드 지정자
- Database
- @ Builder
- WriteLine
- http
- java
- ForignKey
- 타입 변수 표기법
- unity 레이아웃
- c#상속
- static
- 타입이 서로 다른 두 데이터 제네릭
- Create
- MariaDB
- unity 간단 설정
- C#
- request
- 평면좌표상에서 두점 거리 구하기
- JDBC
- 요청
- unity 오브젝트
- final
- spring
- Today
- Total
이론을 싫어!
[java] 조건문?? 조건은 또 뭐야?? 본문
if 을 변역하게 되면 만약에 라는 뜻을 가지고 있다.
프로그램에서 if문은 조건문으로 부른다.
조건문은 무엇일까?
조건문은 주어진 조건식에 따라 수행하도록 제어하는 명령문이다.
좀 더 쉽게 설명을 한다면 PC방은 22시 이후에는 미성년자들은 PC방에 들어갈수 가 없다.
이럴 때 조건이 생긴다. 조건은 미성년자 이다 . 이럴 때 조건문을 사용한다 .
조건문은 2개의 종류를 가지고 있다.
먼저 if문이다.
기본 if문 코드 작성법이다. if를 먼저 쓴 뒤에 괄호 안에 조건식을 쓴다.
그리고 그 조건에 true(해당한다) 라면 { } 안의 실행문이 실행이 될것이다.
else 문은 그렇지 않으면 이라는 뜻을 가지고 있다.
if ( 조건식)에 false (해당하지 않으면) else { } 안의 실행문이 실행이 된다.
말로 설명하기에는 좀 긴가민가 할것이다.
1
2
3
4
5
6
7
8
9
10
11
|
public static void main(String[] args) {
int age=20;
if(age > 19){
System.out.println("성인이기 때문에 22시 이후 pc방 출입이 가능합니다.");
}else {
System.out.println("미성년자이기 때문에 22시 이후 pc방 출입이 불가능합니다.");
}
}
|
cs |
위의 코드를 보게 되면 age > 19 가 조건식이 된다.
코드를 해석을 하면 만약에 age 가 19 보다 크다면 "성인이기 떄문에 22시 이후에 pc방 출입리 가능합니다." 라고 실행 시켜주고
그렇지 않다면 "미성년자이기 때문에 22시 이후 pc방 출입이 불가능합니다" 라고 실행 시켜줘 라고 해석을 할수 있다.
여기서 중요한 부분이 있는데 굳이 { }를 써주지 않아도 된다. 하지만 써주는 이유가 있다.
1
2
3
4
5
6
7
8
9
10
|
public static void main(String[] args) {
int age=20;
if(age > 19){
System.out.println("성인이기 때문에 22시 이후 pc방 출입이 가능합니다.");
}else
System.out.println("미성년자이기 때문에 22시 이후 pc방 출입이 불가능합니다.");
System.out.println("내일 오전 9시 이후에 와주세요.");
}
|
cs |
위의 코드를 실행을 하게되면 콘솔에
성인이기 때문에 22시 이후에 pc방 출입이 가능합니다.
내일 오전 9시 이후에 와주세요.
라고 찍히게 된다.
{ } 대괄호를 써주않아도 되지만 문제점은 조건식 바로 밑의 실행문 한줄만 실행되기 때문이다.
그러기 때문에 대괄호는 안써도 되긴 하지만 코드의 오류를 줄이고 다른 사람이 코드를 봤을때 한 눈에 쉽게 볼수 있게
실행문이 한줄이라도 { } 대괄호를 써주는 것이 좋다.
if-else if-else문
조건문이 여러 개인 if 문도 있다.
주제를 좀 다르게 하자면 성적이 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public static void main(String[] args) {
int score=89;
if(score >= 90) {
System.out.println("성적 : A");
}else if(score >=80){
System.out.println("성적 : B");
}else if(score >= 70){
System.out.println("성적 : C");
}else{
System.out.println("성적 : D");
}
}
}
|
cs |
위의 코드는 학교 성적 프로그램이다.
실행을 하게 되면 성적 : B 라고 콘솔에 찍히게 된다.
여기서 의문을 가지는 사람도 있을것이다.
아니 조건식에 score >= 70도 해당되니깐 출력이 두개 나오지 않냐 라고 궁금증이 생길수도 있는데
if문은 조건식에 해당이 되면 { } 대괄호 안에 실행문을 실행하고 난뒤에 if문을 빠져나오게 된다.
위의 코드를 보면 6번 줄에 조건식이 해당이 된다. 그러면 { } 대괄호 안에 있는 실행문 7번 코드가 실행이 되고 난뒤에
13번 줄로 이동을 하게 된다.
그러기 때문에 쉽게 간단하게 말하면 조건대로 제어해주는 일회용 코드라고 보면 된다.
물론 일회용 코드라고 해서 한번 실행되고 난뒤에 다시 실행을 못하는건 아니지만 위의 코드를 했을때는 다시
컴파일을 해줘야 실행이 가능하다.
if문 기본 응용 문제(주사위 번호 뽑기)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public static void main(String[] args) {
int number = (int) (Math.random() * 6) + 1;
if(number== 1){
System.out.println("1번이 나왔습니다.");
}else if(number == 2){
System.out.println("2번이 나왔습니다.");
}else if(number == 3){
System.out.println("3번이 나왔습니다.");
}else if(number == 4){
System.out.println("4번이 나왔습니다.");
}else if(number == 5){
System.out.println("5번이 나왔습니다.");
}else {
System.out.println("6번이 나왔습니다.");
}
}
|
cs |
java에서 Math 라는 메소드가 있는데 수학에서 자주 사용되는 것들을 미리 구현해놓은 클래스이다 .
거기에서 random()이라는 메소드를 사용을 한다.
*6은 1~6번 까지가 아니라 0~5번 까지 이다. 그래서 뒤에 +1 를 해주면 1부터 시작하라고 기준을 정해준다 .
switch문
'java' 카테고리의 다른 글
[java]인터페이스 it에서 말하는 인터페이스 과연 똑같은것일까? (0) | 2023.03.31 |
---|---|
제네릭 이 뭐지?? 너 진짜 편하더라?? (0) | 2023.03.31 |
[Java] Getter / Setter 메소드 이미그레이션 역할을 한다..? (0) | 2023.02.28 |
[java] 상수는 또 무엇인가? (0) | 2023.02.28 |
[java] 변수가 무엇일까? (0) | 2023.02.27 |