Java 초급 (46)

반응형

 

연산자 : 연산에 사용되는 표시나 기호

피연산자 : 연산자와 함께 연산되는 데이터

연산식 : 연산 과정 기술

 

 

 

 

연산자

 

피연산자 수에 따라 세 종류의 연산자로 구분된다.

1. 단항 연산자 : 부호, 증감 연산자

2. 이항 연산자 : 산술, 비교, 논리 연산자

3. 삼항 연산자 : 조건 연산자

 

연산자

 

문자열,  부호,  증감,  산술, 비교(관계),  논리, 비트, 대입, 조건(삼항) 연산자가 있다.

 

 

- 연산자 종류

연산자 종류 연산자 기능
문자열 + 두 문자열 연결
부호 +, - 음수와 양수의 부호
증감 ++, -- 1만큼 증가/감소
산술 +, -, *, /, % 사칙연산 및 나머지 계산
비교(관계) ==, !=, >, <, >=, <=, instanceof 값의 비교
논리 !, &, |, &&, || 논리 부정, 논리곱, 논리합
비트 <<, >>, >>> 비트 단위로 논리 연산할 때 사용
대입 =, +=, -=, *=, /=, %= 우변의 값을 좌변의 변수에 대입
조건 (조건식) ? A : B 조건식에 따라 A 또는 B 중 하나 선택

 

 

- 연산의 방향과 우선순위

 

연산의 방향과 우선순위

 

 

 

단항 연산자의 종류

 

1. 부호 연산자

 

+, - 와 같은 부호를 뜻한다.

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class UnaryOperator {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		UnaryOperator obj = new UnaryOperator();
		// 단항 연산자.
		// 1. 부호 연산자
		obj.method1();
	}
	
	public void method1() {
		// 부호 연산자 +, -
		int num = 100;
		int res = - num;
		System.out.println(res);
	}
}

 

 

2. 증감 연산자

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class UnaryOperator {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		UnaryOperator obj = new UnaryOperator();
		// 단항 연산자.
		// 2. 증감 연산자
		obj.method2();
	}
	public void method2() {
		// 증감 연산자
		// ++변수 : 다른 연산을 수행하기 전에 1을 증가 시킴
		// 변수++ : 다른 연산을 수행한 후에 1을 증가 시킴
		// --변수 : 다른 연산을 수행하기 전에 1을 감소 시킴
		// 변수-- : 다른 연산을 수행한 후에 1을 감소 시킴
		
		int val = 10;
		int res = ++val;
//		val += 1;
//		int res = val;
		System.out.println("val = " + val);
		System.out.println("res = " + res);
		
		val = 10;
		res = val++;
//		res = val;
//		val += 1;
		System.out.println("val = " + val);
		System.out.println("res = " + res);
		
		val = 10;
		res = --val;
		System.out.println("val = " + val);
		System.out.println("res = " + res);
		
		val = 10;
		res = val--;
		System.out.println("val = " + val);
		System.out.println("res = " + res);
	}
}

 

결과 화면

 

 

 

이항 연산자의 종류

 

1. 산술 연산자

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class BinaryOperator {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		BinaryOperator obj = new BinaryOperator();
		// 이항연산자 : 대부분의 연산자.
		// 산술 연산자, 관계 연산자, 논리 연산자, 비트 연산자, 대입 연산자
		// 1. 산술 연산자 +-/*%
		obj.method1();
	}
	
	public void method1() {
		// 사칙연산과 마찬가지로 /, * 먼저 적용됨.
		int a = 5;
		int b = 3;
		System.out.println("덧셈\t" + (a + b) );
		System.out.println("뺄셈\t" + (a - b) );
		System.out.println("곱셈\t" + (a * b) );
		System.out.println("나눗셈\t" + (a / b) ); // 정수형 데이터끼리 나눌 시 나머지가 나오지 않음
		System.out.println("나머지\t" + (a % b) );
	}
}

 

결과 화면

 

 

