JAVA 기초(4) 데이터형

Dayon·2023년 11월 6일
0

자바-기초다지기

목록 보기
4/6
post-thumbnail

🎃 1. 데이터 형의 개요


데이터형의 개념

  • 데이터형 = 변수나 상수의 종류를 데이터형이라고 함

  • 가장 많이 사용되는 기본 데이터 형

    • 정수, 실수, 문자, 불형 , 문자열
    • 스트링은 자바의 기본 데이터형이 아니고 클래스로 제공된다.
  • 변수에 맞는 데이터형의 값 대입해야 함

    int var = 100.0 ; // 오류


🤡 2. 데이터 형의 종류


정수 데이터형

  • 자바 프로그래밍을 하면서 정수형을 사용할때에는 그 크기를 고려해야 함
  • 정수형은 상황에 따라 값의 범위를 달리함
  • byte - 1byte / short - 2byte / int - 4 byte / long - 8 byte
    • short는 아주 작은 정수를 long은 큰 정수를 사용할때 사용
    • byte 같은 연산자를 캐스팅 연산자라 하며, 데이터형을 잠깐 변경할때 사용

실수 데이터형

  • 3.14, -8.8 과 같이 소수점이 있는 숫자를 의미

  • 기본형은 double형 이다

  • float의 경우 float를 의미하는 ‘f’를 숫자 뒤에 붙여야 한다

    • double - 8 byte, float - 4byte (3.14f)
  • float과 double 형 모두 값의 범위가 커서 둘을 구분지어 사용하는 경우 흔치 않다.

    • double 소숫점 아래 15-16자리
    • float 소숫점 아래 7자리

문자 데이터형

  • char
    • 2byte, 영문또는 한글 한 글자
    • 작은 따옴표로 묶어서 대입 함
  • char형에는 문자 뿐만아니라 값의 범위에 해당하는 정수를 대입할 수 있음 → 아스키코드

char ch1 = “난”

(int) ch1 → 난에 해당하는 유니코드 숫자 출력


Boolean 형 데이터

  • 논리형이라고도 부르면 false, true만 저장할 수 있다. 1 byte

문자열 클래스

  • 한 문자가 여러개 이어진 문자형의 집합을 의미
  • 큰 따옴표로 감싸서 표현
  • 문자열 데이터형을 자바는 지원하지않아 String 클래스를 사용해야함
  • 입력된 문자 수 * 2 바이트

🐙 3. System.out.printf ( ) 메서드의 서식 지정


System.out 의 대표적인 메서드

  1. System.out.print ( ) : 괄호 안의 내용을 출력한 후 행갈이 함
  2. System.out.println ( ) : 괄호 안의 내용을 출력한 후 행갈이를 하지 않음
  3. System.out.printf ( ) : 서식을 지정하여 출력할 수 있음

System.out.printf ( )

  • 문자열 200 vs 숫자 200
System.out.printf(200+300);       // 200+300 출력
System.out.printf(%d”, 200+300);    // 500 출력

큰 따옴표 안에 들어 있는 것이 문자 든 숫자형태의 문자든 무조건 문자로 취급

서식 (%d)이 지정한 숫자는 숫자 자체를 의미하며 (%d)는 정수형으로 출력한다.

  • System.out.printf ( ) 는 출력후 다음행으로 넘어가지 않는다
    • “\n” 이나 System.out.println( ) 을 사용해준다.

정수 서식 %d

  • %d 는 정수를 의미하며, 이러한 것을 서식이라 한다

  • %d 가 여러개 이 수 잇는데, 이럴때는 짝이 맞아야 한다.

    • System.out.printf(“%d”, 200+300); // 500

    • System.out.printf(“%d”, 200, 300); // 200

    • System.out.printf(“%d %d”, 200); // 에러 발생

    • System.out.printf(“%d %d”, 200, 300); // 200 300


기타 서식

  • 10진수 정수 %d

  • 16진수 정수 %x

  • 8진수 정수 %o

  • 실수의 서식 %f → 0.5, 1.0 , 3.14

  • 한개의 문자 %c → ‘a’, ‘A’

  • 한개 이상의 문자로 이뤄진 문자열 %s → “hello” ,“a”

  • System.out.printf(“%d / %d = %f”, 100, 200, 0.5);

    100 / 200 = 0.50000

  • System.out.printf(“%d / %d = %3.1f”, 100, 200, 0.5);

    100 / 200 = 0.5


