* 아스키코드 
  - 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

+ Recent posts