2. 관계 연산자

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class BinaryOperator {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		BinaryOperator obj = new BinaryOperator();
		// 이항연산자 : 대부분의 연산자.
		// 산술 연산자, 관계 연산자, 논리 연산자, 비트 연산자, 대입 연산자
        
		// 2. 관계연산자
		obj.method2();
	}
	
	public void method2() {
		// >, <, ==(같다), >=, <=, !=(같지 않다)
		// 참, 거짓을 나타낼 수 있음
		
//		String grade = "";
//		System.out.println("점수를 입력해주세요.");
//		int score = sc.nextInt(); // int 값을 바로 받음
//		System.out.println("score = "+score);
//		
//		if(score >= 90) { // 조건에 맞으면 아래 코드를 진행
//			System.out.println("A 학점");
//		}
//		else if(score >= 80) {
//			System.out.println("B 학점");
//		}
		
		int a = 10;
		int b = 10;
		int c = 15;
		
		if(a == b) {
			System.out.println("같은 값");
		}
		if(a < c) {
			System.out.println("c 값이 a 보다 크다.");
		}
		if(a <= c) {
			System.out.println("c 값이 a 보다 같거나 크다.");
		}
	}
}

 

결과 화면

 

 

3. 논리 연산자

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class BinaryOperator {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		BinaryOperator obj = new BinaryOperator();
		// 이항연산자 : 대부분의 연산자.
		// 산술 연산자, 관계 연산자, 논리 연산자, 비트 연산자, 대입 연산자
        
		// 3. 논리연산자
		obj.method3();
		
		// 3. 논리연산자2
		obj.method4();
	}
	public void method3() {
		// 논리 연산자 : &&, ||, !
		
		// A&&B A,B 둘다 참이여야 참 (= 곱연산)
		// A 1 -> 1 | 0 -> 0 | 1 -> 0 | 0 -> 0 
		// B 1      | 1      | 0      | 0
		
		// A||B A,B 둘 중 하나라도 참이면 참 (= 합연산)
		// A 1 -> 1 | 0 -> 1 | 1 -> 1 | 0 -> 0 
		// B 1      | 1      | 0      | 0		
		
		boolean a = true;
		boolean b = false;
		System.out.println(a&&!b);
		System.out.println(a||b);
	}
	
	public void method4() {
		// 논리 연산자.
		// & | ^ ~
		/*
		 *      &(and)
		 * 45 = 00101101
		 * 25 = 00011001
		 * 	00001001 => 9
		 * 
		 *       |(or)
		 * 45 = 00101101
		 * 25 = 00011001
		 * 	00111101 => 61
		 * 
		 *       ^(xor)
		 * 45 = 00101101
		 * 25 = 00011001
		 * 	00110100 => 52
		 * 
		 *       ~(not)
		 * 45 = 00101101
		 * 	11010010 => 52
		 */
		int a = 45;
		int b = 25;
		System.out.println(a&b);
		System.out.println(a|b);
		System.out.println(a^b);
		System.out.println(~a);
	}
}

 

결과 화면

 

 

4. 비트 연산자

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class BinaryOperator {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		BinaryOperator obj = new BinaryOperator();
		// 이항연산자 : 대부분의 연산자.
		// 산술 연산자, 관계 연산자, 논리 연산자, 비트 연산자, 대입 연산자
		
		// 4. 비트연산자
		obj.method5();
	}
    
	public void method5() {
		// 비트 연산자
		// shift operator
		// >> << >>>
		// 숫자 >> 정수  => 숫자를 정수만큼 오른쪽으로 평행이동
		//		=> 숫자를 2^정수로 나눈 몫이 됨.
		// 가장 속도가 빠름.
		
		int i1 = 12;
		System.out.println(i1 >> 2);
		System.out.println(i1 << 2);
	}
}

 

결과 화면

 

 

