(3) KeyInput & FloatingPointNum

JAVA/JAVA 이론 2018. 10. 18. 21:56

1. 키보드 입력


2. 실수형 변수


===================================== Key Input =============================================


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package Studypackage;
 
import java.util.Scanner;
 
public class studyclass 
{
 
    public static void main(String[] args) 
    {
        int num; // <- 정수 4바이트 변수 선언
        
        /*
         *  키보드 입력 : System.in
         *  입력을 데이터형에 따라 처리 : Scanner 클래스
         *  Scanner <-- 입력후 Ctrl + space bar 입력하면 (import java.util.Scanner;) 자동생성
         *  
         */
        Scanner sc = new Scanner(System.in);
        System.out.print("정수 입력 >>> ");
        num = sc.nextInt();  // 키보드 입력을 정수로 처리
        System.out.println("사용자가 입력한 정수 : " + num);       
    }
}
cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package Studypackage;
 
import java.util.Scanner;
 
public class studyclass 
{
 
    public static void main(String[] args)
    {
        /*
         *  - 객체지향 프로그래밍 : 객체를 생성하는 것 위주로 명령 작성
         *  - 객체생성 : 클래스(틀)의 복사본(instance) 객체생성 -> new 연산 사용
         *  - 클래스 : 메소드 및 기타 등등을 갖고 트정 기능을 제공
         *  - ex) Scanner sc = new Scanner(System.in);
         *       > Scanner 클래스 객체 생성하고 sc 변수 참조
         *  - Scanner 클래스 메소드 : nextInt(); nextLong(); , next();...
         */
        
        Scanner sc = new Scanner(System.in);
        int num1;
        int num2;
        
        System.out.print("정수 a 입력 >>> ");
        num1 = sc.nextInt();   // scanner 클래스의 객체로 실행
        System.out.print("정수 b 입력 >>> ");
        num2 = sc.nextInt();
        
        
        System.out.println();
        int result; // 연산 결과 저장하는 변수 사용하기
        result = num1 + num2;
        System.out.printf("%d + %d = %d\n",num1,num2,result);
        result = num1 - num2;
        System.out.printf("%d - %d = %d\n",num1,num2,result);
        result = num1 * num2; // 곱셈 결과는 4바이트 int형의 크기를 초과할 수 있다 (over flow)
        System.out.printf("%d x %d = %d\n",num1,num2,result);
        result = num1 / num2;
        System.out.printf("%d / %d = %d\n",num1,num2,result);
        // 정수 나누기에서 분모 num2 = 0 이되면 오류(실행시)    
    }
}


cs






==================================== Floating Point Num ======================================


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package Studypackage;
 
import java.util.Scanner;
 
public class studyclass 
{
 
    public static void main(String[] args)
    {
        // 실수 : 소숫점을 갖는 데이터(기본연산 가능)
        //    - 기본 크기가 8바이트에 저장
        System.out.println(3.145);
        // %f <-- 소수점 이하 6자리 출력
        System.out.printf("%f\n",3.145);
        // 소수점 이하 자리수 조정 ( 반올림 )
        System.out.printf("%.2f\n",3.145);

    

        System.out.println();
        
        double pi = 3.145;
        System.out.println("double 형식 변수에 저장");
        System.out.println(pi);
        System.out.printf("%f\n",pi);


        System.out.println();
        
        pi = 3.12345678901234567890// 소수점 이하 16자리 까지 표현
        System.out.println("double");
        System.out.println("pi = 3.12345678901234567890");
        System.out.println("pi = " + pi);

 
        System.out.println();
        
        float pi2 = 3.12345678901234567890F; // float : 4 바이트 표현하는 실수형식 (F표시)
        System.out.println("float");
        System.out.println("pi2 = 3.12345678901234567890");
        System.out.println("pi2 = " + pi2);

      
        // double , float은 정밀도의 차이
        
        System.out.println();
        System.out.println(2e3); // 2 x 10의 3승
        System.out.println(2e-3); // 2 x 10의 -3승
        System.out.println(0.1 + 1.6); // 10진수 -> 2진수 차이
        System.out.println(3.0 / 0.0); // 무한대
        System.out.println(0.0 / 0.0); // NaN ( Not a Number )
        // System.out.println(3 / 0); // Error

       
    }
}
 
cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package Studypackage;
 
import java.util.Scanner;
 
public class studyclass 
{
 
    public static void main(String[] args)
    {
        int num1;
        int num2;
        
        Scanner sc = new Scanner(System.in);
        System.out.println("나눗셈 연산 프로그램");
        
        System.out.print("정수 a 입력 >>> ");
        num1 = sc.nextInt();
        System.out.print("정수 b 입력 >>> ");
        num2 = sc.nextInt();
        
        double result = (double)num1 / num2; // int형식의 정수를 double형식의 실수로 casting 해준다
        
        
        System.out.printf("%d / %d = %.15f\n",num1,num2,result);
        System.out.println(num1 + " / " + num2 + " = " + result);

  
        System.out.println();
        System.out.println("지수형식 출력");
        // 지수형식 출력
        System.out.printf("a / b = %e\n",result);
        
        System.out.println("데이터변환(casting) 테스트");
        // int test = 3.14; // 소수점 때문에 자동 캐스팅 못함
        int test = (int)3.14// 강제 (명시적) 캐스팅
        double test2 = 4// 자동 (암묵적) 캐스팅
        System.out.println("test = "+ test);
        System.out.println("test 2 = "+ test2);


    }
}
 
cs


'JAVA > JAVA 이론' 카테고리의 다른 글

(6) If & For  (0) 2018.10.23
(5) Op & IF & Char  (0) 2018.10.22
(4) String & Boolean  (0) 2018.10.21
(2) Java_basic1 - Data Type  (0) 2018.10.17
(1) JAVA Start  (0) 2018.10.16

설정

트랙백

댓글