본문 바로가기
Java

출력,자료형,형변환

by 코낄2 2024. 6. 1.

1. 간단한 프린트 해보기

println : print + line , 자동 개행이 된다. 

package chap_01;

public class _01_HelloWorld {
    public static void main (String[] args) {
        System.out.println("Hello World!!!"); /* println : print + line 한 줄 적기, 자동 개행 */
        System.out.println("안녕하세요");
    }
}
Hello World!!!
안녕하세요
참고.
IntelliJ 에서는 
package chap_01;

public class _01_HelloWorld {
   ✅메인 영역을 만들 때,  psvm 혹은 main 만 입력해도 메인 영역이 완성된다.
    public static void main (String[] args) { 
        System.out.println("안녕하세요");
        ✅sout만 입력하고 엔터를 치면 System.out.println()이 자동 완성된다.
    }
}

2. 자료형

 

Java의 기본 자료형에는 문자형, 정수형, 실수형, 논리형이 있습니다.

package chap_01;

public class _02_DataTypes {
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("안녕하세요!");
        System.out.println(12);
        System.out.println(-34);
        System.out.println(3.14);
        System.out.println(true);
        System.out.println(false);

        System.out.println(123 + 345);
    }
}

 


3. 주석 달기.

주석은 코드에 대한 설명이나 메모를 작성하여 컴파일러가 무시하도록 하는 구문입니다.

한 줄 주석 :  // 내용  , 단축키: Ctrl + /

여러 줄 주석 : /* 내용 */    , 단축키: Ctrl + Shift + /

package chap_01;

public class _04_Comment {
    public static void main(String[] args) {
        System.out.println("(10분전) 잠시 후 결혼식 시작 예정이오니 착석 부탁드립니다.");
        // System.out.println("(5분전) 잠시 후 결혼식 시작 예정이오니 착석 부탁드립니다.");
        System.out.println("지금부터 결혼식을 시작하겠습니다.");
		
        // 변수 선언은 밑에 나오는 내용
        int size = 120;
        size = size + 10; // 어린이는 발이 빨리 자라기 때문에 10 큰 사이즈로 구매

        System.out.println( "신발 사이즈 " + size + "으로 보여주세요.");

        /*
        int a = 10;
        int b = 20;
        System.out.println(a + b); // 30 */
    }
}
(10분전) 잠시 후 결혼식 시작 예정이오니 착석 부탁드립니다.
지금부터 결혼식을 시작하겠습니다.
신발 사이즈 130으로 보여주세요.

4. 변수

자바에서는 자료형 + 변수 이름을 지정하여 메모리 공간을 확보함으로써 변수를 선언합니다.

package chap_01;

public class _03_Variables {
    public static void main(String[] args) {
        String name;
        name = "코낄";
        /* String name = "코낄"; */

        int hour = 15;

        System.out.println(name + "님, 배송이 시작됩니다. " + hour +"시에 방문 예정입니다.");
        System.out.println(name + "님, 배송이 완료되었습니다.");

        double score = 90.5; /* 실수값 */
        char grade = 'A'; /* 딱 한 문자만 쓸 때는 char 사용 가능. 작은 따옴표 사용 */
        name = "자바"; /* 변수 재할당 */

        System.out.println(name + "님의 평균 점수는 " + score + "점 입니다.");
        System.out.println("학점은 " + grade + "입니다.");

        boolean pass = true;
        System.out.println("시험 합격 여부: " + pass);
        
        double d = 3.14123456789;
        float f = 3.14123456789F;
        System.out.println(d);
        System.out.println(f);
        
        long l = 1000000000000L; /* 1_000_000_000_000L 언더바로 보기 쉽게 표기 가능 */
        System.out.println(l);
    }
}
코낄님, 배송이 시작됩니다. 15시에 방문 예정입니다.
코낄님, 배송이 완료되었습니다.
자바님의 평균 점수는 90.5점 입니다.
학점은 A입니다.
시험 합격 여부: true
3.14123456789
3.14123456
1000000000000

 

참고.
자바에서 double float 는 모두 실수를 저장하는 자료형이지만 크기, 정밀도, 그리고 사용 목적에 차이가 있다.

float: 32비트 (4바이트) , 유효 자릿수 약 7자리. 메모리 사용이 중요하고 상대적으로 정밀도가 덜 중요할 때.
         >> 변수 선언 시, float  f  =  3.14f ; 혹은 3.14F로 선언해주어야 한다.
double: 64비트 (8바이트) , 유효 자릿수 약 15자리. 메모리 사용이 덜 중요하고 상대적으로 정밀도가 중요할 때.


long: 64비트(8바이트)의 크기를 가짐.
         int는 -21억~21억까지의 정수를 표현할 수 있다. 따라서 해당 숫자보다 더 큰 정수 값을 다루어야 할 때 long           을 사용한다. 숫자 뒤에 L 또는 l 을 붙인다.

변수 이름 짓는 법

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