5. 대입 연산자

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class BinaryOperator {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		BinaryOperator obj = new BinaryOperator();
		// 이항연산자 : 대부분의 연산자.
		// 산술 연산자, 관계 연산자, 논리 연산자, 비트 연산자, 대입 연산자
        
		// 5. 대입연산자
		obj.method6();
	}
	
	public void method6() {
		// = : '=' 오른쪽 값을 '=' 왼쪽에 저장 우선 순위가 가장 놎다.
		// '=' 과 다른 연산자와 결합
		// a = a + b -> a+=b;
		// a = a - b -> a-=b;
		// a = a * b -> a*=b;
		// a = a / b -> a/=b;
		// a = a % b -> a%=b;
		
		int a = 10;
		int b = 4;
		System.out.println("a=a+b -> a+=b : " + (a+=b));
		System.out.println("a=a-b -> a-=b : " + (a-=b));
		System.out.println("a=a/b -> a/=b : " + (a/=b));
		System.out.println("a=a*b -> a*=b : " + (a*=b));
		System.out.println("a=a%b -> a%=b : " + (a%=b));
	}
}

 

결과 화면

 

 

 

삼항 연산자의 종류

 

삼항 연산자란 3개의 피연산자를 필요로 하는 연산을 말한다.

(조건식) ? A : B 로 구성된다.

A는 조건식이 참일 때 진행되며

B는 조건식이 거짓일 때 진행된다.

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class TrinomialOperator {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		TrinomialOperator obj = new TrinomialOperator();
	}
	
	public void method1() {
		/*
		 * 삼항연산자 : 3개의 피연산자를 필요로 하는 연산
		 * 			삼항연산자는 ? 앞의 조건식의 결과에 따라 콜론 앞뒤의
		 * 			피연산자가 선택 조건 연산식이라고도 함.
		 * 조건식 ? 참일 때의 값 : 거짓일 때의 값
		 */
		String str = true ? "참" : "거짓";
		System.out.println(str);
	}
}

 

 

- 응용 문제 1

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class TrinomialOperator {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		TrinomialOperator obj = new TrinomialOperator();
		obj.method2();
	}
    
	public void method2() {
		/*
		 * 숫자를 1 입력 받으면 더하기
		 * 		 나머지 숫자를 입력 받으면 곱하기
		 */
		int a = 10;
		int b = 7;
		
		int select = sc.nextInt();
		int result = (select == 1) ? a+b : a*b;
		System.out.println(result);
	}
}

 

1을 입력했을 때

 

2를 입력했을 때

 

 

- 응용 문제 2

 

package kr.or.ddit.study03;

import java.util.Scanner;

public class TrinomialOperator {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		TrinomialOperator obj = new TrinomialOperator();
		obj.method3();
	}
    
	public void method3() {
		/*
		 * 나이를 입력 받아서
		 * 18세 이상이면 성년 아닐 경우 미성년을 출력 할 것.
		 */
		System.out.print("나이 : ");
		int age = sc.nextInt();
		String result = (age >= 18) ? "성년" : "미성년";
		System.out.println(result + "입니다.");
	}
}

 

결과 화면

 

반응형

'자바' 카테고리의 다른 글

[Java 초급] 5.5.2장 테스트2  (2) 2023.12.07
[Java 초급] 5.5.1장 테스트  (0) 2023.12.06
[Java 초급] 4.5장 테스트  (2) 2023.12.06
[Java 초급] 4장 Scanner 이용과 타입 변환  (0) 2023.12.05
[Java 초급] 3.5장 테스트  (0) 2023.12.05
반응형

 

문제

 

1. 스캐너를 통해서 문자 (실수)를 입력 받고, 소수점 2째 자리에서 버리시오.
ex) 12.23123 - > 12.23

2. 스캐너를 통해서 대문자를 입력 받고 소문자로 변환하시오.
ex) A -> a

3. 스캐너를 통해서 소문자를 입력 받고 대문자로 변환하시오.
ex) a -> A

4. 스캐너를 통해서 숫자 3자리를 입력 받고 각 자리수의 합을 구하시오.
ex) 123 -> 1+2+3

5. 스캐너를 통해서 문자(실수)를 입력 받고 소수점 2째 짜리에서 반올림하시오.
ex) 12.23623 -> 12.2

 

 

 

1번 문제

 

package kr.or.ddit.homework;

import java.util.Scanner;

