정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295이다.)
참고
-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는
int 형으로 변수를 선언하면 된다.(int로 선언하고 % d로 받고 출력)
하지만 이 범위를 넘어가는 정수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.
실수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 실수의 범위는 +- 1.710-308 ~ +- 1.710308이다.) 308이다.)
참고
float 데이터형을 사용하면 +- 3.410-38 ~ +- 3.41038 범위의 실수를 저장할 수 있다.
(float로 선언하고 % f로 입력받아 출력하면 된다.)
이 범위를 넘어가는(더 작거나 더 큰) 실수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.
double은 더 정확하게 저장할 수 있지만, float보다 2배의 저장 공간이 필요하다.
정수 1개를 입력받아 그대로 출력해보자. 단, 입력되는 정수의 범위는 -9,223,372,036,854,775,808 ~
+9,223,372,036,854,775,807이다.
10진수를 입력받아 8진수(octal)로 출력해보자.
참고
%d(10진수 형태)로 입력받고,
%o를 사용해 출력하면 8진수(octal)로 출력된다.
10진 정수 입력받아 16진수로 출력하기1(설명)
참고
%d(10진수 형태)로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
10진 정수 입력받아 16진수로 출력하기2(설명)
참고
%d(10진수 형태)로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
8진 정수 1개 입력받아 10진수로 출력하기(설명)
참고
%o로 입력받으면 8진수로 인식시켜 저장시킬 수 있다.
%d로 출력하면 10진수로 출력된다.
16진수로 입력된 정수 1개를 8진수로 바꾸어 출력해보자.
%x(영문자 소문자) 나 %X(영문자 대문자)로 입력 받으면
16진수로 인식시켜 저장시킬 수 있다. %o로 출력하면 8진수로 출력된다.
package codeup;
import java.util.Scanner;
public class c1035 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("8진수로 변환할 16진수 입력: ");
int num = sc.nextInt(16); // 8진수 정수 입력
sc.close();
System.out.printf("%o", num);
}
}
영문자 1개를 입력받아 아스키 코드표의 10진수 값으로 출력해보자.
참고
아스키 코드는
(ASCII, 미국표준코드, American Standard Code for Information Interchange)
영문자, 특수 문자 등을 저장할 때 사용하는 표준 코드이다.
package codeup;
import java.util.Scanner;
public class c1036 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("문자 입력: ");
char c = sc.nextLine().charAt(0); //문자 하나 입력
sc.close();
System.out.printf((int)c);
}
}
10진 정수 1개를 입력받아 아스키 문자로 출력해보자.
package codeup;
import java.util.Scanner;
public class c1037 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("정수 입력: ");
int num = sc.nextInt();
sc.close();
System.out.printf((char)num);
}
}
💡 1038.
정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자.
(단, 입력되는 정수는 -1073741824 ~ 1073741824 이다.)
2개의 정수가 공백으로 구분되어 입력된다.
** 주의 : 계산의 결과가 int 범위를 넘어가는지를 잘 생각해 보아야 한다.
package codeup;
import java.util.Scanner;
public class c1038 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in); // Scanner 객체 생성
// 범위 : -1073741824 ~ 1073741824
System.out.print("첫번째 정수 입력: ");
long num1 = sc.nextLong();
long num2 = 0;
if( num1 < -1073741824 || num1 > 1073741824 ) { // num1이 범위 밖
System.out.println("범위 안의 정수를 입력해주세요.");
}else{ // num1이 범위 내
System.out.print("두번째 정수 입력: ");
num2 = sc.nextLong();
if( num2 < -1073741824 || num2 > 1073741824 ) { // num2이 범위 밖
System.out.println("범위 안의 정수를 입력해주세요.");
}else{
sc.close();
long sum = num1 + num2;
System.out.println(sum);
}
}
}
}
어메이징