[JAVA] 변수 입력 방법 및 예제

HYEOB KIM·2022년 8월 7일
1

JAVA

목록 보기
1/9

기본 데이터 타입

JAVA에서 변수를 선언하는 방법은 아래와 같습니다.

Data_Type (변수명) = (값);

예를 들어, 아래와 같이 입력할 수 있습니다.

int bornDay = 20;
double pi = 3.141592;
boolean isRight = true;

데이터 타입

대표적으로 쓰이는 데이터 타입은 아래와 같습니다.

데이터 타입크기값 예시
논리형boolean1 bytetrue / false
정수형int4 byte1024
"long8 byte35000000000L
실수형double8 byte3.14

정수형 데이터 타입 int와 long

  • 정수형 데이터는 기본 int로 취급합니다.
  • 범위가 큰 정수형 데이터를 사용하는 경우에는 데이터 타입 long을 사용해야 하는데, 이때에는 숫자 뒤에 대문자 L 또는 소문자 l을 붙여서 구분합니다.

변수의 형변환

자동 형변환(순방향 변환)

  • 작은 범위의 데이터 타입에 저장된 값은 큰 범위의 데이터 타입에도 저장됩니다.

예를 들어, 아래와 같은 데이터 타입 사용이 가능합니다.

int small = 1000;
long middle = small;
double many = middle;

예제

아래에 화씨를 섭씨로 변경하는 코드가 있습니다.

int fahrenheit = 100;
double celcius = (double)5 / 9 * (fahrenheit - 32);
		
System.out.println("화씨: " + fahrenheit);   // 화씨  100
System.out.println("섭씨: " + celcius);   // 섭씨 : 37.77777777777778

double 자료형의 수식에 5, 9와 같이 소수점이 없는 숫자들을 입력하게 되면 정수로 인식하게 되어 식 전체는 정수의 계산이 됩니다. 따라서 결과값에 소수점이 나타나지 않게 됩니다. 이를 해결하기 위해서는 두 가지 방법이 있습니다.

  1. 수식의 맨 앞에 (double)을 적어주는 방법
  2. 정수형 숫자를 5.0, 9.0과 같이 적어주는 방법

강제 형변환(역방향 변환, Casting)

  • 큰 범위의 데이터 타입에 저장된 값은 작은 범위의 데이터 타입에 저장하려고 하면, 값이 소실될 수 있습니다.
long bill = 7000000000L;
System.out.println(bill);

double doubleBill = bill;
System.out.println(doubleBill);

int intBill = bill;
System.out.println(intBill);

결과는 아래와 같습니다.

7000000000
7.0E9
-1589934592

아래와 같은 방법으로도 강제 형변환이 가능합니다.

double math = 94.7;
double english = 83.2;
double korean = 87.1;

int intMath = (int) math;
int intEnglish = (int) english;
int intKorean = (int) korean;

문자열 타입

자바에서는 큰따옴표(")로 감싸진 문자들을 문자열이라고 부릅니다. 문자열을 변수에 저장하고 싶다면 String 타입을 이용합니다.

첫 글자가 대문자 S인 점에 유의합니다.

String 타입은 정수형이나 실수형 같은 기본 타입이 아니라 클래스 타입입니다.

아래와 같이 사용할 수 있습니다.

String name = "홍길동";
String department = "교육팀";
String employeeInfo = name + department;

String을 좀 더 자세히 이해하기 위해서 아래 예시를 참고해봅시다.

String a = "aaa";
String a2 = "aaa";
String a3 = new String("aaa");
		
System.out.println(a == a2);   // true
System.out.println(a2 == a3);   // false
System.out.println(a2.equals(a3));   // true

문자열은 split과 같은 메소드를 사용할 수 있습니다.

String time = "13:33";
System.out.println(time.split(":")[0]);   // 13
System.out.println(time.split(":")[1]);   // 33
profile
Devops Engineer

0개의 댓글