* 아스키코드
- ASCII (American Standard Code for Information Interchange) ANSI 미국 표준협회에서 제정한 문자표현방식을 말함
- 대문자 A 는 65 로 시작해서 1씩증가
- 소문자 a 는 97로 시작해서 1씩증가
*Tip - 같은 중괄호 안에는 탭을이용해 세로줄 맞추기
같은 중괄호는 같은 라인에 쓰면 코딩이 길어질때 보기 편하다
** 제어문 (조건문 / 반복문) **
* 조건문(선택문) (if / switch / case)
· 조건문if
-가장 기본 조건문으로 '조건식'과 '괄호{}' 로 이루어
1. 기본문법 - if (조건식) {
//조건식이 참 일때 수행될 문장들
}
** 실습1 **
/*
제어문(조건문 - if)
문제)정수를 입력받아 그 수가 10보다 큰 경우 체크하는 프로그램
입력예)정수입력>15
출력예)15
10보다 큰수를 입력하셨습니다.
if끝.
9
if끝.
*/
import java.util.Scanner;
public class MySample1101
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int a;
System.out.print("정수입력>");
a = scn.nextInt();
if(a > 10)
{
System.out.println("10보다 큰수를 입력하셨습니다.");
}
System.out.println("if끝.");
}
}
** 실습2 **
/*
문제)if문 2개로 구현
입력예)숫자를 입력하세요.>3
출력예)입력하신 숫자는 0이 아닙니다.
입력하신 숫자는 3입니다.
입력예)숫자를 입력하세요.>0
출력예)입력하신 숫자는 0입니다.
*/
import java.util.Scanner;
public class MySample1101
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int b;
System.out.print("숫자를 입력하세요.>");
b = scn.nextInt();
if(b != 0)
{
System.out.println("입력하신 숫자는 0이 아닙니다.");
System.out.printf("입력하신 숫자는 %d입니다.", b);
}
if(b == 0)
{
System.out.println("입력하신 숫자는 0입니다.");
}
}
}
** 실습3 **
/*
문제)정수를 입력받아 입력받은 정수ㅡㄹ 출력하고 음수이면 'minus'라고 출력하는 프로그램
입력예1) -5
출력예1) -5
minus
입력예2) 7
출력예2) 7
*/
import java.util.Scanner;
public class MySample1101
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int c; // int c= scn.nextInt();
c = scn.nextInt();
System.out.println(c);
if (c < 0)
{
System.out.println("minus");
}
}
}
실습4
/*
문제)정수를 하나 입력받아서 0보다 큰 경우, 0인경우, 음수인 경우를 체크하여 출력하는 프로그램.
단.if문은 3번 사용
입력예1)숫자를 입력하세요.>5
출력예1)입력하신 값은 5이며, 0보다 큽니다.
입력예2)숫자를 입력하세요.>0
출력예2)입력하신 값은 0이며, 0과 같습니다..
입력예3)숫자를 입력하세요.>-1
출력예3)입력하신 값은 5이며, 음수입니다.
*/
import java.util.Scanner;
public class MySample1101
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int a;
int b = 10;
System.out.print("숫자를 입력하세요.>");
a = scn.nextInt();
System.out.printf("입력하신 값은 %d이며,",a);
if (a > 0)
{
System.out.println("0보다 큽니다.");
}
///////위와 동일한 것으로 &&, || 테스트용////////
System.out.println("b before : "+ b);
if(a > 0 || ++b > a) //if(a > 0 && ++b > a)
// &&절에서 &&앞이 false면 &&뒤는 전혀실행하지 않음, 따라서 &&일때 a=0이면 b결과는 10
// ||절에서 ||앞이 true면 이미 전체적으로 true이기 때문에 뒤에것은 실행하지않음. 따라서 ||일때 a=1 b결과는 10
{
System.out.println("0보다 큽니다.");
}
System.out.println("b after : " + b);
////////////////////////////////////////
if (a == 0)
{
System.out.println("0과 같습니다.");
}
if (a < 0)
{
System.out.println("음수입니다.");
}
}
}
실습5
/* 5
문제)정수 2개를 입력 받아서 큰 수와 작은 수를 차례로 출력하는 프로그램
입력예)2 9
출력예)입력받은 수 중 큰 수는 9이고 작은수는 2입니다.
단, 큰수는 항상 a변수를 사용하고, 작은수는 항상 b변수를 사용하여 출력함.
변수는 총 세개 a, b, temp 3개를 사용하고 if문 1개 사용.
*/
int a, b, temp;
a = scn.nextInt();
b = scn.nextInt();
if(a < b)
{
temp =a;
a = b;
b = temp;
}
System.out.printf("입력받은 수 중 큰수는 %d이고, 작은수는 %d입니다.",a , b);
** 실습6 **
/* 6
문제)국어, 영어, 수학, 컴퓨터 총 4과목에 대한 시험점수를 입력 받은 후 평균을 구하고
각 과목당 점수가 60점 미만이 한과목이 있거나, 평균이 70점 미만이면 불합격 처리하는
프로그램 작성
입력예)국어 점수를 입력하세요.>60
영어 점수를 입력하세요.>70
수학 점수를 입려하세요.>50
컴퓨터 점수를 입력하세요.>80
출력예)불합격 입니다.
단, 국어 kor, 영어 eng, 수학 math, 컴퓨터 com, 평균 avg 로 함.
결과 메세지는 String msg로 사용 / 출력은 msg 변수로만 처리함
if는 한번만 사용함
*/
int kor, eng, math, com, avg;
System.out.print("국어 점수를 입력하세요");
kor = scn.nextInt();
System.out.print("영어 점수를 입력하세요");
eng = scn.nextInt();
System.out.print("수학 점수를 입력하세요");
math = scn.nextInt();
System.out.print("컴퓨터 점수를 입력하세요");
com = scn.nextInt();
avg = (kor + eng + math + com) / 4;
String msg = "불합격"; // 초기값이 불합격 -> if문 조건 참이면 msg변수가 '합격'덮어진다.
if(kor >= 60 && eng >= 60 && math >=60 && com >=60 && avg >=70)
{
msg = "합격";
}
System.out.println(msg);
** 실습7 **
/* 7
if~else 문
정수를 입력받아 10보다 큰수를 입력받은 경우와 10보다 작은 값을 입력받은 경우를 구분하기 위한 프로그램.
입력예)15
출력예)10보다 큰 수를 입력하셨습니다.
입력예)9
출력예)10보다 작은 수를 입력하셨습니다.
*/
int a = scn.nextInt();
if (a > 10)
{
System.out.println("10보다 큰 수를 입력하셨습니다.");
}
else
{
System.out.println("10보다 작은 수를 입력하셨습니다.");
}
** 실습8 **
/* 8
문제)점수를 입력받아 80점 이상이면 합격 아니면 불합격을 출력하는 프로그램
입력예)점수를 입력하세요.>89
출력예)축하합니다.합격입니다.
입력예)점수를 입력하세요.>76
출력예)죄송합니다.불합격입니다.
*/
int scr;
System.out.print("점수를 입력하세요.>");
scr = scn.nextInt(); // int scr = scn.nextInt(); 도 가능
if(scr >= 80)
{
System.out.println("축하합니다.합격입니다.");
}
else
{
System.out.println("죄송합니다.불합격입니다.");
}
** 실습9 **
/* 9
문제)if~else로 구현
입력예)숫자를 입력하세요.>3
출력예)입력하신 숫자는 0이 아닙니다.
입력하신 숫자는 3입니다.
입력예)숫자를 입력하세요.>
출력예)입력하신 숫자는 0입니다.
*/
System.out.print("숫자를 입력하세요.>");
int a = scn.nextInt();
if (a == 0)
{
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
}
else
{
System.out.println("입력하신 숫자는 0이 아닙니다.");
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
}
// 위와 조건식이 다른경우
if (a != 0)
{
System.out.println("입력하신 숫자는 0이 아닙니다.");
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
}
else
{
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
}
// 입력값a가 음수일 경우 문제가 된다.
if (a > 0)
{
System.out.println("입력하신 숫자는 0이 아닙니다.");
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
}
else
{
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
System.out.printf("입력하신 숫자는 %d입니다. \n", a);
}
** 실습10 **
/* 10
문제)if~else if~else
정수를 입력받아 값이 10보다 큰경우와 0인 경우 음수인 경우를 체크하는 프로그램
입력예1)정수를 입력하세요.>11
출력예1)10보다 큰 수를 입력하셨습니다.
입력예2)정수를 입력하세요.>-1
출력예2)음수를 입력하셨습니다.
입력예3)정수를 입력하세요.>10
출력예3)1에서 10 사이의 정수를 입력하셨습니다.
*/
System.out.println("정수를 입력하세요.>");
int a = scn.nextInt();
if(a < 0)
{
System.out.println("음수를 입력하셨습니다.");
}
else if (0 < a && a < 11)
{
System.out.println("1에서 10 사이의 정수를 입력하셨습니다.");
}
else
{
System.out.println("10보다 큰 수를 입력하셨습니다.");
}
* Tip - if의 범위를 다룰 때 넓은것부터 좁은것으로 가면 효율적이다.
// 풀이
System.out.println("정수를 입력하세요.>");
int a = scn.nextInt();
if(a > 10)
{
System.out.println("10보다 큰 수를 입력하셨습니다.");
}
else if (0 > a)
{
System.out.println("1에서 10 사이의 정수를 입력하셨습니다.");
}
else if (a == 0)
{
System.out.println("0을 입력하셨습니다.");
}
else
{
System.out.println("음수를 입력하셨습니다.");
}
** 실습11 **
/*
문제)점수를 입력받아 '수우미양가'를 출력하는 프로그램
입력예)점수를 입력하세요.>89
출력예)우
단, 90~100:수, 80~89:우, 70~79:미, 60~69:양, 60미만:가
*/
System.out.println("점수를 입력하세요");
int score = scn.nextInt();
if(score < 60)
{
System.out.println("가");
}
else if(score < 70)
{
System.out.println("양");
}
else if(score < 80)
{
System.out.println("미");
}
else if(score < 90)
{
System.out.println("우");
}
else if(score <= 100)
{
System.out.println("수");
}
//첫번째 방법
if(100 >= score && score >= 90)
{
System.out.println("수");
}
else if(89 >= score && score >= 80)
{
System.out.println("우");
}
else if(79 >= score && score >= 70)
{
System.out.println("미");
}
else if(69 >= score && score >= 60)
{
System.out.println("양");
}
else if(60 > score)
{
System.out.println("가");
}
//위 문제로 점수는 0~100점 사이만 입력 가능할 수 있도록 처리하는 프로그램
//입력예)점수를 입력하세요.>110
//출력예)점수는 0~100점 사이 입력이 가능합니다.
System.out.println("점수를 입력하세요");
int score = scn.nextInt();
if(score < 60)
{
if(score < 0)
{
System.out.println("점수는 0~100점 사이 입력이 가능합니다.");
}
else
System.out.println("가");
}
else if(score < 70)
{
System.out.println("양");
}
else if(score < 80)
{
System.out.println("미");
}
else if(score < 90)
{
System.out.println("우");
}
else if(score <= 100)
{
System.out.println("수");
}
else if(score > 100)
{
System.out.println("점수는 0~100점 사이 입력이 가능합니다.");
}
// 다른방법
if(score >= 0 && score <= 100)
{
if(score < 60)
{
System.out.println("가");
}
else if(score < 70)
{
System.out.println("양");
}
else if(score < 80)
{
System.out.println("미");
}
else if(score < 90)
{
System.out.println("우");
}
else if(score <= 100)
{
System.out.println("수");
}
}
else
{
System.out.println("점수는 0~100점 사이 입력이 가능합니다.");
}
** 실습12 **
/* 12
문제)정수로 월을 입력받아 계절을 출력하는 프로그램.
입력예)11
출력예)가을입니다.
입력예)15
출력예)잘못입력되었습니다.1~12 사이를 입력하세요.
단, 봄:3,4,5월 / 여름:6,7,8월 / 가을9,10,11월 / 겨울12,1,2월
월입력이 1~12사이가 아닌경우 '잘못입력되었습니다.1~12 사이를 입력하세요.'
비교연산과 논리연산을 활용하여 구현함.
*/
int month = scn.nextInt();
if (1 <= month && month <=12)
{
if(month <= 2 || month == 12 )
{
System.out.println("겨울입니다.");
}
else if(month >= 9)
{
System.out.println("가을입니다.");
}
else if(month >= 6)
{
System.out.println("여름입니다.");
}
else if(month >= 3)
{
System.out.println("봄입니다.");
}
}
else
{
System.out.println("잘못입력되었습니다.1~12 사이를 입력하세요.");
}
// 다른 방법
if (1 <= month && month <=12)
{
if(month == 1 || month == 2 || month == 12 )
{
System.out.println("겨울입니다.");
}
else if(month == 9 || month == 10 || month == 11)
{
System.out.println("가을입니다.");
}
else if(month == 6 || month == 7 || month == 8)
{
System.out.println("여름입니다.");
}
else if(month == 3 || month == 4 || month == 5)
{
System.out.println("봄입니다.");
}
}
else
{
System.out.println("잘못입력되었습니다.1~12 사이를 입력하세요.");
}
'수업끄적끄적_7MONTH > Java' 카테고리의 다른 글
11/07 수업 (7일차) (1) | 2023.11.07 |
---|---|
11/06 수업 (6일차) (0) | 2023.11.06 |
11/02 수업 (4일차) (0) | 2023.11.05 |
10/31 수업 (2일차) (0) | 2023.11.05 |
10/30 수업 (1일차) (0) | 2023.11.05 |