국비지원 공부 정리/Java

JAVA에서의 변수명

worldstroy 2025. 4. 4. 10:06

JAVA에서의 식별자란?

★ 클래스, 변수, 상수, 메소드 등에 붙이는 이름, 즉 변수명을 지칭함

 

식별자 원칙?

★ @, #, !와 같은 특수문자 사용 불가
★ 예외로 '_(언더바)', '$(달러)'는 사용 가능
★ 한글 사용은 가능하지만, 변수명은 영어로 하는 것이 좋음
★ 공백은 불가능함
★ 미리 정의된 키워드(예약어)는 식별자로 사용 불가
★ 첫글자로는 사용 불가능하지만, 숫자 사용은 가능함

 

자바의 예약어

 

자바의 데이터 타입

타입 크기 의미
boolean true, false 논리 타입
char 1자리(2비트) 문자 타입
byte
정수 타입
short
정수 타입
int 
정수 타입
long
정수 타입
float

실수 타입
double
실수 타입

 

실수 형 타입을 사용할 때 주의할 점

 

import java.math.BigDecimal;

public class BigDecimalExample {
    public static void main(String[] args) {
        // BigDecimal 객체 생성
        BigDecimal num1 = new BigDecimal("123.45");
        BigDecimal num2 = new BigDecimal("67.89");

        // 덧셈
        BigDecimal sum = num1.add(num2);
        System.out.println("덧셈: " + sum);

        // 뺄셈
        BigDecimal difference = num1.subtract(num2);
        System.out.println("뺄셈: " + difference);

        // 곱셈
        BigDecimal product = num1.multiply(num2);
        System.out.println("곱셈: " + product);

        // 나눗셈 (소수점 처리)
        BigDecimal quotient = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP); 
        // 두 번째 파라미터는 소수점 자리수, 세 번째는 반올림 방법
        System.out.println("나눗셈: " + quotient);
    }
}

 

★ float 또는 double과 같은 기본 부동소수점 자료형은 근사값을 사용하므로 금융 계산과 같은 정밀도가 중요한 연산에는 적합하지 않음
★ BigDecimal 클래스는 이러한 문제를 해결하기 위해 정확한 소수점 연산을 제공
★ BigDecimal 은 불변(immutable) 객체, 즉, 한번 생성되면 그 값을 변경할 수 없음
★ 문자열 생성자를 사용하는 것이 부동소수점 오류를 피하는 가장 안전한 방법
★ 기본 산술연산자를 직접 사용할 수 없으며, 대신 메서드를 사용함

 

JAVA에서의 String

 

 

참조형 데이터 타입 - 기본형 타입을 참조형으로

각, 기본형 타입은 매칭이 되는 참조형 타입이 존재한다.
기본형 타입을 참조형 타입으로 바꿔서 사용해야 하는 경우가 존재하기 때문이다.

 

 

참조형 타입을 사용해야 하는 경우

 

 

 

null 값을 다뤄야 할 때 기본형 타입은 null 값을 저장할 수 없습니다.
반면, 참조형 타입은 객체이므로 null을 할당할 수 있습니다.
예를 들어, Integer 객체는 null을 가질 수 있지만 int는 기본적으로 0으로 초기화됩니다.
컬렉션에 저장할 때 Java의 컬렉션 프레임워크(예: ArrayList, HashMap 등)는 참조형 타입만 저장할 수 있습니다.
그래서 기본형 타입을 컬렉션에 저장하려면 해당하는 래퍼 클래스(예: Integer, Double 등)를 사용해야 합니다.

 

Java의 출력 함수

System.out.print(내용) 괄호 안의 내용을 출력
System.out.println(내용) 괄호 안의 내용을 출력 + 개행
System.out.printf("형식문자열", 값1, 값2, ....); 형식 문자열에 맞게 각각의 값을 출력

 

 

JAVA에서 사용 가능한 형식 문자열 

 

표현 의미
%d 정수형 값을 10진수로 출력
%i 정수형 값을 10진수로 출력 (기본적으로 %d와 동일)
%f 부동소수점(float) 숫자 출력 (소수점 이하 6자리까지 기본)
%s 문자열 출력
%c 단일 문자 출력
%x 정수형 값을 16진수로 출력 (소문자 알파벳 사용)
%X 정수형 값을 16진수로 출력 (대문자 알파벳 사용)
%o 정수형 값을 8진수로 출력
%e 부동소수점 숫자를 지수 형식으로 출력 (소문자 e 사용)
%g 부동소수점 숫자를 자동으로 소수점 형식 또는 지수 형식으로 출력
%G 부동소수점 숫자를 자동으로 소수점 형식 또는 지수 형식으로 출력 (대문자 사용)
%ld long 타입의 정수 출력
%lf double 타입의 부동소수점 숫자 출력
%t 날짜 및 시간 출력 (특정 언어에서 사용)
%b 불리언 값을 출력 (True/False 또는 1/0 등으로 표현)

 

JAVA에서의 Input - Scanner

import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
//Scanner 객체를 생성해 scanner 변수에 대입
String str = scanner.nextLine();
//Enter 키를 누르면 입력된 문자열을 읽음

 

System.in으로 키보드 입력을 받게 하고, 읽은 값을 다양한 타입(String, int, double, boolean, char 등)으로 변환하여 리턴해줌

 

Scanner 클래스 주요 메소드

 

System.out.println("공백으로 구분하여 이름/나이/키/결혼여부를 입력해주세요 >>");

Scanner scanner = new Scanner(System.in);
String name = scanner.next();  // 공백 이전까지 문자열 읽음

int age = scanner.nextInt(); // 공백 이전까지 정수 읽기
double height = scanner.nextDouble(); // 공백 이전까지 실수 읽기
boolean single = scanner.nextBoolean(); // 공백 이전까지 불리언 읽기

System.out.println("==== 입력 결과 출력 ====");

System.out.println("이름: " + name);
System.out.println("나이: " + age);
System.out.println("키: " + height);
System.out.println("결혼 여부: " + single);

scanner.close(); // scanner 닫

 

next() 공백 이전까지의 입력 값을 return
nextLine() 엔터 이전까지의 문자열을 읽음
nextInt() 공백 이전까지의 정수를 읽음
nextDouble() 공백 이전까지의 실수를 읽음
nextBoolean(), nextFloat() 등등 다양한 변수별 메소드가 존재함
단, Scanner를 사용했으면 close() 명령어를 이용해서 닫아주어야 한다.

 

 

'국비지원 공부 정리 > Java' 카테고리의 다른 글

객체지향 프로그래밍과 객체  (0) 2025.04.08
JAVA 예외처리  (0) 2025.04.08
자바의 반복문  (0) 2025.04.05
Arrays 클래스와 ArrayList  (0) 2025.04.05
JAVA란?  (0) 2025.04.04