자바 자료형 정리(다시 정리)

친환경 개발자
|2024. 3. 17. 17:27

변수명 짓는 규칙

    1.  숫자로 시작 불가
    2.  특수문자는 _  &  만 가능
    3.  int, class, return 등 키워드는 변수명으로 사용 불가
    4.  카멜 케이스   ex) getBackGround

클래스명 짓는 규칙

  1.  명사로 할 것
  2.  대문자로 시작
  3.  파스칼케이스   ex) ChocoCookie

메서드짓는 규칙

  1.  동사로 할 것
  2.  소문자로 시작
  3.  카멜 케이스   ex) getBackGround

 

 

■ 원시 자료형(Primitive type) 과 참조 자료형(Reference type):

  • 원시자료형 : 변수에 실제 값을 가지는 자료형
  • 참조자료형 : 실제 값을 갖는 것이 아닌 데이터가 저장된 메모리의 주소 값을 가지는 자료형

 

      분 자료형명 자  료  형 특   징   용  예  시
원시
자료형
int 정수형 -2147483648 ~   2147483647 int a = 0;
long -9223372036854
 775808 ~
 9223372036854
 775807
long a = 123;
float 실수형 -3.4 *10^38 ~
 3.4*10^38
float a = 1.234;
double -1.7*10^308 ~
 1.7*10^308
double a = 1.234;
boolean True, False boolean a = true;
char 문자형 문자, 아스키코드, 유니코드 
(문자로 출력함)
char a = "d";
참조
자료형
String 문자열 원시자료형에
포함되지 않으나, 리터럴표기 가능
String a = "Geun";

자주 쓰는 메서드
- a.equals(b): a와 b가 같은지 (true/false)
- a.indexOf("문자열"): a에 특정 문자열이 시작되는 위치값 리턴
- a.contains("문자열): a에 특정 문자열이 포함되는지
- a.charAt(인덱스): 특정 인덱스에 위치한 문자 리턴
- a.replaceAll("문자열1","문자열2"): 문자열1을 문자열2로 바꿈
- a.substring(시작위치,끝위치): 해당위치의 문자값을 뽑아냄
- a.toUpperCase(): 모두 대문자로 변경
- a.split(":"): a의 문자들을 :로 나누어 문자열 배열로 리턴
StringBuffer 문자열 문자열 추가하거나 변경할 때 사용 StringBuffer sb = new StringBuffer();
sb.append("hello");     // sb에 문자열 추가
sb.append(" World");
String result = sb.toString();   // String 자료형으로 변경

 자주 쓰는 메서드
- sb.inesert(인덱스, "문자열"): 원하는위치에 특정문자열 삽입
- sb.substring(시작위치, 끝위치): 해당위치의 문자값 뽑아냄
type [] 배열 - 크기, 순서 O  String[], int[], float[]  ... = {1, 2, 3, 4, 5};

 자주 쓰는 메서드
a.length(): 배열의 길이 반
ArrayList 리스트 - 크기, 순서 X 
- 새로운 값 추가
  가능
 ArrayList<Integer> a = new ArrayList<>()  
 ArrayList<Integer> a = new ArrayList<>(Arrays.asList(1,23,326))   // 선언과 동시에 바로 값 넣을 수도 있음


 자주 쓰는 메서드
a.add(요솟값): 원하는 요솟값 추가
a.get(인덱스): 특정 인덱스 값 추출
a.size(): 요소의 개수 리턴
a.contains(요솟값): 특정 항목이 있는지 판별
a.remove(인덱스): 해당위치 항목 삭제, 그 요솟값 리턴
a.remove(객체): 해당 요솟값을 삭제, true/false리턴
String.join("구분자",리스트명): 해당 리스트에 구분자를 넣어
                                                             하나의 문자열로 만듦
a.sort(Comparator.naturalOrder()): 오름차순 정렬
                                       .reverseOrder()): 내림차순 정렬
HashMap key - value 쌍  HashMap<String, Integer> a = new HashMap<>()
                      key값   value자료형

 자주 쓰는 메서드
a.put(key값, value값): key와 value 추가
a.get(key값): key에 해당하는 value값 반환
a.getOrDefault(key값,얻을값): key에 해당하는 value값이 없을
                                                             때, null대신 얻을값을 반환
a.containsKey(key값): a에 해당 key 있는지 판별(true, false)
a.remove(key값): 해당 key의 항목을 삭제하고 value값 리턴
a.size(): a의 요소의 개수 리턴
a.keySet(): 모든 key값을 모아 집합 자료형으로 리턴
HashSet 집합 중복 X, 순서 X  HashSet a = new HashSet<>()

 

 

 

 

 

리터럴 표기란?

객체를 생성하지 않고 고정된 값을 그대로 대입하는 방식. 원시자료형에서 사용

    ex) String a = "Geun's blog"

          >> a라는 변수에 "Geun's blog"라는 문자열 값을 그대로 대입

 

 참조자료형에서는?

 new키워드를 사용하여 객체 만들어 사용. 객체 중심으로 코드 작성에 유리

    ex) String a = new String("Geun's blog")

          >> 항상 새로운 String 객체를 만든다.

 

 Wrapper 클래스

  원시자료형을 객체로 다루기 위해 객체화 시키는 클래스. 객체 지향 프로그래밍의 모든 기능을 활용할 수 있게 한다.

원시자료형 Wrapper 클래스
int Integer
long Long
double Double
float Float
boolean Boolean
char Char

 

 

형 변환

 (1) 문자열 → 정수 

       int n = Integer.parseInt(문자열)               

                 *정수 형태로 이루어진 문자열이어야 한다. (실수형태의 문자열은 정수형태로 변환 불가)

 

 (2) 정수 → 문자열

       String num = "" + (정수)                           *정수 앞에 빈 문자열("") 더하기

       String num = String.valueOf(정수)  

       String num = Integer.toString(정수)   

 

 (3) 실수 → 정수

       int n = (int) (실수)                                     *실수 앞에 (int) 붙임