티스토리 뷰

JAVA

[Java] 변수와 자료형, 형변환

단미라이프 2022. 3. 7. 23:24
반응형

 

1. 변수

데이터를 담을 수 있는 공간으로 변할 수 있는 수, 변화를 줄 수 있는 수를 의미

int a = 3;
// a라는 공간에 3이라는 정수를 대입하라
  • int : 자료형 
  • = : 대입한다

 

 

변수명 규칙

 

변수 이름을 지을때는 몇 가지 규칙이 있음

  • 자바의 키워드는 변수명으로 사용할 수 없다.
    (예 : int, String, class, return 등)
  • 숫자로 시작할 수 없다.
    (예 : int 1st)
  • 특수문자는 _(언더바)와 $만 가능
  • 띄어쓰기를 할 수 없다.

 

 

코딩 명명법

 

1) 카멜케스케이스 표기법(camelCase)

  • 첫 글자 소문자로 표기하고 이후 문자의 첫 글자는 대문자로 표기
int numberOfBox;

 

2) 파스칼케이스 표기법(PascalCase)

  • 모든 문자의 첫 글자를 대문자로 표기
int NumberOfBox;

 

3) 스네이크케이스 표기법(snake_case)

  • 모든 문자의 첫 글자는 소문자로 표기하고 문자 사이에는 _(언더바)로 연결
int number_of_box;

 

변수의 생성(변수를 만들어내는 것), 변수의 참조(변수를 가져다 쓰는 것)

 

int cnt = 130;	//변수 생성

cnt = 8;	//변수 참조

System.out.println(cnt);	//변수 참조

 

 

2. 자료형

변수명 앞의 int, String 등은 변수의 자료형(Type)을 의미한다.

  1byte
8bit
2byte
16bit
4byte
32bit
8byte
64bit
논리 boolean
=> True, False
     
문자   char    
정수
3, 5, -7, -123
byte short int long
실수
3.14, 7.86
    float double
  • 저장공간을 효율적으로 사용하기 위해 용량이 나눠져 있음

 

 

만약 자료형과 다른 값을 대입하면 어떻게 될까?

 

Type mismatch: cannot convert from double to float

 

  • 빨간줄이 생기며 마우스를 대면 위와 같은 오류 메시지가 나타난다.
  • float는 4byte, 3.14는 8byte이다
  • 오류 : double 자료형을 float 자료형으로 변환할 수 없다는 뜻이다.
  • 이를 해결하기 위해서는 아래와 같이 고쳐주면 된다.
 double num2 = 3.14;
float num2 = 3.14f;
 float num3 = (float)3.14;      //(Type casting 형변환 => 명시적, 강제형변환)

 

 

문자 vs 문자열

 

문자 문자열
'A' "안녕하세요"
char String
기본형 java.lang.String
자바에서 제공하는 클래스

 

 

3. 형변환

하나의 타입을 다른 타입으로 변환하는 것을 형변환(타입변환)이라고 함

 

 

명시적, 강제형변환

 

연산 시 사용자가 강제적으로 타입을 변환해 주는 것

public class Test {

	public static void main(String[] args) {

        int a = 1;
        double b = 4.5;
        
        double c = (int) a + (int) b;
        double d = (int) a + (double) b;
        double e = (double) a + (double) b;
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
	}

}

 

 

자동형변환(암시적, 묵시적형변환)

 

암시적 타입 변환이란 연산 시 컴파일러가 자동으로 타입 변환을 수행하는 것을 의미

정수 + 정수 = 정수

정수 + 실수 = 실수

public class Test {
 
    public static void main(String[] args) {
    	
        int a = 1;
        double b = 4.5;
        
        double c = a + b;
        System.out.println(c);
    }
}

 

 


 

 

평균 계산기를 만들어보자

 

kor, math, eng 점수를 입력받아 세 과목의 평균계산(실수)해서 출력해보자

import java.util.Scanner;

public class Test {

	public static void main(String[] args) {

		// 평균 계산기를 만들어보자
		// kor, math, eng 점수를 입력받아 세과목의 평균계산해서 출력
		
		Scanner scan = new Scanner(System.in);
		System.out.println("국어점수를 입력 해주세요 >> ");
		int kor = scan.nextInt();
		System.out.println("수학점수를 입력 해주세요 >> ");
		int math = scan.nextInt();
		System.out.println("영어점수를 입력 해주세요 >> ");
		int eng = scan.nextInt();
		
		
		System.out.println("세과목의 평균점수 = " + (kor + math + eng)/3);
		System.out.println("세과목의 평균점수 = " + (kor + math + eng)/3.0);
		
	}

}

평균을 실수로 계산하기 위해 3.0으로 나눠준다.

 

 

 

반응형
댓글
반응형
공지사항