danDevlog

Java - day3 본문

Java

Java - day3

단데기이 2022. 2. 17. 23:28
728x90
public class Main {
   public static void main(String[] args) {
      boolean isMarried = false;
      // 참 혹은 거짓의 값만 가짐.
      // 분기문과 어울림.

      if (isMarried)
         System.out.println("기혼");
      else
         System.out.println("미혼");
   }
}
// 학점 계산(switch문)
import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int jumsu = sc.nextInt();
      switch (jumsu / 10) {
      case 10:
      case 9:
         System.out.println("A");
         break;
      case 8:
         System.out.println("B");
         break;
      case 7:
         System.out.println("C");
         break;
      case 6:
         System.out.println("D");
         break;
      default:
         System.out.println("F");
      }

      sc.close();
   }
}
// 명시적 형변환과 묵시적 형변환.
public class Main {
    public static void main(String[] args) {
        // 명시적 형변환
        System.out.println((char)65);

        // 묵시적 형변환
        int a=100;
        long lnum;
        lnum=a;// 묵시적 형변환 발생.
        System.out.println(lnum);

        // a=lnum;// 자료 손실이 발생할 수 있어서 에러.long -> int
        a=(int)lnum;// 컴파일러야 자료 손실이 발생하는 거 알아. 그래도 처리해.
    }
}
// 삼항 연산자 사용 예,
public class Main {
    public static void main(String[] args) {
        int sum = 0;
        int limit = 10;
        for (int i = 1; i <= limit; i++) {
            sum += i;// sum+=i;
            System.out.print(i);
            // 조건?참:거짓
            System.out.print((i < limit) ? "+" : "=");
        }
        System.out.println(sum);
    }
}
public class Main {
   public static void main(String[] args) {
      boolean isMarried = false;
      // 참 혹은 거짓의 값만 가짐.
      // 분기문과 어울림.

      if (isMarried)
         System.out.println("기혼");
      else
         System.out.println("미혼");
   }
}
public class Main {
    public static void main(String[] args) {
        // 증감 연산자 예,
        int num = 1;
        System.out.println(++num);//2, 전치, 먼저 계산하겠음.
        System.out.println(num++);//2
        System.out.println(--num);//2
        System.out.println(num--);//2, 후치, 나중에 계산 하겠음.
        System.out.println(num);//1
    }
}
// 순환문에 증감연산자 사용해 보기
public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            System.out.println("2X" + i + "=" + (2 * i));
            // 2x1=2
        }
        System.out.println();
        for (int i = 1; i <= 9; ++i) {
            System.out.println("2X" + i + "=" + (2 * i));
        }

        // 위의 결과는 동일한데, 이유는 그 값을 사용하는 타이밍에 있음.
        // 초기값,조건,몸통,증감 >> 조건,몸통,증감 >> 조건,몸통,증감 ...
        int num=0;
        System.out.println(num++);//0
        System.out.println(num);//1
        System.out.println(++num);//2
        System.out.println(num);//2
    }
}
// 시프트 연산자 https://coding-factory.tistory.com/521
public class Main {
    public static void main(String[] args) {
        // 시프트 비트 처리
        int num = 2;// 0000 0010
        System.out.println(num << 2);// 0000 1000, 8
        System.out.println(num >> 2);// 0000 0000, 0
        System.out.println(num << 3);// 0001 0000, 16
        int result = 1;
        result = result << 2;// result<<=2;
        // 좌시프트는 *2 의 효과
        // 우시프트는 /2 의 효과
    }
}
public class Main {
    public static void main(String[] args) {
        int num = 1;
        int num2 = -1;
        int num3 = 3;

        System.out.println(num);// 1byte로 가정하면 0000 0001
        System.out.println(num2);// 1byte로 가정하고 부호화 절대치로 표시하면, 1000 0001

        System.out.println(Integer.toBinaryString(num));
        System.out.println(Integer.toBinaryString(num2));

        System.out.println(num & num3);
        // 1byte 로 가정해서 처리하면
        // 0000 0001 num
        // 0000 0011 num3
        // 0000 0001
        System.out.println(num | num3);
        // 1byte 로 가정해서 처리하면
        // 0000 0001 num
        // 0000 0011 num3
        // 0000 0011 3
    }
}​
// 중첩 순환문을 이용한 구구단
public class Main {
    public static void main(String[] args) {
        // 이중 반복문, 중첩된 for
        // 구구단 2~9단 까지를 한꺼번에 출력.
        for (int dan = 2; dan <= 9; dan++) {// 총8회
            for (int num = 1; num <= 9; num++) {// 총9회
                System.out.println(dan + "X" + num + "=" + (dan * num));
            }
        }
        // 바깥쪽 순환문의 값이 1회 변경 될때
        // 안쪽 순환문의 값은 9번 변경됨.
    }
}
// 구구단 출력을 세로에서 가로로 변경
public class Main {
    public static void main(String[] args) { 
          for (int num = 1; num <= 9; num++) {
              for(int dan = 2; dan <= 9; dan ++) {
                  System.out.print(
                          dan + "x" + num + "=" + (dan * num) + "\t" );
              }
              System.out.println();
          }
    }
}​

'Java' 카테고리의 다른 글

Java - day6  (0) 2022.02.22
Java - day5  (0) 2022.02.21
Java - day4  (0) 2022.02.18
Java - day2  (0) 2022.02.16
Java - day1  (0) 2022.02.15
Comments