7. 프로그램의 흐름을 위해 사용되는 경우 등 변수명이 크게 중요하지 않을 때는 i , str 등 약어를 사용할 수 있다.

 

package chap_01;

public class VariableNaming {
    public static void main(String[] args) {
        // 입국 신고서 (여행)
        String nationality = "대한민국"; // 국적
        String firstName = "현성"; // 이름
        String lastName = "김"; // 현성
        String dateOfBirth = "2001-12-31"; // 생년월일
        String residentialAddress = "뫄뫄호텔"; // 체류지
        String purposeOfVisit = "관광"; // 입국목적
        String _flightNo = "KE456" // 항공 편명, 밑줄로 시작해보기
        String flight_no_2 = "KE123";
        int accompany = 2; // 동반 가족 수
        int lengthOfStay = 5; // 체류 기간

        String item1 = "시계";
        String item2 = "가방";
        // String 2item = "신발"; // 숫자로 먼저 시작하는 변수명은 오류남
    }
}

 

package chap_01;

public class _Quiz_01 {
    public static void main(String[] args) {
        String busNumber = "강동05";
        int leftMinutes = 4;
        double leftDistance = 1.2;

        System.out.println(busNumber + "번 버스");
        System.out.println("약 " +leftMinutes+"분 후 도착");
        System.out.println("남은 거리 " + leftDistance + "km");
    }
}
강동05번 버스
약 4분 후 도착
남은 거리 1.2km

5. 상수

상수(Constant)는 프로그램 실행 동안 변경되지 않는 값을 의미합니다. (상수명은 대문자로)

final 키워드를 사용하면 그 변수는 한 번 초기화된 후 더 이상 값을 변경할 수 없습니다.

// 절대 변하지 않는 상수는 대문자로!!
final String CODE = "KR";
        
// CODE = "KO"; // 컴파일 오류 발생
String KR_COUNTRY_CODE = "+82"; // 국가 번호
KR_COUNTRY_CODE = "+8282";
System.out.println(KR_COUNTRY_CODE);
+8282
final String KR_COUNTRY_CODE = "+82"; // 국가 번호
// KR_COUNTRY_CODE = "+8282"; // 에러
System.out.println(KR_COUNTRY_CODE);
+82

6. 형 변환

score = 93 + 98.8 ; 자료형이 안맞아서 오류

 

자바에서 형변환(Casting)이란 하나의 데이터 타입을 다른 데이터 타입으로 변환하는 과정을 말합니다.

형변환은 크게 두 가지 종류가 있습니다. 자동 형변환(Implicit Casting)과 강제 형변환(Explicit Casting)입니다.

int -> long -> float -> double (더 커지는 쪽으로는 자동 형변환)

double -> float -> long -> int (데이터 타입이 더 큰 쪽에서 작은 쪽으로는 강제 형변환. 데이터 손실이 있을 수 있음)

package chap_01;

public class _07_TypeCasting {
    public static void main(String[] args) {
        // 형변환 TypeCasting

        // int to float, double
        int score = 93;
        System.out.println(score);  // 93
        System.out.println((float) score);  // 93.0
        System.out.println((double) score); // 93.0

        // float, double to int
        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 + 98.8 ; 자료형이 안맞아서 오류
        score = 93 + (int) 98.8 ; // 93 + 98
        System.out.println(score);

        score_d = 93 + 98.8;
        // score_d = (double) 93 + 98.8;
        // 이미 실수로 선언된 변수에 정수 + 실수를 하면 정수가 알아서 실수 형태로 들어간다.
        // int -> long -> float -> double (더 커지는 쪽으로는 자동 형변환)
        System.out.println(score_d); // 191.8

        // 변수에 형 변환된 데이터 집어넣기
        double convertedScoreDouble = score; // 191 -> 191.0

        //int convertedScoreInt = score_d;
        // 191.8 -> 191 더 작은 쪽으로 가야하기 때문에 오류
        // double -> float -> long -> int (수동 형변환)
        int convertedScoreInt = (int) score_d; // 191

 

🔸 숫자를 문자열로

✅ 방법1. String 클래스가 제공해주는 valueOf 메서드를 사용하여 다양한 데이터 타입을 문자로 변경
String s1 = String.valueOf(93); // 93 (문자형)

✅ 방법2. Integer 클래스의 toString 메서드를 사용하여 '정수'를 문자열로 변환
s1 = Integer.toString(93); // 93 (문자형)

String s2 = String.valueOf(98.8); // 98.8 (문자형)
s2 = Double.toString(98.8);  // 98.8 (문자형)

🔸 문자열을 숫자로
int i = Integer.parseInt("93");  // 93

double d = Double.parseDouble("98"); // 98.0

// int error = Integer.parseInt("자바");
// 숫자로 형변환 불가능한 데이터는 오류 발생

 

'Java' 카테고리의 다른 글

반복문  (0) 2024.06.17
조건문  (0) 2024.06.09
String  (1) 2024.06.05
연산자  (0) 2024.06.05
윈도우에서 JDK / IDE 설치  (0) 2024.05.31