public class HomeWork2 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		HomeWork2 obj = new HomeWork2();
		obj.method1();
	}
	
	public void method1() {
		/*
		 * 스캐너를 통해서 문자 (실수)를 입력 받고,
		 * 소수점 2째 자리에서 버림
		 * ex ) 12.23123 - > 12.23
		 */
		System.out.println("실수형 문자를 입력하시오.");
		String num = sc.nextLine();
		
		double n1 = Double.valueOf(num); // 문자열을 실수형으로 변경
		int n2 = (int)(n1*100); // 소수점 2째 자리 이하 모두 버림
		n1 = n2/100.0; // 다시 소수점으로 변경
		
		System.out.println("소수점 2째 자리에서 버린 값은 " + n1 + "입니다.");
	}
}

 

 

 

2번 문제

 

package kr.or.ddit.homework;

import java.util.Scanner;

public class HomeWork2 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		HomeWork2 obj = new HomeWork2();
		obj.method2();
	}
	public void method2() {
		/*
		 * 스캐너를 통해서 대문자를 입력 받고 소문자로 변환
		 * ex) A -> a
		 */
		System.out.println("대문자를 입력하시요.");
		String eng1 = sc.nextLine();
		char eng2 = eng1.charAt(0);
		eng2 = (char)(eng2 + 32);
		System.out.println(eng1 + "의 소문자는 " + eng2 + "입니다.");
	}
}

 

 

 

3번 문제

 

package kr.or.ddit.homework;

import java.util.Scanner;

public class HomeWork2 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		HomeWork2 obj = new HomeWork2();
		obj.method3();
	}
    
	public void method3() {
		/*
		 * 스캐너를 통해서 소문자를 입력 받고 대문자로 변환
		 * ex ) a -> A
		 */
		System.out.println("소문자를 입력하시요.");
		String eng1 = sc.nextLine();
		char eng2 = eng1.charAt(0);
		eng2 = (char)(eng2 - 32);
		System.out.println(eng1 + "의 대문자는 " + eng2 + "입니다.");
	}
}

 

 

 

4번 문제

 

package kr.or.ddit.homework;

import java.util.Scanner;

public class HomeWork2 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		HomeWork2 obj = new HomeWork2();
		obj.method4();
	}
	
	public void method4() {
		/* 
		 * 스캐너를 통해서 숫자 3자리를 입력 받고 각 자리수의 합을 구하시오
		 * ex ) 123 -> 1+2+3
		 */
         
		System.out.println("숫자 3자리를 입력하시오.");
		String s = sc.nextLine();

		String s1 = "" + s.charAt(0);
		String s2 = "" + s.charAt(1);
		String s3 = "" + s.charAt(2);
		
		int i1 = Integer.valueOf(s1);
		int i2 = Integer.valueOf(s2);
		int i3 = Integer.valueOf(s3);
		System.out.println(i1 + i2 + i3);
	}
}

 

 

 

5번 문제

 

package kr.or.ddit.homework;

import java.util.Scanner;

public class HomeWork2 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		HomeWork2 obj = new HomeWork2();
		obj.method5();
	}
	
	public void method5() {
		/*
		 * 스캐너를 통해서 문자(실수)를 입력 받고.
		 * 소수점 2째 짜리에서 반올림
		 * ex ) 12.23623 -> 12.2
		 */
		System.out.println("문자(실수)를 입력하시오.");
		String number = sc.nextLine();
        
		double num = Double.valueOf(number);
		num = num + 0.05;
		int n = (int)(num*10);
		num = n / 10.0;
		
		System.out.println("반올림한 값은 " + num + "입니다.");
	}
}

 

반응형
반응형

 

Scanner 사용

 

Class 안에 하단의 코드를 기입해야만 Scanner을 사용할 수 있다.

 

Scanner 이름 = new Scanner(System.in);  // System.in 은 키보드로 입력 받는다는 뜻
// ctrl + shift + o로 인해 위에 import 함.

String 변수명 = 이름.nextLine(); // 데이터를 입력 받음
String 변수명 = 이름.next();
int 변수명 = 이름.nextInt();

 

package kr.or.ddit.study02.sec03;

import java.util.Scanner;


public class CastExample01 {
	Scanner sc = new Scanner(System.in);
	
