제어문의 종류 : 조건문,반복문
1.조건문: if문 switch문
2.반복문: for문, while문
if문 : 조건식이 참일때 괄호안의 문장들을 수행한다.
if(조건식) { 조건식이 참일때 수행될 문장 }
int score = 70;
if(score>60) {//조건식의 결과가 true아님 false만 허용
System.out.println("합격입니다");//한문장이면 {}생략가능
}
String s = "abc";
System.out.println(s.equals("abc"));
System.out.println(s.equals("Abc"));
//대소문자 구별함
System.out.println(s.equalsIgnoreCase("Abc"));
//대소문자 구분안함
if~else 문: 둘 중 하나(조건식이 참일때와 거짓일때로 나눠서 처리)
if(score > 60) {//조건식이 참이면
System.out.println("합격");
}else {//거짓이면
System.out.println("불합격");
}
if~else if문: 여러개중 하나 - 여러개의 조건식을 포함한 조건식
int jumsu = 0;
char grade = ' ';
//char grade = 'D';로 하면 else블럭 안써도 됨. 코드 간결화.
System.out.print("점수를 입력하세요>");
Scanner scanner = new Scanner(System.in);
jumsu = scanner.nextInt();
if(jumsu>=90) {
grade = 'A';
}else if(jumsu>=80) {
grade = 'B';
}else if(jumsu>=70){
grade = 'C';
}else {
grade = 'D';
}
System.out.println("당신의 학점은 "+grade+"입니다.");
중첩 if문 - if문 안의 if문
System.out.print("이번 학기 평균점수를 입력해주세요>>");
int score2 = 0;
char opt = ' ';
score2 = scanner.nextInt();
System.out.println("당신의 평균점수는 "+score2);
if(score2>=90) {
grade = 'A';
if(score2>=98) {
opt = '+';
}else {
opt = '-';
}
}else if(score2>=80) {
grade = 'B';
if(score2>=88) {
opt='+';
}else {
opt='-';
}
}else if(score2>=70) {
grade = 'C';
if(score2>=78) {
opt='+';
}else {
opt='-';
}
}else {
grade = 'D';
}//else블럭 없애려면 grade='D' 해놓기
System.out.printf("당신의 학점은 %c%c입니다.",grade,opt);