[JAVA] 입력(input), 형변환(casting)

seonjeong·2022년 12월 20일
0

Java

목록 보기
2/26
post-thumbnail

📌 입력(input)

Scanner클래스

Scanner sc = new Scanner(System.in); : Scanner클래스의 객체 생성

boolean

boolean b;
b = sc.nextBoolean();

integer

int number;
number = sc.nextInt();

double

double d;
d = sc.nextDouble();

String

String str;
str = sc.next(); 
System.out.println(str); // Hello World를 입력했을 경우, Hello만 출력됨

// file, network
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
String str;
str = br.readLine();
System.out.println("str: " + str); // Hello World를 입력했을 경우, Hello World 모두 출력됨

✍ 예제

import java.until.*;  // Scanner를 사용하기 위해 추가

class ScannerEx {
	public static void main(String[] args) {
    	Scanner scanner = new Scanner(System.in);
        
        System.out.print("두자리 정수를 하나 입력해주세요.>");
        String.input = scanner.nextLine();
        int num = Integer.parseInt(input);	// 입력받은 문자열을 숫자로 변환
        
        System.out.println("입력내용: + input);
        System.out.printf("num=%d%n", num);
    }
}

실행결과

두자리 정수를 하나 입력해주세요.>22
입력내용: 22
num=22

BufferedReader 클래스

개행문자만 경계로 인식하고 입력받은 데이터가 String으로 고정된다
Scanner보다 속도가 빠르다
예외 처리가 반드시 필요 -> throws IOException

BufferdReader br = new BufferdReader(new InputStreamReader(System.in));
String s = br.readLine();

// int로 사용하고 싶을 때, 형변환 필요
int i = Integer.parseInt(s);

데이터 가공
: 공백 단위로 데이터를 가공하고자 할 때 수행해야하는 작업

  • StringTokenizer
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
  • String.split() 함수
String strArr = s.split(" ");

BufferedWriter 클래스

출력을 할 때 사용. System.out.println()과 비슷하며 많은 양의 출력을 할 때 사용한다

BufferedWriter bw = new BufferdWriter(new OutputStreamWriter(System.out));
String str = "abcd";
bw.write(str);	// 출력
bw.newLine();	// 줄바꿈
bw.flush();		// 남아있는 데이터 모두 출력
bw.close();

📌 형변환(casting)

형변환(casting)이란?

: 변수나 리터럴 타입을 다른 타입으로 변환하는 것

형변환 방법

// (타입)피연산자
double d = 85.4;
int score = (int)d;

자동 형변환

short sh;	// 2byte
sh = 128;

int i; 		// 4byte

i = sh;

강제 형변환

i = 1234;
sh = (short)i;

int number1, number2;
number1 = 3;
number2 = 2;

float f;
f = (float)number1 / number2	// 3.0 / 2
profile
🦋개발 공부 기록🦋

0개의 댓글

관련 채용 정보