JAVA

JAVA(변수와 상수)_2024-05-22

앵보몬 2024. 5. 22. 17:40
728x90
반응형
package frist;

public class Test3 {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        String name = "앵보";

        int kok = 80;

        int math = 90;

        int english = 60;

        double average = 76.66;

        System.out.printf("이름은 %s입니다.\n", name);

        System.out.printf("국어점수는 %d점입니다.\n", kok);

        System.out.printf("영어점수는 %d점입니다.\n", english);

        System.out.printf("수학점수는 %d점입니다.\n", math);

        System.out.printf("점수의 합계는 %d점입니다.\n", kok + english + math);

        System.out.printf("세과목의 평균은 %.2f점입니다.\n", (double) (kok + english + math) / 3);

    }

}
이름은 앵보입니다.
국어점수는 80점입니다.
영어점수는 60점입니다.
수학점수는 90점입니다.
점수의 합계는 230점입니다.
세과목의 평균은 76.67점입니다.

 

package frist;

public class Test7 {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        boolean isFun = true;

        char c = 'f';

        int x = 59;

        long big = 3456789L;

        float f = 32.5f;

        double d = 23.34;

        System.out.println(isFun);

        System.out.println(c);

        System.out.println(x);

        System.out.println(big);

        System.out.println(f);

        System.out.println(d);

    }

}
true
f
59
3456789
32.5
23.34

 

변수(variable)

변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미합니다. 즉, 변수란 데이터(data)를 저장할 수 있는 메모리 공간을 의미하며, 이렇게 저장된 값은 변경될 수 있습니다.

 

변수의 이름 생성 규칙

자바에서는 변수뿐만 아니라 클래스, 메소드 등의 이름을 짓는데 반드시 지켜야 하는 공통된 규칙이 있습니다. 자바에서 이름을 생성할 때에 반드시 지켜야 하는 규칙은 다음과 같습니다.

1. 변수의 이름은 영문자(대소문자), 숫자, 언더스코어(_), 달러($)로만 구성할 수 있습니다.

2. 변수의 이름은 숫자로 시작할 수 없습니다.

3. 변수의 이름 사이에는 공백을 포함할 수 없습니다.

4. 변수의 이름으로 자바에서 미리 정의된 키워드(keyword)는 사용할 수 없습니다.

 

변수의 종류

자바에서 변수는 타입에 따라 크게 다음과 같이 구분할 수 있습니다.

1. 기본형(primitive type) 변수

2. 참조형(reference type) 변수

기본형(primitive type) 변수는 실제 연산에 사용되는 변수입니다. 자바에서는 다음과 같이 8가지 종류의 기본형 변수를 제공하고 있습니다. 

- 정수형 : byte, short, int, long

- 실수형 : float, double

- 문자형 : char

- 논리형 : boolean

 

변수의 선언

자바에서는 변수를 사용하기 전에 반드시 먼저 변수를 선언하고 초기화해야 합니다. 변수를 선언하는 방법에는 다음과 같이 두 가지 방법이 있습니다.

1. 변수의 선언만 하는 방법

2. 변수의 선언과 동시에 초기화하는 방법

 

변수의 선언만 하는 방법

이 방법은 먼저 변수를 선언하여 메모리 공간을 할당받고, 나중에 변수를 초기화하는 방법입니다. 하지만 이렇게 선언만 된 변수는 초기화되지 않았으므로, 해당 메모리 공간에는 알 수 없는 쓰레깃값만이 들어가 있습니다. 따라서 선언만 된 변수는 반드시 초기화한 후에 사용해야만 합니다.

문법
타입 변수이름;

예제
int num;                 // 변수의 선언

System.out.println(num); // 오류 발생

num = 20;                // 변수의 초기화

System.out.println(num); // 20

 

자바에서는 프로그램의 안전성을 위해 초기화하지 않은 변수는 사용할 수 없도록 하고 있습니다. 만약 초기화되지 않은 변수를 사용하려고 하면, 자바 컴파일러는 오류를 발생시킬 것입니다.

 

변수의 선언과 동시에 초기화하는 방법

