- 값의 타입을 다른 타입으로 변환하는 것
- boolean을 제외한 7개의 기본형은 서로 형변환이 가능
주석으로 설명..
package ch02;
public class S01 {
public static void main(String[] args) {
System.out.println(65); //65
// 형변환
// 리터럴 앞에 소괄호를 적고
// 소괄호 안에 타입을 적는다
// 명시적형변환 -> 가로를 적어서 해주는 것
System.out.println((char) 65); //A
// 범위가 적은 타입에서 큰 타입으로 변환 할 때는
// 보통 문제가 없다
System.out.println((double) 65);//65.0
// 범위가 큰 타입에서 적은 타입으로 변환 할 때는
// 데이터 소실이 일어날 수 있다
System.out.println((int) 65.1);//65
// 다른 타입을 계산하게 되면
// 범위가 큰 타입으로 자동으로 형변환(캐스팅) 된다.
// 묵시적 형변환 -> 가로를 해주지 않은 것
System.out.println(3.0 / 2);//1.5
System.out.println(3.0 / (double) 2);//1.5
System.out.println(3 / 2.0);//1.5
}
}
줄바꿈을 하지 않고, 출력형식 지정가능하다.
println()의 단점 - 출력형식 지정불가
주석으로 설명..
package ch02;
import java.text.MessageFormat;
public class S02 {
public static void main(String[] args) {
String str = "저는 홍길동이고 25세입니다.";
// String str1 = "저는 " + "고길동" + "이고 " + "35" + "세입니다.";
String name = "지드래곤";
int age = 34;
// 문자열 사이에 변수를 넣고 싶을 때에는 문자열을 더해준다.
// 보기에 깔끔하지 않고 사용하기 불편하다.
String str1 = "저는 " + name + "이고 " + age + "세입니다.";
System.out.println(str1);
// 형식화된 출력(printf)
System.out.printf("저는 %s이고 %d세입니다\n", "고양이", 2);
System.out.printf("\"저는 %s이고 %d세입니다\"\n", "고양이", 2);//"저는 고양이이고 2세입니다"
// 소수점 단위를 제한할 수 있다.
System.out.printf("%.2f\n", 10.0 / 3); //3.33
// 잘린 소수점이 0.5이상이면 자동으로 반올림 된다.
System.out.printf("%.2f\n", 3.666666666); //3.67
// 문자열 포맷팅(format)이라고 하고 이걸 문자열 보간법(...args)
String str2 = String.format("저는 %s\n", "홍길동");
System.out.println(str2);
String str3 = MessageFormat.format("저는 {0} {1} {0}\n", "다나카", 30);
System.out.println(str3); //저는 다나카 30 다나카
}
}
화면으로부터 데이터를 입력받는 기능을 제공하는 클래스
- import문 추가
import java.util.*;
- Scanner객체의 생성
Scanner scanner = new Scanner(System.in);
- Scanner객체를 사용
주석으로 설명..
package ch02;
import java.util.Scanner;
public class S03 {
public static void main(String[] args) {
// 콘솔에 입력을 받을 때 사용한다.
// 표준 입력장치인 키보드 등의 데이터를 받는다.
Scanner scanner = new Scanner(System.in);
// 스캐너에서 nextInt를 사용하면
// 입력된 값을 int 타입으로 형변환해서 리턴한다.
// int nextInt = scanner.nextInt();
// System.out.println("나온 값은 " + nextInt);
// String next = scanner.next();
// String next1 = scanner.next();
// String next2 = scanner.next();
// System.out.println(next);
// System.out.println(next1);
// System.out.println(next2);
// nextLine은 한 줄 기준으로 데이터를 가져온다.
String nextLine = scanner.nextLine();
System.out.println(nextLine);
scanner.close();
}
}