제어문
: 프로그램의 흐름을 바꾸는(제어하는) 역할을 하는 코드
1. 조건문
: 제어문 중 하나로 조건에 따라 다른 코드가 실행되도록 하는 코드
1) if문
구문
if( 조건식 ) {
수행될 코드
}
- 조건식이 true 일 때만 내부에 작성된 코드를 수행
조건식의 결과 값이
true : if문 내부 코드 수행
false : 내부코드는 실행되지 않는다.
2) if else
구문
if(조건식) {
true일 때 수행될 코드;
} else {
false일 때 수행될 코드;
}
조건식이 true일 경우 if문, false일 경우 else문 내부 코드를 수행
3) if ~ else if ~ else
구문
if(조건식1) {
조건식1 true일 때 수행
} else if(조건식2){
조건식2 true일 때 수행
} else {
모두 false 일 때 수행
}
조건이 여러 개가 필요한 경우
ex) 계절
ex) 학점
4) 중첩 if문
구문
if (조건식1) {
if(조건식2) {
if(조건식3) {
수행될 코드;
} else if(조건식4) {
수행될 코드;
} else {
수행될 코드;
}
} else {
수행될 코드;
}
} else if (조건식5) {
수행될 코드;
} else {
수행될 코드;
}
안으로 들어가면 들어갈수록
선행조건들이 만족이 됐는지 안됐는지 알 수 있다.
심층면접 같은 느낌
1차 테스트 통과한 사람 중
public void example8_answer() {
Scanner sc = new Scanner(System.in);
System.out.print("나이 입력 : ");
int age = sc.nextInt();
String result;
//입력받자 마자 검사해야함
if ( age < 0 || age > 100) { //나이 입력받기
result = "나이를 잘못 입력 하셨습니다.";
} else { // 나이의 반대상황인 키를 입력받는 구문을 넣기
System.out.print("키 입력(cm) : ");
double height = sc.nextDouble();
//비교는 같은 자료형끼리 해야해서 .0을 붙이거나, double로 자동형변환 돼서 int로 써도 괜찮음
if ( height < 0 || height > 250) { // 키 입력 받기
result = "키를 잘못 입력 하셨습니다.";
} else { //키를 정상 범위로 입력한 경우
//1) 중첩 if문 이용해 푸는 법
if( age < 12 ) { // 나이 적절치 않은 경우 1. 나이
if( height >= 140 ) { // 키가 적절한 경우
result = "키는 적절하나, 나이가 적절치 않음";
} else {
result = "나이와 키 모두 적절치 않음";
}
} else { // 나이가 적절한 경우
if (height >= 140) { //키 적절
result = "탑승 가능";
} else { //키가 적절하지 않은 경우
result = "나이는 적절하나, 키가 적절하지 않음";
}
}
}
}
System.out.println(result);
}
놀이기구 탑승 제한 검사 프로그램
/*
* 조건
* - 나이 : 12세 이상
- 키 140.0cm 이상
* 나이 0 ~ 100세 사이로 입력하지 않은 경우 : "나이를 잘못 입력 하셨습니다."
* 키 0 ~ 250.0cm 사이로 입력하지 않은 경우: "키를 잘못 입력 하셨습니다."
* -> 입력되자마자 검사를 진행해 잘못된 경우 '프로그램 종료'
*
* 나이 O, 키 X : "나이는 적절하나, 키가 적절치 않음";
* 나이 X, 키 O : "키는 적절하나, 나이가 적절치 않음";
* 나이 X , 키 X : "나이와 키 모두 적절치 않음";
* 나이 O, 키 O : "탑승 가능";
*/
/* 문제 읽고 푸는 법
1. 입력되자마자 검사를 진행해야 한다 => if
2.
* 1. if 나이 잘못된 값 조건문 // 나이가 아니라면 나이 잘못입력 출력
* 2. else 키 입력받기 // 잘못 입력했다면 잘못입력했다는 결과 출력
* 3. 중첩 if) 나이, 키 제대로 입력됐다면
* 4.
*
* 나이먼저 설정
* 2. 나이가 아닌경우에 키가 아닌경우
* 3. 둘다 아니면 모두 적절 x
*
*
*/
think)
5) switch문
switch(식) {
case 결과값1: 수행코드1; break;
case 결과값2: 수행코드2; break;
case 결과값3: 수행코드3; break;
...
default : case를 만족하지 않을 경우의 코드입력;
}
switch는 조건식이 아닌 이유: 결과가 true,false가 아닌 일반적인 식이 들어간다.
조건식 하나로 많은 경우의 수 처리할 때 사용하며 이때 조건식의 결과는 정수 또는 문자, 문자열 조건식의 결과 값과 일치하는 case문으로 이동 default문은 일치하는 case문이 없을 때 수행(= else )
주의)
범위가 들어가서는 안되고 딱 떨어지는 값으로 해야한다!!!!
break;
-> 현재 case의 코드를 수행 후 switch문을 멈추라는 것
break;를 입력하지 않을 경우, 앞의 모든 코드를 실행한 후 default값이 나와버린다.
default는 어차피 코드가 끝나는 부분이기때문에 break를 쓰지 않아도 된다.
====================
if - 조건 1개
if - else 조건 2개
if - else if -else 조건 다수 (switch는 이것과 유사)
+예제가 있으면 무조건 응용을 해야한다.
.charAt()
모든 문자열에서 사용 가능하다
입력받은 문자열이나
지정한 문자열 (변수) 에서도 가능하다.
String.charAt() 문자열에서 문자를 뽑는 함수
sc.next(); == 문자열을 입력받는다. == String으로 인식
// 입력 받은 문자열에서 0번째 위치에 있는 문자를 꺼내 op 변수에 대입
// String에서 특정 위치에 있는 문자 하나를 반환하는 기능(메소드)
// -> String.charAt(index); (index = 위치, 위치는 0,1,2 순서)
// 하나만 반환하는 기능
지역변수는 반드시 초기화 되어야한다
선언된 변수에 값을 집어넣는다.
오늘의 팁)
import자동완성 기능
new도 가능
'Backend > 개발 공부' 카테고리의 다른 글
[JAVA|자바] 반복문 _for, while, do- while (0) | 2021.09.08 |
---|---|
[Java | Eclipse] class, project 정리 (0) | 2021.08.31 |
[JAVA|Eclipse] Method + escape + scanner (0) | 2021.08.27 |
[JAVA |자바] Eclipse Rename 클래스, 프로젝트 이름 변경 (0) | 2021.08.26 |
[자바] 단축키 정리 (0) | 2021.07.15 |