자바에서는 변수의 선언과 동시에 그 값을 초기화할 수 있습니다. 또한, 선언하고자 하는 변수들의 타입이 같다면 이를 동시에 선언할 수도 있습니다.

문법
1. 타입 변수이름[, 변수이름];

2. 타입 변수이름 = 초깃값[, 변수이름 = 초깃값];

예제
int num1, num2;                  // 같은 타입의 변수를 동시에 선언함.

double num3 = 3.14;              // 선언과 동시에 초기화함.

double num4 = 1.23, num5 = 4.56; // 같은 타입의 변수를 동시에 선언하면서 초기화함.

 

 

변수의 선언과 동시에 초기화하는 방법

자바에서는 변수의 선언과 동시에 그 값을 초기화할 수 있습니다. 또한, 선언하고자 하는 변수들의 타입이 같다면 이를 동시에 선언할 수도 있습니다.

문법
1. 타입 변수이름[, 변수이름];

2. 타입 변수이름 = 초깃값[, 변수이름 = 초깃값];

예제
int num1, num2;                  // 같은 타입의 변수를 동시에 선언함.

double num3 = 3.14;              // 선언과 동시에 초기화함.

double num4 = 1.23, num5 = 4.56; // 같은 타입의 변수를 동시에 선언하면서 초기화함.

 

상수(constant)

상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다. 하지만 상수가 변수와 다른 점은 프로그램이 실행되는 동안 메모리에 저장된 데이터를 변경할 수 없다는 점입니다. 상수는 변수와 마찬가지로 이름을 가지고 있는 메모리 공간으로, 이러한 상수는 선언과 동시에 반드시 초기화해야 합니다. C++에서는 const 키워드를 사용하여 상수를 선언하지만, 자바에서는 final 키워드를 사용하여 선언합니다. 자바에서 상수를 만드는 일반적인 방식은 다음과 같습니다.

예제
final int AGES = 30;

 

위의 예제처럼 final 키워드를 사용한 상수는 선언과 함께 반드시 초기화해야 합니다.

 

리터럴(literal)

리터럴(literal)이란 그 자체로 값을 의미하는 것입니다. 즉, 변수와 상수와는 달리 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않습니다.

예제
int var = 30;         // 30이 바로 리터럴임.

final int AGES = 100; // 100이 바로 리터럴임.

 

 

타입에 따른 리터럴

자바에서 리터럴은 타입에 따라 다음과 같이 구분할 수 있습니다.

1. 정수형 리터럴(Integer literals)은 123, -456과 같이 아라비아 숫자와 부호로 직접 표현됩니다.

2. 실수형 리터럴(floating-point literals)은 3.14, -45.6과 같이 소수 부분을 가지는 아라비아 숫자로 표현됩니다.

3. 논리형 리터럴(boolean literals)은 true나 false로 표현됩니다.

4. 문자형 리터럴(character literals)은 'a', 'Z'와 같이 작은따옴표('')로 감싸진 문자로 표현됩니다.

5. 문자열 리터럴(string literals)은 "자바", "홍길동"과 같이 큰따옴표("")로 감싸진 문자열로 표현됩니다.

6. null 리터럴(null literals)은 단 하나의 값인 null로 표현됩니다.

 

리터럴 타입 접미사(literal type suffix)

자바에서 3.14와 같은 실수형 리터럴을 그대로 사용하면, 해당 리터럴은 실수형 타입 중에서도 double형으로 인식할 것입니다. 하지만 실수형 리터럴 맨 뒤에 F나 f를 추가하면, 자바는 해당 실수형 리터럴을 float형으로 인식할 것입니다. 이처럼 리터럴 뒤에 추가되어 해당 리터럴의 타입을 명시해주는 접미사를 리터럴 타입 접미사(literal type suffix)라고 합니다. 자바에서 사용할 수 있는 리터럴 타입 접미사는 다음과 같습니다.

 

타입 접미사리터럴 타입예제

L 또는 l long형 123456789L, ...
F 또는 f float형 1.234567F, 8.9f, ...
D 또는 d (생략 가능) double형 1.2345D, 6.789d, ...

https://www.tcpschool.com/java/java_datatype_constant

728x90
반응형