if문:
if(...)문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가 true이면 코드 블록이 실행됩니다.
public class IfTest01 {
public void testIf() {
// 단독 if
// 조건식의 결과값이 true이면 {}안에있는 코드가 실행
// 조건식의 결과값이 false이면 {}안에있는 코드를 무시하고 넘어감
Scanner sc = new Scanner(System.in);
System.out.print("숫자를 한개 입력:");
int num = sc.nextInt();
//짝수인지 홀수인지 판단
if (num % 2 == 0) {
// true일때 실행
System.out.println("입력하신 숫자는 짝수입니다.");
}
if (num % 2 != 0) {
System.out.println("입력하신 숫자는 홀수입니다.");
}
System.out.println("프로그램 종료");
}
public void TestIfElse() {
// if else구
// 둘중 하나를 선택하는 조건
// 조건이 참인 경우와 거짓인 경우에 수행하는 명령어들을 따로 작성하는 경우에 사용
// else에는 조건식 사용 못함
int i = 20;
if (i < 10) {
System.out.println("10보다 작습니다.");
} else {
System.out.println("10보다 크거나 같습니다.");
}
}
public void TestIfElse2() {
Scanner sc = new Scanner(System.in);
System.out.println("0보다 큰 숫를 입력하세요.");
int no = sc.nextInt();
/*
* if (no >= 50) { System.out.println("50보다 큰 수"); // true일 때에 실행 } else {
* System.out.println("50보다 작은 수"); // false일 때에 실행 }
*/
// 단 ,50보다 큰수일 경우 짝수인지 홀수인지 출력.
if (no >= 50) {
if (no % 2 == 0) {
System.out.println("입력하신 수는 50보다 큰 짝수 입니다.");
} else {
System.out.println("입력하신 수는 50보다 큰 홀수입니다.");
}
} else {
System.out.println("50보다 작은 수 입니다.");
}
}
public void TestElseIf() {
int no1 = 30, no2 = 20;
if (no1 > no2) {
System.out.print("no1이 no2보다 크다.");
} else if (no1 < no2) {
System.out.print("no1이 no2보다 작다.");
} else if (no1 == no2) {
System.out.println("no1과 no2의 크기가 같다.");
/*
* 굳이 else if (no1 == no2)를 치지않고 else{System.out.println("no1과 no2의 크기가 같다.")를
* 쳐도 됨 왜냐하면 어차피 둘다아니면 마지막 "크기가 같다"라는 구문만 남기 때문
*/
}
}
public void testElseIf2() {
// 점수를 입력받아 등급을 나누고 출력
// 90점이상 A 90점미만 80점 이상B ... 60점미만 F
Scanner sc = new Scanner(System.in);
System.out.print("점수를 입력하세요.");
int score = sc.nextInt();
char grade =' ';
if (score >= 90) {
grade = 'A';
} else if (score < 90 && score >= 80) {
grade = 'B';
} else if (score < 80 && score >= 70) {
grade = 'C';
} else if (score < 70 && score >= 60) {
grade = 'D';
} else if (score < 60) {
grade = 'F';
}
System.out.print(" 귀하의 점수는 " + score + "이고 , 등급은 " + grade + "입니다." );
// printf
// system.out.printf(%형식",값(변수));
// 포맷문자
/*
* %d 정수 %f 실수 %c 문자 %s 문자열 %d 논리값
*
* %5d 5칸 확보하고 오른쪽 정렬 %-5d 5칸 확보하고 왼쪽정렬 %.2f 소수점 아래 2자리까지만 표시
*/
/*
* 특수문자 \t 정해진 공간만큼 띄우기 \n new line , 줄바꿈 \\ , \' ...
*/
}
}
→ if문과 else if 문
public class Test {
public void test01(int i) {
//i는 매개변수
if (i % 5 == 0) {
System.out.println(i + "는 5의 배수입니다.");
}
}
public void test02(int i) {
if (i % 2 == 0 && i % 3 == 0) {
System.out.println(i + "는 2와3의 배수입니다.");
} else {
System.out.println(i + "는 2와 3의 배수가 아닙니다.");
}
}
public void test03(char ch) {
//소문자인지 확인하는 조건식
if ((ch >= 'a') && (ch <= 'z')) {
System.out.println(ch + " 는 소문자입니다.");
} else {
System.out.println(ch + "는 대문자입니다.");
}
}
}
→ if와 else를 이용한 출력문
switch문?
switch 구문은 변수를 입력받아 미리 정해놓은 여러값들과의 일치여부를 판단하여 결과를 출력함 .
public class SwitchTest01 {
public void test() {
int i = 1;
switch (i) {
case 1:
System.out.println("1입니다.");
break;
case 2:
System.out.println("2입니다.");
break;
case 3:
System.out.println("3입니다.");
break;
default:
System.out.println("다른 숫자입니다.");
// 해당하는값을찾고 뒤에코드까지 다 실행해버림 그래서 break;를 적어주어야 함.
// if는 다 하나하나 맞춰보고 건너뜀 switc는 값을 찾아서 그것만 실행함.
}
switch (i) {
case 1:
case 3:
System.out.println("홀 수 입니다.");
break;
case 2:
case 4:
System.out.println("짝 수 입니다.");
break;
//case 띄워주고 숫자
}
char ch = 'a';
switch (ch) {
case 'a':
System.out.println("a입니다.");
break;
case 'b':
System.out.println("b입니다.");
break;
case 'c':
System.out.println("c입니다.");
break;
default:
System.out.println("셋 다 아닙니다.");
} // 문자도 가능
String s = "한국";
switch( s ) {
case "한국":
System.out.print("korea");
break;
case "미국":
System.out.print("usa");
break;
//문자열도 가능
}
}
}
→ switch문을 이용하면 바로 값을 찾아서 그것만 실행할수있다.
※break;를 적어주지않으면 다음 코드까지 실행 해버리니 주의
public class Munjae {
public void test1() {
// 국, 영, 수 세 과목(int)의 점수를 키보드로 입력받고,
// 합계와 평균을 계산하고,
// 세 과목의 점수와 평균을 가지고 합격 여부 처리함
// 합격의 조건 : 세 과목의 점수가 각각 40점이상이고,
// 평균이 60점 이상이면 합격,
// 아니면 불합격 처리함
// 합격인 경우에는 과목별 점수와 합계, 평균을 출력하고,
// 불합격인 경우는 "불합격" 출력함
int all;
int ave;
Scanner sc = new Scanner(System.in);
System.out.println("국어점수를 입력하세요.");
int kor = sc.nextInt();
System.out.println("영어점수를 입력하세요.");
int eng = sc.nextInt();
System.out.println("수학점수를 입력하세요.");
int math = sc.nextInt();
all = (eng + math + eng);
ave = (all / 3);
if ((all >= 60) && (eng >= 40 && math >= 40 && kor >= 40)) {
System.out.println("국어 점수는" + kor + "점이며 영어 점수는 " + eng + "점 이며 수학점수는 " + math + "점 입니다. 점수의 합계는 "
+ (kor + eng + math) + "점 이며, 평균은 " + ave + "점 입니다.");
} else {
System.out.println("불합격입니다.");
}
}
public void test2() {
/*- switch문 사용함
- 메소드명 : public void test2(){}
<ex> 화면에 출력함
*** 초기 메뉴 ***
1. 입력
2. 수정
3. 조회
4. 삭제
7. 종료
메뉴번호 입력 : 번호입력받음
=> 처리내용 :
1 입력 --> "입력메뉴가 선택되었습니다."
2 입력 --> "수정메뉴가 선택되었습니다."
3 입력 --> "조회메뉴가 선택되었습니다."
4 입력 --> "삭제메뉴가 선택되었습니다."
7 입력 --> "프로그램이 종료됩니다."
다른값 입력시 "번호가 잘못 입력되었습니다."
"다시 입력하십시오." 출력되게 함
*/
Scanner sc = new Scanner(System.in);
System.out.println("1.입력 ");
System.out.println("2.수정 ");
System.out.println("3.조회 ");
System.out.println("4.삭제 ");
System.out.println("7.종료 ");
System.out.println("메뉴번호 입력: ");
int i = sc.nextInt();
switch (i) {
case 1: {
System.out.print("입력 메뉴가 선택되었습니다.");
break;
}
case 2: {
System.out.print("수정 메뉴가 선택되었습니다.");
break;
}
case 3: {
System.out.print("조회 메뉴가 선택되었습니다.");
break;
}
case 4: {
System.out.print("삭졔 메뉴가 선택되었습니다.");
break;
}
case 7: {
System.out.print(" 프로그램을 종료합니다.");
break;
}
default: {
System.out.println("번호가 잘못 입력 되었습니다.");
System.out.println("다시 입력하십시오.");
}
}
}
/*
* - 메소드명 : public void test3(){} - 메소드 안 구현 내용 : 1. 정수 변수 선언 2. 키보드로 부터 정수 하나
* 입력받음 3. 입력받은 정수가 양수이면 "양수다." 출력 양수가 아니면 "양수가 아니다." 출력 4. main 에서 실행 테스트함.
*/
public void test3() {
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요.");
int i = sc.nextInt();
if (i > 0) {
System.out.print("양수다.");
} else {
System.out.print("양수가 아니다.");
}
}
public void test4() {
/*
* - 메소드 안 구현 내용 : 1. 정수 변수 선언 2. 문자열 변수 선언 3. 키보드로 부터 정수를 하나 입력 받음 단, 양수일 때만 4.
* 입력받은 정수가 짝수이면 "짝수다" 를 문자열에 기록하고 출력, 짝수가 아니면 "홀수다"를 문자열에 기록하고 출력함 <짝수의 조건> 어떤
* 수를 2로 나눈 나머지가 0과 같으면 짝수임.
*/
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요.");
int i = sc.nextInt();
String st = sc.nextLine();
if (i >= 0) {
if (i % 2 == 0) {
System.out.print("짝수다.");
} else {
System.out.print("홀수다.");
}
}
}
public void inputTest() {
/*- 메소드명 : public void inputTest(){}
- 구현할 내용 :
1. 이름(String), 나이(int), 키(double) 변수 선언
2. 각 값을 키보드로 입력받아, 각 변수에 저장함
3. 이름이 null이 아니면서 글자갯수가 0보다 크고,
나이와 키가 양수일 때만 화면에 출력함.
ex>
이름 : 홍 길동
나이 : 25
키 : 187.5
확인 : 홍 길동의 나이는 25세이고, 키는 187.5 cm 이다.
*/
Scanner sc = new Scanner(System.in);
System.out.print("이름을 입력하세요.");
String name = sc.next();
System.out.print("나이를 입력하세요.");
int age = sc.nextInt();
System.out.print("키를 입력하세요.");
double height = sc.nextDouble();
if (name != null && age > 0 && height > 0 && name.length() > 0 ) {
System.out.println("이름:" + name);
System.out.println("나이:" + age);
System.out.println("키:" + height);
System.out.println("확인:" + name + "의 나이는 " + age + "세 이고, 키는 " + height + "cm 이다.");
}
}
public void test6() {
/*
* 메소드명 : public void test6(){} - 구현 내용 : 1. 두 개의 정수 변수 선언 2. 키보드로 두- 개의 정수를
* 입력받아, 단, 두 수 모두 양수일 때만 3. 두 수의 합, 차, 곱, 몫을 출력함 ex> 첫번째 정수 : 25 두번째 정수 : 7 25
* + 7 = 32 25 - 7 = 18 25 * 7 = 175 25 / 7 = 3 25 % 7 = 4
*/
Scanner sc = new Scanner(System.in);
System.out.println("정수를 입력하세요.");
int num = sc.nextInt();
System.out.println("정수를 하나 더 입력하세요.");
int i = sc.nextInt();
if (num > 0 && i > 0) {
System.out.println("첫번째 정수:" + num);
System.out.println("두번째 정수:" + i);
System.out.println(num + " + " + i + " = " + (num + i));
System.out.println(num + " - " + i + " = " + (num - i));
System.out.println(num + " * " + i + " = " + (num * i));
System.out.println(num + " / " + i + " = " + (num / i));
System.out.println(num + " % " + i + " = " + (num % i));
}
else {
System.out.print("양수가 아닌 숫자가 있습니다.");
}
}
public void test7() {
/*
* - 메소드명 : public void test7(){} - 구현 내용 : 1. 정수변수와 문자변수 선언 2. 키보드로 점수를 입력받아,
* 정수변수에 저장
*
* 3. 다중 if문으로 점수가 90 이상이면 문자변수에 'A' 대입 80 이상 90 미만 'B' 70 이상 80 미만 'C' 60 이상 70
* 미만 'D' 60 미만 'F' 대입함 단, 점수는 반드시 0 이상의 값이여야 3번 진행. 4. 점수와 학점 출력 확인
*/
Scanner sc = new Scanner(System.in);
System.out.print("점수를 입력하세요.");
int score = sc.nextInt();
char grade = ' '; /* 띄어쓰기도 문자로 표기 ->
그냥 char grade; 로 쓰면 출력문의 스코어에 에러가 남
*/
if (score > 0) {
if (score >= 90) {
grade = 'A';
} else if (score < 90 && score >= 80) {
grade = 'B';
} else if (score < 80 && score >= 70) {
grade = 'C';
} else if (score < 70 && score >= 60) {
grade = 'D';
} else if (score < 60) {
grade = 'F';
}
System.out.print("점수는 " + score + " 점 이고, 학점은 " + grade + "입니다.");
}
// 중첩 이프문 괄호를 실수하여 음수임에도 출력이 되었었음 ..
}
}
-> 실습과제 내용
'JAVA' 카테고리의 다른 글
[JAVA]배열 (0) | 2024.02.14 |
---|---|
[JAVA]조건문 (1) | 2024.02.13 |
[JAVA] 연산자 (0) | 2024.02.04 |
[JAVA]강제 형변환 , 접근 제한자 (0) | 2024.02.02 |
[JAVA] 변수 (1) | 2024.02.01 |