본문 바로가기

코드업(CodeUp)/기초 100제

[코드업/자바] 기초 100제 - 정수 1개 입력받아 1 더해 출력하기

1044 : [기초-산술연산] 정수 1개 입력받아 1 더해 출력하기

정수를 1개 입력받아 1만큼 더해 출력해보자.
단, -2147483648 ~ +2147483647 의 범위로 입력된다.

주의
계산되고 난 후의 값의 범위(데이터형)에 주의한다.

참고
어떤 변수(a)에 값을 저장한 후 a+1 의 값을 출력할 수도 있고,
++a 연산을 한 후에 출력할 수도 있다.

++a, --a, a++, a-- 와 같이 어떤 변수의 앞이나 뒤에 붙여
변수에 저장되어있는 값을 1만큼 더하거나 빼주는 연산자를 증감연산자라고 한다.

증감연산자를 변수 앞에 붙이면 그 변수를 사용하기 전에 증감을 먼저 수행하고,
증감연산자를 변수 뒤에 붙이면 일단 변수에 저장되어있는 값을 먼저 사용하고 난 후
나중에 증감을 수행한다.


입력

정수 1개가 입력된다.
단, -2147483648 ~ +2147483647 의 범위로 입력된다.

출력

입력된 정수에 1을 더해 출력한다.


입력 예시

2147483647

출력 예시

2147483648


자바에서는 정수 자료형이 byte, short, int, long이 있다.

jamesyleather.tistory.com/5?category=825101

 

[Java] 다양한 자료형 활용 Variable Example

자료형에는 다양한 형태가 존재한다. 자료형의 종류와 구분 (자료형 / 자료 / 크기 / 설명) boolean / true,false / 1byte / 논리값으로 true와 false 중 하나이며, 주로 조건에서 사용됨 ch..

jamesyleather.tistory.com

 

지금 주어진 범위는 -2147483648 ~ +2147483647이므로 int 자료형 범위랑 같다.

그리고 +1을 해서 출력하면 되므로 증감 연산자 ++a를 사용하면된다.

 

package excercise;
import java.util.*;

public class codeup {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		
		System.out.println(++a);
	}
}

 

하지만 이렇게 작성했을 때는 한 가지 의문점이 생긴다.

 

 

 

위 사진에서도 보이듯이 2147483647을 입력하면 -2147483648이 출력된다.

이건 int 자료형이 표현할 수 있는 범위가 -2147483648 ~ +2147483647 이기 때문이다.

 

그렇다면 이런 부분을 방지하기 위해 int형 보다 더 큰 범위를 표현할 수 있는 자료형이 필요한데 그게 long형이다.

long형은 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 범위를 표현할 수 있다.

그래서 자료형을 long형으로 변경해서 사용하면된다.

 

package excercise;
import java.util.*;

public class codeup {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long a = sc.nextInt();
		
		System.out.println(++a);
	}
}

 

그러면 우리가 원하는 값이 출력되는 것을 볼 수 있다.

728x90
반응형