[JAVA]6日間(注釈/3項演算子/条件文if/if昇順ソート/閏年、常年判別)


7月21日(水)


今日先生がマッサージの方法を教えてくれました.
肩も首も痛いのにどうして知ってるの?
とても良いテクニックです💡
->親指を折るときは、尖った部分を鎖骨の中に入れて肩を揉み、手に力が入らず、気持ちよく揉めるようにしましょう.本当に涼しい
しかも、目がくらくらして画面を暗くすると、目にはもっと悪い!
test028~Test033

コメントの使用

  • /**/注釈はネストできません!!
  • //コメントは関係ありません!
  • ⑪3項演算子(2個以上)

  • の3つの演算子?
    -> a?b:c->aは真b、偽C
  • の3つの演算子に条件を追加し続けることができます.
    ->
  • Test028
    strResult = (n>0) ? "양수" : ((n<0) ? ("음수") : ("영"));
                  /*
                  n이 0보다 크다 -> true -> n은 양수
                                 -> false -> n이 보다 작다 -> true -> n은 음수
                                                           -> false -> n은 영
                  */

    うるう年、常年判別(3つの演算子を利用)


    ※閏年の判別条件※
    年は4の倍数で、100の倍数ではなく、あるいは400の倍数で、閏年です~!さもないと長年~!!
  • 1 1つの空間に複数の条件がある場合、無条件論理演算(&、|、!)来るぞ!
  • Test028
    strResult = (year%4==0) && (year%100!=0) || (year%400==) ? "윤년" : "평년";
    

    5.フローの制御を実行する


    ⑪制御文▷条件文(=分岐文):if,switch


    if文とif~else文

    if(조건식)
    {
     //조건식이 참이면 실행되는 영역
    }
    //조건식이 거짓이면 실행되는 영역
  • 自分用ifはありますが、自分用elseはありません.
  • if重畳可能(任意に重畳可能)
  • すべての文がelseで終わる必要はありません.そうしないとifで終わることもできます.
    - But! クエリー条件を満たしていない場合は、宣言して印刷しないため、初期値を宣言する必要があります.
  • ifを利用してレベルを獲得!

    /*
    90점 ~ 100점 : A
    80점 ~ 89 : B
    70점 ~ 79점 : C
    60점 ~ 69점 : D
    60점 미만 : F
    
    단, BufferedReader를  활용하여 데이터를 입력받을 수 있도록 하며,
    printf()메소드를 통해 출력할 수 있도록 구현한다.
    
    실행예)
    이름 입력 :  정효진
    국어 점수 : 90
    영어 점수 : 80
    수학 점수 : 70
    
    >> 당신의 이름은 정효진입니다.
    >> 국어 점수는 90,
    >> 영어 점수는 80,
    >> 수학 점수는 70,
    >> 총점은 240이고, 평균은 80입니다.
    >>등급은 B입니다.
    계속하려면 아무 키나 누르세요...
    */
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.IOException;
    
    
    public class Test029
    {
    	public static void main(String[] args) throws IOException
    	{
       		String strName;
            	char grade='F'; //--check~!! 
                //grade 값을 if안에 조건에 안들어가는 경우, 선언 안하고 출력하라니까 에러날 수 밖에 없음!
                	int kor, eng, mat;
                    int sum;
    		double avg;
            
          	    // (... 중간코드 생략...)
                //등급 정하기
                if(avg<=200)
                {
                	if(avg>=90 && avg<=100)
                    {
                    	grade = 'A';
                    }else if(avg>=80)
                    {
                    	grade = 'B'; //어차피 90미만인 애들만 내려오기로 했으니까 (avg>80)만 써도됨!!
                    }else if(avg>=70)
                    {
                    	grade = 'C';               
                    }else if(avg>=60)
                    {
                    	grade = 'D';
                    }else
                    {
                    	grade = 'F';
                    }
                }
                //결과 출력
                //(...생략...)
                System.out.println(">> 등급은 " + grade + "입니다.");
                System.out.printf("\n>> 등급은 %c 입니다.",grade);  
               
        }
    }

    ifで0、偶数、奇数を区別する

    //이 코드의 핵심은 0을 제일 처음에 걸러내는 것이 제일 중요!!!---check~!!
    //짝수 거를때도 0이 있기 때문!
    //Test030
    int n;
    String strResult = "판별불가"; //초기화!!
    
    if(n==0)
    {
    	strResult = "영";
    }else if(n%2==0)
    {
    	strResult = "짝수";
    }else if(n%2!=0)
    {
    	strResult = "홀수";
    }

    👩‍💻3つの演算子ではなくifを使用して、閏年と平年をテストで計算してください。

    //연도가 4의 배수이면서 100의 배수가 아니거나 400의 배수이면 윤년 ~!! 그렇지 않으면 평년~!!
    
    //Test031
    //주요 변수 선언
    int year;
    String result = "다시 입력"; //--->초기화
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    		
    //연산 및 처리
    System.out.print("임의의 연도 입력 : ");
    year = Integer.parseInt(br.readLine());
    
    /* 방법 1
    //연도가 4의 배수이면서 100의 배수가 아니거나 400의 배수이면 윤년 ~!! 그렇지 않으면 평년~!!
    if(year%4==0 && year%100!=0 || year%400==0)
    	result = "윤년";
    else
    	result = "평년";
    */
    
    // 방법 2
    if(year%4==0) //-----------4의 배수 확인
    {
    	if(year%100!=0) //------4의 배수 중 100의 배수가 아닌 것 윤년
    		result = "윤년";
    	else if(year%400==0) //-4의 배수 중 100의 배수인 것 윤년 
    		result = "윤년";
    
    }else
    {
    	result = "평년"; //-----연도가 4의 배수가 아니고 아닌 것 평년
    }
    		
    
    //출력 결과
    System.out.printf("%d년 -> %s\n", year, result);
    
    /*
    임의의 연도 입력 : 2021
    2021년 -> 평년
    계속하려면 아무 키나 누르십시오 . . .
    
    임의의 연도 입력 : 2020
    2020년 -> 윤년
    계속하려면 아무 키나 누르십시오 . . .
    
    임의의 연도 입력 : 2012
    2012년 -> 윤년
    계속하려면 아무 키나 누르십시오 . . .
    */
    

    ifを使用して演算子入力を受け入れる

    //Test032
    /*
    실행 예)
    첫 번째 정수 입력 : 20
    두 번째 정수 입력 : 14
    연산자 입력[+ - * /] : +
    
    >> 20 + 14 = 34
    계속하려면 아무 키나 누르세요...
    */
    
    int num1, num2, result = 0;
    char op;
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    System.out.print("첫 번째 정수 입력 : ");
    num1 = Integer.parseInt(br.readLine());
    System.out.print("두 번째 정수 입력 : ");
    num2 = Integer.parseInt(br.readLine());
    
    System.out.print("연산자 입력[+ - * /] : ");
    op = (char)System.in.read(); //----check~!!!!!point~!!!
    
    if(op == '+')
    	result = num1 + num2;
    else if(op == '-')
    	result = num1 - num2;
    else if(op == '*')
    	result = num1 * num2;
    else if(op == '/')
    	result = num1 / num2;
        
    System.out.printf("\n>> %d %c %d = %d\n", num1, op, num2, result);

    ifを利用して小数から大数まで順次出力する

    
    //Test033
    /*
    실행 예)
    첫 번째 정수 입력 : 5
    두 번째 정수 입력 : 15
    세 번재 정수 입력 : 10
    
    >> 정렬 결과 : 5 10 15
    계속하려면 아무 키나 누르세요...
    
    */
    
    // 7 8 2    8 6 13    10 50 30    9 30 45
    // ---      ---       -----       ----        첫 번째 두 번째 비교
    //          6 8 13
    // -   -    -   --	  --    --    -    --     첫 번째 세 번째 비교
    // 2 8 7    
    //   - -      -  -        -  -       -   -    두 번째 세 번째 비교
    // 2 7 8    6 8 13     10 30 50    9 30 45
    
    // if 를 따로따로 만드는 이유는 전부다 수행해야하니까! else아님!!  ---check~!! 
    		
    
    //이거 이용해도 되고
    a = a^b;
    b = b^a;
    a = a^b;if(a>b)
    {
    	a = a^b; 
    	b = b^a; 
    	a = a^b;
    }
    if(b>c)
    {
    	b = b^c; 
    	c = c^b; 
    	b = b^c;
    }
    
    if(a>b)
    {
    	a = a^b; 
    	b = b^a; 
    	a = a^b;
    }
    //이거 이용해도 됨
    temp = a;
    a = b;
    b = temp;
    
    //아니면 a,b,c 부등호로 다 비교해도 됨
    //헷갈려...
    よく復習しましょう.🌱