Java 변수, 상수, 형변환

Leutbing·2023년 7월 8일
0
post-thumbnail

Java 변수, 상수, 형변환

Intellij 환경
psvm main을 입력해주면 자동으로 메인영역을 만들어준다.

    public static void main(String[] args) {
        
    }

생성된다. 이것을 메인메소드라고 부른다.

sout을 입력해주면 자동으로 출력 메소드를 만들어준다.

System.out.println();

알면 좋은 Itellij 단축키
실행
control + R
복사
command + D
한줄 주석
command + /
여러줄 주석
command + shift + /

Variables

예약어

int, long, float, double, char, String, boolean

깊은 소수점까지 다루고 싶다면 double 그렇게까지 필요하지 않다면 float

float는 뒤에 F를 넣어줘야 된다.

double d = 3.14123456789;
float f = 3.14123456789F;

long은 L이나 l을 뒤여 붙여주어야한다.

long l = 1000000000000l;
l = 1_000_000_000_000l;

변수 이름 짓는 방법

  1. 저장할 값에 어울리는 이름
  2. 밑줄(_), 문자(abc), 숫자(123) 사용 가능(공백 사용 불가)
  3. 밑줄 또는 문자로 시작 가능
  4. 한 단어 또는 2개 이상 단어의 연속
  5. 소문자로 시작, 각 단어의 시작 글자는 대문자(첫 단어는 제외)
  6. 예약어 사용 불가 (public, static, void, int, double, float, ...)

예시)

String nationality = "대한민국"; //국적
String firstName = "현성"; //이름
String lastName = "김"; //성
String dateOfBirth = "2001-12-31"; //생년월일
String residentialAddress = "무슨 호텔"; //체류지
String purposeOfVisit = "관광"; //입국목적
String flightNo = "KE657"; //항공 편명
String _flightNo = "KE657"; //밑줄 시작
String flight_no_2 = "KE657"; // 밑줄과 숫자 포함
//String -flightNo ="KE657"; 하이픈 불가능

int accompany = 2; //동반 가족 수
int lengthOfStay = 5; //체류 기간

String item1 = "시계";
String item2 = "가방";
//String 3item = "전자제품" 숫자로 먼저 시작 불가능

//프로그램의 흐름을 위해 사용되는 경우 등 (크게 이름이 중요하지 않을 때)
int i =0;
String s = "";
String str = "";

상수

절대 변하치 않는 변수.
앞에 final을 입력.
대문자로 작성

final String CODE ="KR";
//CODE = "US" 바꿀 수 없음
//final 상수화
final String KR_COUNTRY_CODE = "+82";

System.out.println(KR_COUNTRY_CODE);

final double PI = 3.141592; //원주율
final String DATE_OF_BIRTH = "2001-12-31"; //생년 월일

형변환(TypeCasting)

정수형에서 실수형으로

let score = 93;
System.out.println(score); //93
System.out.println((float) score); //93.0
System.out.println((double) score); //93.0

실수형에서 정수형으로

float score_f = 93.3F;
double score_d = 98.8;
System.out.println((int) score_f); //93
System.out.println((int) score_d); //98

정수 + 실수 연산

score = 93 + (int) 98.8; //93 + 98
System.out.println(score); //191

score_d = 93 + 98.9; 오른쪽 식이 정수여서 왼쪽도 자동으로 double로 변환된다.

score_d = (double) 93 + 98.8; //93.0 + 98.8
System.out.println(score_d); //191.8

int -> long -> float -> double (자동 형변환)

int score = 191;
double convertedScoreInt = score //191 -> 191.0

error

double score_d = 191.9
int convertedScoreInt score_d //191.9 -> 191

큰 범위에 있는 데이터를 작은 범위에 데이터로 넣으려다 보니까 에러가 발생한다.

해결방법
변수 앞에 예약어를 붙여준다.

int convertedScoreInt = (int) score_d //191.9 -> 191

double -> float -> long -> int (수동 형변환)

정수를 문자열로

String s1 = String.valueOf(93);
s1 = Integer.toString(93);
System.out.println(s1); //93

실수를 문자열로

Stirng s2 = String.valueOf(98.8);
s2 = Double.toString(98.8);
System.out.println(s2); //98.8

문자열을 숫자로

int i =Integer.parseInt("93");
System.out.println(i); //93
double d = Double.parseDouble("98.8");
System.out.println(d); //98.8

error 발생

int error = Integer.parseInt("자바");

0개의 댓글