상세 컨텐츠

본문 제목

JAVA 형변환, Scanner.class, 상수Final

BackEnd/JAVA

by H_Develop 2022. 7. 18. 16:47

본문

형변환
작은 타입이나 같은 타입이 큰 타입으로 들어갈 때는 형 변환이 필요 없다.
큰 타입이 작은 타입으로 들어 갈 때는, (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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

관련글 더보기