	public static void main(String[] args) {
		CastExample01 obj = new CastExample01();
		obj.method1();
	}
	
	public void method1() {
		String str = sc.nextLine(); // 데이터를 입력 받음
		System.out.println("키보드로 입력 받은 값은 : " + str);
		
		/*
		 * 문자열 -> 문자
		 * String -> char
		 */
		char ch = str.charAt(0); // 0이 첫번째 문자열을 뜻함, 두번째 문자열로 변경 후 한 글자만 입력 시 오류.
		System.out.println("키보드로 입력 받은 첫번째 문자는 : " + ch);
	}
}

 

결과 화면

 

 

 

타입 변환

 

- 자동 타입 변환

: 작은 타입이 큰 타입으로 저장되는 경우 발생한다.

 

타입 변환

 

· 범위

byte < short < int < long < float < double

 

 

- 강제 타입 변환

: 큰 타입을 강제로 작은 타입으로 나누어 저장하는 경우 발생한다.

Wrapper class를 이용하여 변환할 수 있다.

 

변환 방법

변환 타입 사용 예
String -> byte String str = "10" ;
byte value = new Byte(str).byteValue ;
// byte value = Byte.parseByte(str) ;
// byte value = Byte.valueOf(str) ;
String -> short String str = "200" ;
short value = new Short(str).shortValue ;
// short value = Short.parseShort(str) ;
// short value = Short.valueOf(str) ;
String -> int String str = "300000000" ;
int value = new integer(str).intValue ;
// int value = Integer.parseInt(str) ;
// int value = Integer.valueOf(str) ;
String -> long String str = "4000000000000" ;
long value = new Long(str).longValue ;
// long value = Long.parseLong(str) ;
// long value = Long.valueOf(str) ;
String -> float String str = "12.345" ;
float value = new Float(str).floatValue ;
// float value = Float.parseFloat(str) ;
// float value = Float.valueOf(str) ;
String -> double String str = "12.345" ;
double value = new Double(str).doubleValue ;
// double value = Double.parseDouble(str) ;
// double value = Double.valueOf(str) ;
String -> boolean String str = "true" ;
boolean value = new Boolean(str).booleanValue ;
// boolean value = Boolean.parseBoolean(str) ;
// boolean value = Boolean.valueOf(str) ;

 

 

 

자동 타입 변환 예시

 

int -> double 변환

 

int 변수명1 = 90;
double 변수명2 = 변수명1 / 3.0; // int 타입 / int 타입의 경우 int 타입이기에 double로 변환되지 않음
// 그렇기에 3.0 또는 앞에 (double)로 실수 타입으로 변환해주어야 함.

 

package kr.or.ddit.study02.sec03;

public class CastExample02 {
	public static void main(String[] args) {
		CastExample02 obj = new CastExample02();
		obj.method1();
	}
	
	public void method1() {
		/*
		 * int type 
		 * 국어 영어 수학
		 * 점수 입력 해보기
		 */
		int kor = 90;
		int eng = 77;
		int math = 84;
		
		/*
		 * int sum 에 변수 저장해보기
		 */
		int sum = kor + eng + math;
		
		System.out.println("국어: " + kor);
		System.out.println("영어: " + eng);
		System.out.println("수학: " + math);
		
		System.out.println("총점: " + sum);
		
//		double avg = (double)sum / 3;
		double avg = sum / 3.0;
//		double avg = sum / 3; // int 나누기 int로 하여서 double로 바꿔줘야 함
		
		System.out.println("평균: " + avg);
	}
}

 

 

 

강제 타입 변환 예시

 

1. String -> char 변환

.charAt(몇번째 문자열인지)

 

// Scanner 사용
Scanner 명칭 = new Scanner(System.in);
String 변수명1 = 명칭.nextLine(); // 데이터를 입력 받음

// 기존 String을 char로 변환
char 변수명2 = 변수명1.charAt(0); // 0은 몇번째 문자열인지를 뜻한다.
// 프로그램은 0번째부터 존재하기에 0이 곧 처음을 이야기한다.

 

 

2. String -> int 변환