정수 자리수를 넓히고 싶은 경우

  • System.out.printf(“%d”, 200); // 123 (정수자리수만큼 출력)

  • System.out.printf(“%5d”, 200); // 123 (다섯자리확보, 오른쪽 정렬)

  • System.out.printf(“05%d”, 200); // 00123 (다섯자리 확보, 오른쪽정렬, 빈칸 0으로 채움)


문자열 출력 자리수 지정

  • System.out.printf(“%s”, "난생 처음 자바"); // 난생 처음 자바

  • System.out.printf(“%20s”, "난생 처음 자바"); // 난생 처음 자바



🐸 2. 문자열


다양한 문자열

  • 문자열 안에 따옴표 표현하기

    • 문자열은 큰 따옴표를 묶어서 표현함
    • 문자열 중간에 작은 따옴표나 큰 따옴표 넣을 수도 있음
    • 작은 따옴표나 큰 따옴표 앞에 백슬래시() 붙이기 “큰 따옴표는 \” 모양 입니다.”
  • 여러행 문자열 만들기

    더하기 연산자로 연결하면 여러 행을 문자열로 만들 수 있음

    \n 사용시 행갈이 됨

     String var1 = "난생 처음 \n" +
                    "자바를 \n" +
    								"열공중 입니다. " ; 
    
    // 출력값
    난생 처음 
    자바를 
    열공중 입니다. 

이스케이프 문자를 사용한 문자열

  • 이스케이프 문자 (= 서식문자)
    • 이스케이프 문자는 앞에 백슬래시를 붙이는 것이 특징

    • \n → enter

    • \t → next tap

    • \b → 뒤로 한칸 이동

    • \’ → ‘ 출력 , \” → “ 출력 , \ → \ 출력


  • 연습
    public class Code4_9 {
        public static void main(String[] args) {
            System.out.println("\n줄바꿈\n연습");
            System.out.println("\t탭키\t연습");
            System.out.println("\\백슬래시 연속 2개 출력\\\\연습");
            System.out.println("어떤 글자를\"강조\"하는 연습");
            
        }
    }
출력 결과 
줄바꿈
연습
        탭키    연습
\백슬래시 연속 2개 출력\\연습
어떤 글자를"강조"하는 연습

문자열 연결

  • 더하기 연산자 사용
  • String 클래스
  • 문자열 길이 확인 하기 → length()
    String str = "helloWorld";
    int len ; 
    len = str.length();

문자열 관련 메서드

  • toUpperCase() : 소문자를 대문자로 변환하는 메서드 abc → ABC

  • toLowerCase() : 대문자를 소문자로 변환하는 케이스 ABC → abc

  • 영문을 제외한 숫자, 기호, 한글은 메서드의 영향을 받지 않는다.

  • trim() : 문자열의 앞뒤 공백을 제거 “ 안 녕 “ → “안 녕”

  • replaceAll(기존 문자열, 새문자열) → 기존 문자열을 새 문자열로 수정하는 것

  • str.replaceAll(” “,”!”) → 공백을 !로 바꿔줌

  • indexOf(찾을 문자열)

    String str = "난생처음 자바" ;
    System.out.println(str.indexOf("처음");
    
    //2 (2번째부터 시작한다, 공백도 하나의 문자열, 문자열의 위치는 0번부터 ) 
  • indexOf(찾을 문자열, 시작위치)

    String str = "난생처음 처음 처음 자바" ;
    System.out.println(str.indexOf("처음",3);
    
    //8 (3번째 처음이 시작하는 위치) 
  • charAt(위치)

    • 문자열의 각 문자에 접근하는 메서드

    • 문자열은 여러개의 문자로 이루어져있어 각 문자마다 위치가 지정되어있음

      String str = "자바짱" ;
      System.out.println(str.charAt(0)); // 자
      System.out.println(str.charAt(1)); // 바
      System.out.println(str.charAt(2)); // 짱
      
      //8 (3번째 처음이 시작하는 위치) 
  • substring(시작위치, 끝위치-1)

    String str = "자바재밌다" ;
    System.out.println(str.substring(1,3)); // 바재



profile
success is within reach, allow yourself time

0개의 댓글