public class MainClass {
    public static void main(String[] args) {
        /*
        수치 자료형       크기            우선순위
        byte                1               낮음
        short               2
        int                 4
        long                8

        float               4               높음
        double              8

        자료형 변환
        - auto(자동형)
        - cast(강제형)
        */

        // auto(자동) 큰 그릇에 작은 그릇을 넣음
        short sh = 32000;
        int number;

        number = sh;
        System.out.println("number:  "+ number);

        // cast(강제)
        number = 99999;
        sh = (short) number;              // 넘어가긴 하지만 엉뚱한 출력이 나옴
        System.out.println("sh:  "+ sh);  // 엉뚱한 출력: sh:  -31073

        double result;
        result = (double) 3 / 2;
        System.out.println("result: " + result);

        // cast (강제)
        double value = 12500.35;
        int money = (int) value;
        System.out.println("money: " + money);

    }
}
public class MainClass {
    public static void main(String[] args) {
        // 예시는 increment(증가)

        // 값이 초기화된 변수 number1 선언
        int number1 = 0;

        // number1의 값으로 초기화 할 변수 선언
        int tag;

        // increment 위치에 따른 순서 차이
        // 1. number1의 값을 1 증가시킨 뒤, tag에 대입
        tag = ++number1;

        // 2. tag에 대입 후, number1의 값을 1 증가
        tag = number1++;
        
        System.out.println("tag: " + tag);
        System.out.println("number: " + number1);
    }
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner; // module -> 누군가가 미리 개발해둔 기능

// 입력 처리
public class sample2 {
    public static void main(String[] args) throws IOException {
    	// BufferedReader 사용하고 싶다면, throws IOException 추가
        // 입력
        Scanner sc = new Scanner(System.in);

        // boolean
            // sc.nextBoolean();

/*        boolean b;
        System.out.print("boolean = ");
        b = sc.nextBoolean();
        System.out.println("b = " + b);*/

        // int
            // sc.nextInt();
        // double
            // sc.nextDouble();
        // String
            // 띄어쓰기 이후의 입력이 무시됨
        String name;
        System.out.print("이름 = ");
        name = sc.next();
        System.out.println(name + "님 반갑습니다.");

        // 띄어쓰기 가능한 입력 Buffer (저장공간)
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 엔터키를 누르기 전까지 모든 입력이 저장된다.
        String address;
        System.out.print("주소 = ");
        address = br.readLine();
        System.out.println("주소: " + address);

    }
}
public class MainClass {
    public static void main(String[] args) {
        int a, b;
        a = 11;
        b = a;             // 대입

        // swap(교환)
        int numberOne = 11;
        int numberTwo = 22;

        int temp = numberOne;
        numberOne = numberTwo;
        numberTwo = temp;

        System.out.println(numberOne);
        System.out.println(numberTwo);
    }
}
public class MainClass {
    public static void main(String[] args) {
        /*
            숫자(상수): 정해진 숫자 12, 34
                2진수 : 0, 1
                8진수 : 0 ~7 // 8 == 10, 9 == 11 // [표기법] 011 == 9
                16진수 : 0 ~ 9 A B C D E F(=15) // [표기법] 0xf == 16

            변수(variable): 변경되는 요소(그릇)
                이름을 정해서 그 이름에 값을 입력/출력
                크기, 자료형(문자 or 숫자 or 논리)

             형식:
                자료형 변수명:
                변수명 = 값 <- 대입
         */

        int number;         // integer == 정수            <--- 선언
        number = 123;       //                            <--- 대입

        System.out.println(number);

        number = 234;       // 값 변경
        System.out.println(number);

        int number1 = 345;  // 선언과 함께 대입
        System.out.println(number1);

        // 변수의 작명 규칙
        int a;
        int A;

        // 예약어
            // int int;

        // 맨앞의 숫자는 안 됨
            // int 2ab;
        int ab2;

        // 상수만으로는 안 됨
            // int 123;

        // 연산자가 포함되어서는 안 됨 (+, - , *, /)
        // int +abc;
        //  int *abc; (포인트 안됨)

        // 장문의 변수 스타일
        int number_pos_char;    // 언더바
        int numPosChar;         // 카멜형 선호 ***

        // 한글을 쓸 수는 있다! 하지만 쓰지 말 것.
        int 한글;
        한글 = 1024;
        System.out.print(한글);

        // 흔한 변수명을 피하는 것이 좃다. 너무 간단한 변수명도 피하는 것이 좋다.
        // size, length, object, n ...

        // 변수(그릇)의 종류 -> 문자, 숫자, 문자열, 논리(true/false)
        // 자료형
        // 숫자형
        // 정수
        byte by;                // 1 byte = 8 bit -> 256개의 숫자 (0~255)
        by = 127;               // -128 to 127.
        System.out.println(by);

        short sh;               // 2 byte = 16 bit
        sh = 500;               // -32,768 ~ 32,767
        System.out.println(sh);

        int in;                 // 4 byte = 32 bit
        in = 123456789;         // -2,147,483,648 ~ 2,147,483,647

        long lo;                // 8 byte = 64 bit
        lo = 230942398579013401L; // -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
        // 마지막에 L을 붙이지 않으면 integer로 인식하려고 함

        // 소수 (실수)
        float fl;               // 4 byte = 32 bit
        fl = 123.45F;           // 뒤에 F 를 붙여줘야 한다.

        double dou;             // 8 byte = 64 bit
        dou = 128974928.234;    
        
        // integer, double 많이 씀

        // 문자형
        // 문자
        char c;
        c = 'A';
        c = '한';
        c = '*';

        // 문자열 == String(클래스) => wrapper class
        String str;
        str = "안녕하세요";
        System.out.println(str);

        str = "반갑습니다";
        System.out.println(str);

        // 논리형 true(1) / false(0)
        boolean b;
        b = true;                   // 1로 넣으면 안 됨. 반드시 명시적 예약어 사용할 것. (C나 javascript에서는 가능)
        System.out.println(b);
        b = false;
        System.out.println(b);

    }
}
public class Sample1 {
    public static void main(String[] args) {
        // 출력 구문 println, print, printf -> console 출력
        System.out.println("Hello World");

        System.out.print("안녕하세요");

        System.out.println(); // 개행

        System.out.printf("반갑습니다");

        System.out.println();
        System.out.println();

        System.out.println("문자열");
        System.out.println('A');
        System.out.println('한');
        System.out.println('1');        // Character ' '
        System.out.println("1");        // String    " "

        System.out.println(1);          // 숫자
        System.out.println("1" + 2);    // 문자열 + 숫자 -> 문자열 취급 -> 문자열숫자
        System.out.println(1+2);        // 숫자 + 숫자 -> 연산된 숫자

        System.out.println(1+2+"3");    // 숫자 연산 이후에 문자열 만남 -> 문자열
        System.out.println("1"+2+3);;   // 문자열 + 문자열 + 문자열



        // print와 printf의 차이
        System.out.printf("%s", "하이");   // string = s = 문자열
        System.out.printf("%d", 123);      // d = decimal = 정수형
        System.out.printf("%c", '굿');     // character = c = 문자 한 개

        System.out.println();
        System.out.println(123.4567);
        System.out.printf("%.2f", 123.4567);
        System.out.println();

        // escape sequence
        // \n (개행), \b (백스페이스), \t (띄어쓰기), \\ (\를 출력), \" ("를 출력), \' ('를 출력)
        System.out.println("홍길동\n 24세\n 172.1");
        System.out.println("Welcome\b");
        System.out.println("홍길동\t24\t172.1");
        System.out.println("\\");
        System.out.println("\"홍길동\"");
        System.out.println("'하하'");

    }
}

+ Recent posts