변환하지 않을 시 10 + 10이 1010으로 출력된다.

 

// Scanner 사용
Scanner 명칭 = new Scanner(System.in);
String 변수명1 = 명칭.nextLine(); // 데이터를 입력 받음

// 기존 String을 int로 변환
int 변수명2 = Integer.parseInt(변수명1); // 하단의 2가지를 대신 사용해도 된다.
// int 변수명2 = Integer.valueOf(변수명1);
// int 변수명3 = new Integer(변수명1).intValue();

 

package kr.or.ddit.study02.sec03;

import java.util.Scanner;

public class CastExample03 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		CastExample03 obj = new CastExample03();
		obj.method1();
	}
	
	public void method1() {
		String str = sc.nextLine();
		System.out.println("입력 받은 문자열은 : " + str);
		String str2 = str + 10;
		System.out.println("문자열에 10을 더한 값은 : " + str2);
		
		// 숫자로 바꿀 때
		int num = Integer.parseInt(str); // 문자열 String타입의 숫자를 int타입으로 변환해줌
		num = num + 10;
		System.out.println("숫자로 변환 후 10을 더한 값은 : " + num);
	}
}

 

결과 화면

 

 

3. String -> double 변환

 

// Scanner 사용
Scanner 명칭 = new Scanner(System.in);
String 변수명1 = 명칭.nextLine(); // 데이터를 입력 받음

// 기존 String을 double로 변환
double 변수명2 = Double.parseDouble(변수명1); // 하단의 2가지를 대신 사용해도 된다.
// double 변수명2 = Double.valueOf(변수명1);
// double 변수명2 = new Double(변수명1).doubleValue();

 

package kr.or.ddit.study02.sec03;

import java.util.Scanner;

public class CastExample03 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		CastExample03 obj = new CastExample03();
		obj.method4();
	}
	
	public void method4() {
		/*
		 * 키보드로 문자(double 형 데이터) 데이터를 입력받고
		 * 나누기 3 한 값을 출력 해보기.
		 */
		System.out.println("실수형 숫자를 입력하시오.");
		String str = sc.nextLine();
				
		double d1 = Double.valueOf(str);
		double result = d1/3;
		System.out.println("3으로 나눈 값은 : " + result);
	}
}

 

 

 

출력 메소드

 

아래와 같은 형식으로 쓰인다.

 

System.out.출력메소드 ;

 

1. println() 메소드

: 괄호 안의 내용 출력 후 행 바꿈

 

2. print() 메소드

: 괄호 안의 내용 출력

 

3. printf("형식문자열", 값1, 값2) 메소드

: 괄호 안의 첫번째 문자열 형식대로 내용 출력

 

 

- 형식문자열

 

형식 문자열의 종류

 

 

package kr.or.ddit.study02.sec04;

public class PrintExample {
	public static void main(String[] args) {
		// System.out.print() -- 줄바꿈 없음
		System.out.print("홍길동 ");
		System.out.print(" 34061 ");
		System.out.print(" 대전시 중구 계룡로 ");
		System.out.println();
		
		// System.out.println() -- 줄바꿈.
		// 단축키 syso
		System.out.println("홍길동 ");
		System.out.println("34061");
		System.out.println("대전시 중구 계룡로");
		
		// System.out.printf("형식지정문자열", 변수 리스트)
		// "형식 지정문자열"
		// "%[[-0]n]d 10진 정수
		// - : 왼쪽 정렬
		// 0 : 남은 왼쪽 빈공간에 0 채움
		System.out.printf("숫자 : %d 입니다.\n", 10000);
		System.out.printf("숫자 : %8d 입니다.\n", 10000);
		System.out.printf("숫자 : %-8d 입니다.\n", 10000);
		System.out.printf("숫자 : %08d 입니다.\n", 10000);
	}
}

 

결과 화면

 

 

 

+ System.in.read() 메소드

: 키보드에서 입력된 키보드를 읽는 메소드.

2개 이상 키가 조합된 한글을 읽을 수 없다.

=> Scanner로 문제를 해결했다.

 

반응형
1 ··· 11 12 13 14 15 16