Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 게시글 목록 api
- 자바 기본편 - 다형성
- jpa 활용2 - api 개발 고급
- 2024 정보처리기사 시나공 필기
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch6
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch11
- 스프링 db2 - 데이터 접근 기술
- 스프링 mvc1 - 서블릿
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch2
- 스프링 입문(무료)
- 스프링 고급 - 스프링 aop
- 스프링 db1 - 스프링과 문제 해결
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch5
- 스프링 mvc2 - 타임리프
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch3
- @Aspect
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch14
Archives
- Today
- Total
나구리의 개발공부기록
자바의 정석 기초편 ch2 - 14 ~ 16 [scanner(화면에서입력받기),정수형의오버플로우] 본문
유튜브 공부/JAVA의 정석 기초편(유튜브)
자바의 정석 기초편 ch2 - 14 ~ 16 [scanner(화면에서입력받기),정수형의오버플로우]
소소한나구리 2023. 11. 2. 17:411) Scanner
(1) 화면으로부터 데이터를 입력받는 기능을 제공하는 클래스
- import문 추가
- import java.util.*;
- Scanner객체의 생성
- Scanner scanner = new Scanner(System.in);
- System.in : 화면입력
- Scanner객체를 사용
- int num = scanner.nextInt();
- 화면에서 입력받은 정수를 num에 저장
- 실수로 저장할 경우 nextFloat()
- 라인으로 입력 받기
- String input = scanner.nextLine(); // 화면에서 입력받은 내용을 input에 저장 (nextLine = 한행)
- int num = Integer.parseInt(input); // 문자열(input)을 숫자(num)로 변환
- 위의 두 문장은 맨위의 int num = scanner.nextInt();와 같음
- 한 라인에 여러가지 값을 입력 받는 경우 nextLine으로 읽어 온 후 값을 나눠서 처리해야할 경우가 있어 상황에 따라 응용.
(2) 숫자 < - > 문자열 변환 방법
- 숫자 -> 문자열 = 숫자 + ""
- 문자열 -> 숫자 = Integer.parseInt(input)
(3) 실습
import java.util.Scanner;
// 1. import문 입력, impotr java.util.*; 이라고 해도 됨
public class ScanfEx1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 2. Scanner클래스의 객체 생성
int num = scanner.nextInt();
int num2 = scanner.nextInt();
System.out.println(num); // 화면에 입력된 값을 출력
System.out.println(num2); // 연속적으로 화면에 입력된 값을 출력
String input = scanner.nextLine(); // 라인단위로 입력
// 값이 여러개 있거나 숫자나 문자열 실수 등이 섞여있을 때 사용
int num3 = Integer.parseInt(input); // 문자열을 int타입으로 변환
System.out.println(num3);
}
}
2) 정수형의 오버플로우
(1) 오버플로우 : 표현할 수 있는 범위를 넘어선 경우
- 최대값 + 1 = 최소값
- 최소값 - 1 = 최대값
10진수 2진수
부호없는 정수 부호 있는 정수
예제
class Ex2_11 {
public static void main(String[] args) {
short sMin = -32768, sMax = 32767;
char cMin = 0, cMax = 65535;
System.out.println("sMin = " + sMin);
System.out.println("sMin-1= " + (short)(sMin-1));
System.out.println("sMax = " + sMax);
System.out.println("sMax+1= " + (short)(sMax+1));
System.out.println("cMin = " + (int)cMin);
System.out.println("cMin-1= " + (int)--cMin);
System.out.println("cMax = " + (int)cMax);
System.out.println("cMax+1= " + (int)++cMax);
}
}
결과
sMin = -32768
sMin-1= 32767
sMax = 32767
sMax+1= -32768
cMin =0
cMin-1= 65535
cMax = 65535
cMax+1= 0
(2) 부호있는 정수와 부호없는 정수의 범위
- n bit 의 표현할 수 있는 값의 범위
- 부호가 없는 경우: 0 ~ 2^n -1
- 부호가 있는 경우: -2^(n-1) ~ 2^(n-1) -1
10진수
- 0 ~ 9 = 0 ~ 10-1
- 0 ~ 99 = 0 ~ 100-1 = 0 ~ 10^2 -1
- 0 ~ 999 = 0 ~ 100-1 = 0 ~ 10^3-1
- 0 ~ 9999 = 0 ~ 1000-1 = 0 ~ 10^4-1
2진수
- 0 ~ 1 = 0 ~ 2-1
- 0 ~ 11 = 0 ~ 3 = 0 ~ 2^-1
- 0 ~ 111 = 0 ~ 7 = 0 ~ 2^3-1
- 0 ~ 1111 = 0 ~ 15 = 0 ~ 2^4-1
** 출처 : 남궁성의 정석코딩_자바의정석_기초편 유튜브 강의
'유튜브 공부 > JAVA의 정석 기초편(유튜브)' 카테고리의 다른 글
자바의 정석 기초편 ch3 - 5 ~ 8[증감연산자, 부호연산자, 형변환 연산자, 자동 형변환] (0) | 2023.11.05 |
---|---|
자바의 정석 기초편 ch2 - 17, ch3 - 1 ~ 4[타입간의 변환방법, 연산자와 피연산자, 연산자의 우선순위와 결합수칙] (0) | 2023.11.05 |
자바의 정석 기초편 ch2 - 12 ~ 13 [printf를 이용한 출력] (0) | 2023.11.02 |
자바의 정석 기초편 ch2 - 10 ~11 [기본형과 참조형, 기본형의 종류와 범위] (1) | 2023.11.02 |
자바의 정석 기초편 ch2 - 7 ~ 9 [문자,문자열 리터럴, 문자열 결합,두 변수의 값 교환] (0) | 2023.11.01 |