Tiny Finger Point Hand With Heart
본문 바로가기
JAVA

[JAVA] 변수와 변하지 않는 상수와 리터럴, 변수의 형 변환

by yoondii 2023. 2. 26.
728x90
반응형

1. 변수

고정되어 있지 않고, 변할 수 있는 수를 뜻 함

프로그래밍에서도 마찬가지로 정해지지 않은 값으로 사용됨

  • 실행 도중에 계속해서 바뀔 수 있음

또한 변수는 데이터를 저장하기 위해 사용됨

 

https://www.geeksforgeeks.org/variables-in-c/

 

1.1. 변수 선언 및 값 할당

Java에서는 변수의 자료형에 맞는 타입을 사용해야 함

타입 변수; 또는 타입 변수 = 값; 과 같은 형태로 선언

 

public class Main {

    public static void main(String[] args) {
        // 1. 변수 선언
        int number; // 변수 선언
        number = 1; // 변수에 값 할당
        System.out.println(number);

        // 2. 변수 선언 & 값 할당
        int age = 29;
        System.out.println(age);

        // 3. 동시에 여러개의 변수를 선언
        int num, num2;
        num = 1;
        num2 = 2;
        System.out.println(num + num2);
    }
}
--------------------------------------------------
1
29
3

 

1.2. 변수 명명 규칙

  • 변수 이름을 작성할 때는 영문자, 숫자, 특수문자 '_', '$'만 사용. (단 숫자는 맨 앞에 올 수 없음)
  • 예약어는 사용할 수 없음(if, for, while, class 등등)
  • 변수를 명명하더라도 약어보단 길게 풀어쓰는 것이 의미 전달이 잘 되어 협업하기 좋음
 
public class Main {

    public static void main(String[] args) {
        // ...중략...
        
        // 변수 명명규칙
        String myName; // 띄어쓰기 대신에 Camel Case 방식으로 단어의 첫 글자만 대문자로 작성하여 구분
        int score, score2; // 숫자 혼용해서 사용 가능(단, 숫자가 맨 앞글자에 위치 할 수 없음)
        final String BASE_URL = "https://naver.com"; // 특수문자 _ 사용가능
        double money$; // 특수문자 $ 사용 가능
    }
}

 

2. 상수(constant) 선언하기

  • 상수는 변하지 않는 수
  • 원주률 3.14, 1년 12개월 등
  • final 예약어를 사용하여 선언
  • 상수를 사용하면 변하지 않는 값을 반복하여 사용할 때 의미있는 문자로 인식하기 쉽고
    혹, 변하더라도 선언한 부분만 변경하면 되므로 여러부분을 수정할 필요가 없음
public class ConstantTest {

	public static void main(String[] args) {

		final int MAX_NUM = 100;
		final int MIN_NUM;
		
		MIN_NUM = 0;
		
		System.out.println(MAX_NUM); //100
		System.out.println(MIN_NUM); // 0
		
		//MAX_NUM = 1000;
	}
}

 

3. 리터럴(literal)

  • 프로그램에서 사용하는 숫자, 문자, 논리값을 뜻함
  • 리터럴은 상수 풀(constant pool)에 있음
  • 정수 리터럴은 int 로 실수 리터럴은 double 로 저장됨
    정수의 범위가 넘어가는 경우는 L,l을 float로 사용하려는 경우는 F,f 식별자를 써줘야 함

4. 형 변환 (type conversion)

  • 서로 다른 자료형 간에 연산등의 수행을 위해 하나의 자료형으로 통일하는 것
  • 묵시적 형 변환(implicit type conversion, 자동 형 변환)과 명시적 형 변환(explicit type conversion, 강제 형 변환)이 있음
  • 바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어 짐
  • 덜 정밀한 자료형에서 더 정밀한 자료형으로읜 형 변환은 자동으로 이루어 짐
byte bNum = 10;
int iNum = bNum;  

int iNum1 = 20;
float fNum = iNum2;

int iNum = 10;
byte bNum = (byte)iNum;

double dNum = 3.14;
int iNum2 = (int)dNum;

 

public class TypeConversion {

	public static void main(String[] args) {

		double dNum = 1.2;
		float fNum = 0.9F;
		
		int iNum1 = (int)dNum + (int)fNum; // 1 + 0
		int iNum2 = (int)(dNum + fNum); // 1.2 + 0.9
		
		System.out.println(iNum1); // 1
		System.out.println(iNum2); // 2
	}

}

 

728x90
반응형

댓글