형변환
작은 타입이나 같은 타입이 큰 타입으로 들어갈 때는 형 변환이 필요 없다.
큰 타입이 작은 타입으로 들어 갈 때는, (int)f 처럼 앞에 형 변환을 해주어야 한다.
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = (int)26.3; // (int)를 앞에 붙여 실수를 정수로 형 변환 후, a에 저장
System.out.println(a);
byte b = (byte)a; // 앞에 형변환이 이루어지지 않으면 compile 오류
System.out.println(b);
}
}
public class Hello {
public static void main(String[] args) {
int a = 100;
a = 200;
}
}
// a 를 선언하고 100으로 초기화 하였는데, int a = 200; 이 아닌 a= 200;으로 대입해주면 값을 바꿔줄 수 있다.
public static void main(String[] args) {
double c = 3.14;
int d= (int)c;
System.out.println(d);
}
}
// 실수 c를 정수 d에 대입할 때, 형 변환을 하여 대입해주어야 한다.
public static void main(String[] args) {
int a = 200;
float e = (float)a;
System.out.println(e);
}
}
// 정수를 실수로 형변환 한 모습
System.out.print(ln)(); 는 () 안의 내용을 출력한다 ln이 붙으면 줄바꿈
Scanner scan = new Scanner(System.in); 는 입력을 받는 내장 클래스
scan 은 Scanner 라는 클래스의 객체(Object)인데, Scanner 클래스가 가지고 있는 모든 맴버 Variable/Method
(클레스에서 가져온 것에 대해 사용한 것을 맴버라는 용어로 부르며, (this)를 의미한다. )
scan.next(문자열) or scan.nextInt(정수) or nextDouble(소수)를 이용한다.
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// Scanner Class에서 scan 이라는 객체 생성 (Instance화 한다고 함.)
System.out.println("이름을 입력해주세요");
String name = scan.next();
// next() Method는 문자열 입력 시, 사용됨. nextln() 도 있음.
System.out.println("당신의 이름은 : "+ name + " 입니다.");
}
}
// scan이라는 객체를 생성하여 scan.next() scan.nextInt() scan.nextDouble()로 사용한다.
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); // Scanner Class에서 scan 이라는 객체 생성 (Instance화 한다고 함.)
System.out.println("이름을 입력해주세요");
String name = scan.next();
// next() Method는 문자열 입력 시, 사용됨. nextln() 도 있음.
System.out.println("당신의 이름은 : "+ name + " 입니다.");
System.out.println("출생년도를 입력하세요.");
int birth = scan.nextInt(); // nextInt() 메써드는 정수 입력시 사용
System.out.println("출생년도는 " + birth + " 입니다.");
int age = 2022 - birth + 1;
System.out.println("이름 " + name + ", 나이 " + age);
}
}
Scanner scan = new Scanner(System.in); 에서 보면,
개발자가 Scanner() 라는 클래스를 자바로 작성하지 않아도 객체로 만들어 사용하면 된다.
(Scanner를 마우스로 클릭하고 F3을 누르면 Scanner.class의 코드가 나온다. / 컨트롤 누르고 Scanner 클릭해도 된다.)
C:\Program Files\Java\jdk-12.0.1\lib 이 안에 src.zip 파일안에 자바 라이브러리가 들어있다.
public class Test02 {
public static void main(String[] args) {
int a = 3;
a = 4;
final double PI =3.14;
PI = 3.40; // ERROR !!
}
}
// a 는 일반 변수이기에 값 변경 가능.
// final 상수이기에 PI 값 변경 불가.
public class Test02 {
public static void main(String[] args) {
System.out.println("이름 : " + args[0]);
int age = 2022 - Integer.parseInt(args[1]);
// parse 연결한다. parseInt() 문자열을 정수로 바꾼다.
System.out.println("나이 : " + age);
}
}
Run Configurations 상단탭에서 들어가고, Argument 탭에서 인자를 홍길동 1998 이렇게 넣어주면,
main method를 만들 때, args[]의 index 첫번째는 홍길동, 두번째는 1998이 입력된다.
public class Test02 {
public static void main(String[] args) {
char a = '가';
System.out.println(a);
System.out.println((int)a);
for (int i='A'; i<='Z'; i++) { // A ~ Z 까지 ASCII CODE의 값을 구함
System.out.println((char)i + " --> " + i);
// (char)i는 문자열을 출력하고, i 는 미리 int로 선언했기에 ASCII 값을 출력.
}
}
}
결과
가
44032
A --> 65
B --> 66
C --> 67
D --> 68
...
Y --> 89
Z --> 90