언어/Java

Java 변수와 자료형

안쏘 2021. 5. 8. 22:29

개인 공부 후 정리 목적인 글입니다.

 

<자바의 구조>

  • 클래스 : 객체의 속성과 기능을 코드로 구현한 것  ex) public class Java { .... }
  • main 메소드 : public, static, void 타입으로 선언  ex) public static void main(String[] args) { .... }
  • 메소드 : 클래스 내부에서 사용하는 멤버 함수, 개수 제한 X   
  • 변수 : 데이터를 저장하는 공간으로 변하는 수 (초기화 = 변수에 처음 값을 대입하는 것)

 

<이름>

 

변수 이름

  • 사용 가능 : 특수문자('_' , '$'), 한글, 영어
  • 사용 불가능 : 나머지 특수문자들, 공백, 자바 언어의 예약어(class, true, if 등), 첫 번째 문자로 숫자, 
  • 길이 제한 없음, 대소문자 구별

클래스 이름 : 첫 번째 단어는 대문자, 나머지는 소문자

변수, 메소드 이름 : 첫 번째 단어는 소문자, 이후 각 단어의 첫 번째는 대문자

상수 이름 : 전체 대문자

 

 

<자바의 자료형>

 

기본 자료형 (bcbsilfd(1,2,1,2,4,8,4,8)로 외운다)

  • 논리 타입 : boolean (1 비트 true / false)
    문자 타입 : char (2바이트 유니코드) -> 작은 따옴표('') 로 표시
    정수 타입 : byte (1바이트 -128~127)
                        short (2바이트)
                        int (4바이트) -> 대표 정수
                        long (8바이트)
    실수 타입 : float (4바이트)
                        double (8바이트) -> 대표 실수
  • 문자열 타입 : String -> 큰 따옴표("") 로 표시

 

<상수>z

상수 : 변수 선언 시 final 키워드를 사용

 

 

<리터럴>

 

리터럴 : 프로그램에 직접 입력한 숫자, 문자, 논리값

  • 정수 리터럴 : int 타입으로 자동 컴파일 된다. long 타입으로 지정할 때는 숫자 뒤에 L,l 을 붙이면 된다.
    10진수  :  0으로 시작하지 않는 수    
    8진수     : 0으로 시작하는 수           
    16진수  :  0x로 시작하는 수             
    2진수    :  0b로 시작하는 수 

  • 실수 리터럴 : 소수점/지수 형태로 double 타입으로 자동 처리 됨
                      숫자 뒤에 f, F 이면 float, d, D 이면 double 타입으로 강제 변환
  • 문자 리터럴 : 단일 인용부호(' ')로 문자 표현
  • 특수문자 리터럴 
\u 문자 유니코드 사용
\b 백스페이스
\t
\n 라인피드
\f 폼피드
\r 캐리지 리턴
\“ 이중 인용부호
\’ 단일 인용부호
\\ 백슬래시

 

  • 논리 리터럴 : true, false 두가지
  • null 리터럴 : 값이 비여있는 것으로 기본 타입에 사용될 수 없고 객체 레퍼런스에 대입
  • 문자열 리터럴 : 이중 부호로 표현되며 자바에서 모든 문자열은 String 클래스의 객체

 

<타입/형 변환>

변수나 상수 혹 리터럴의 타입을 다른 타입으로 바꾸는 것

  • 자동 타입 변환(묵시적 형 변환) : 바이트 크기가 작은 자료형에서 큰 자료형으로 자동 변환
                                                               덜 정밀한 자료형에서 더 정밀한 자료형으로 대입하는 경우
                                                               연산 중에 자동 변환되는 경우
  • 강제 타입 변환(명시적 형 변환) : 바이트 크기가 큰 자료형에서 작은 자료형으로 강제 타입 변환 -> 지시해야 가능
                                                                더 정밀한 자료형에서 덜 정밀한 자료형으로 대입하는 경우
                                                                연산 중 형 변환