Java 자바 변수, 자료형

yuns·2024년 10월 2일
0

Java

목록 보기
10/16

변수 Variable

데이터를 저장하는 메모리 공간에 붙이는 이름

// 작성 형태 :
// 데이터타입 변수이름 = 값;
int num = 10;
String name = "yuns";

변수 작성 규칙

  • 문자, 숫자, _, $ 사용 가능
  • 숫자로 시작할 수 없음
  • 공백, 예약어 (if, true 등) 을 사용할 수 없음

변수 표기법

  • 카멜 표기법 camelCase (두번째 단어의 첫글자만 대문자로)
  • 파스칼 표기법 PascalCase (모든 단어의 첫글자를 대문자로)
  • 스네이크 표기법 snake_case ( 언더바로 구분, 자바에서 사용 안함)

자료형

Number

숫자 형태의 자료형 (정수, 실수, 2진수, 8진수, 16진수)

        // number 자료형
        // 정수
        int intNum = 10;
        System.out.println(Integer.MIN_VALUE);
        System.out.println(Integer.MAX_VALUE);

        // 실수
        double doubleNum = 1.23;
        float floatNum = 1.23f; // f붙여야함
        System.out.println(Float.MAX_VALUE);
        System.out.println(Double.MAX_VALUE);

        // 2진수
        int num2 = 0b1100;
        // 그냥 출력하면 10진수로 출력됨
        System.out.println(num2);
        System.out.println(Integer.toBinaryString(num2));
        int num8 = 014;
        System.out.println(num8);
        System.out.println(Integer.toOctalString(num8));
        int num16 = 0xC;
        System.out.println(num16);
        System.out.println(Integer.toHexString(num16));

Boolean

true / false 참인지 거짓인지

// Boolean 자료형
        boolean isOk = true;
        boolean isCheck = false;

Character

        // 문자 자료형
        char key1 = 'a';
        char key2 = 'f';

        System.out.println(key1); // a
        // askii 코드 값으로 출력 가능
        System.out.println((int)key1); // 97

String

문자열, 문자들로 이루어진 집합

        // 문자열 (String)
        String str = "Hello";
        String str2 = "Hello";
        System.out.println(str); // Hello
        System.out.println(str.equals(str2));
        // equals와 비교연산자 == 의 차이점
        // equals는 값을 비교하는 것
        // == 는 객체를 비교하는 것

        // 문자열은 값이 같으면 같은 메모리를 가리키기 때문에 str과 str2는 같다
        // new 키워드를 사용하면 새로운 객체를 만들기 때문에
        // str과 str3는 같지 않다
        String str3 = new String("Hello");
        System.out.println(str == str2); // true
        System.out.println(str == str3); // false

문자열 메서드

        // indexOf
        String str4 = "Hello World";
        System.out.println(str4.indexOf("o")); // 4
        System.out.println(str4.indexOf("o", str4.indexOf("o") + 1)); // 7

        // replace
        String str5 = str4.replace("H", "W");
        System.out.println(str5); // Wello World

        // substring
        // substring(시작위치, 끝위치 + 1)
        System.out.println(str5.substring(0, 5)); // Wello
        // "o"가 나오는 위치까지 자르기
        System.out.println(str5.substring(0, str5.indexOf("o") + 1)); // Wello

        // toUpperCase 모두 대문자로 변환
        System.out.println(str5.toUpperCase()); // WELLO WORLD

배열 Array

여러 개의 데이터를 담을 수 있는 자료형

        // 배열 (Array)
        int[] nums = {1,2,3,4,5};
        System.out.println(nums[0]); // 1

//        String[] strArray = {"apple", "banana", "orange"};
        String[] strArray = new String[3]; // 3칸의 배열 생성
        strArray[0] = "apple";
        strArray[1] = "banana";
        strArray[2] = "orange";
        System.out.println(strArray[2]); // orange

리스트 List

        // arrayList
        ArrayList list = new ArrayList();
        list.add(1);
        list.add("hello");
        list.add(5);
        System.out.println(list); // [1, hello, 5]
        System.out.println(list.get(1)); // hello
        System.out.println(list.size()); // 3

        list.remove(0);
        System.out.println(list); // [hello, 5]
        list.remove(Integer.valueOf(5)); // 5인 정수 지우기
        System.out.println(list); // [hello]
        list.clear(); // 모든 값 지우기

        // sort 오름차순, 내림차순 정렬
        ArrayList list2 = new ArrayList();
        list2.add(5);
        list2.add(3);
        list2.add(1);
        list2.add(6);
        System.out.println(list2); // [5, 3, 1, 6]
        list2.sort(Comparator.naturalOrder());
        System.out.println(list2); // [1, 3, 5, 6]
        list2.sort(Comparator.reverseOrder());
        System.out.println(list2); // [6, 5, 3, 1]

맵 Map

key, value 형태로 데이터를 저장할 수 있는 자료형

        // maps
        HashMap map = new HashMap();

        // 값 넣기
        map.put("banana", 1000);
        map.put("apple", 2000);
        map.put("grape", 3000);

        System.out.println(map); // {banana=1000, apple=2000, grape=3000}

        // 값 꺼내기
        System.out.println(map.get("banana")); // 1000

        // 사이즈
        System.out.println(map.size()); // 3

        // 값 지우기
        map.remove("apple");
        System.out.println(map); // {banana=1000, grape=3000}

        // 해당 키 값이 map에 있는지 확인하기
        System.out.println(map.containsKey("grape")); // true

제네릭스 Generics

자료형을 명시적으로 지정
안정성을 높여주며 형 변환을 줄일 수 있다

        // Generics
        ArrayList<String> strList = new ArrayList<String>();
        strList.add("banana");
//        strList.add(1);  // String으로 타입을 지정했기 때문에 숫자가 들어갈 수 없음

        HashMap<String, Integer> map2 = new HashMap<>();
        map2.put("kiwi", 5000); // String, Integer 자료형만 들어갈 수 있음

0개의 댓글