[Java] Integer Overflow(정수형 오버플로우)
·
Language/JAVA
Integer Overflow란?정수형 오버플로우란 변수를 선언할 때 큰 값을 할당하여 int 범위에서 벗어나는 상황을 말한다. 1️⃣ int 타입Java에서 int 타입은 32비트를 사용한다. 즉, int형을 사용하면 -2³¹(-2,147,483,648) ~ 2³¹ - 1(2,147,483,647) 사이의 값을 할당할 수 있다. 2️⃣ 예시int value = Integer.MAX_VALUE - 1; // 2,147,483,646for (int i = 0; i  래퍼 클래스 Integer는 위의 값을 보유하는 Integer.MAX_VALUE 를 정의한다.위의 코드를 실행하면 아래와 같이 출력된다. 21474836462147483647-2147483648-2147483647 value 값이 1씩 증가하면..
[Java] Scanner vs BufferedReader
·
Language/JAVA
☕️ 들어가며백준 15552번 문제를 풀다가 왜 Scanner를 사용하면 시간 초과가 나게 되는 것일까? 에 대한 의문이 들어 Scanner와 BufferedReader에 대해 정리해보려고 한다. Scanner란?Scanner 클래스는 입력 스트림을 통해 데이터를 입력 받게 된다. 즉, Scanner 자체는 입력 스트림도 아니고, 보조 스트림도 아니다.입력 받은 문자는 입력 메소드의 타입에 맞게 정규식을 검사를 진행한 뒤, 타입에 맞게 반환한다.java.util 패키지에서 제공하는 클래스로 사용하려면 해당 패키지를 import 해야 한다. 아래와 같이 사용할 수 있다. nextInt() 메소드를 통해 int 타입 즉, 정수를 입력 받고 해당 정수를 반환했다. import java.util.Scanner;..
[Java] EOF (End Of File)
·
Language/JAVA
EOF란?End Of File, 즉 파일의 끝으로, 더 이상 읽을 수 있는 데이터가 존재하지 않는 것를 말한다.이를 처리하는 방법은 입력의 종류에 따라 있으며, 그 중 Scanner와 BufferedReader의 처리 방법에 대해 설명할 것이다. 1️⃣ Scanner 사용아래와 같이 int 타입을 받을 때, hasNextInt() 메소드를 사용해서 처리할 수 있다.import java.util.Scanner;public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); while (sc.hasNextInt()) { System.out.print..
[JAVA] JDK 삭제하기
·
Language/JAVA
☕️ 들어가며Apple M2 를 사용하므로 JDK를 설치할 때 arm으로 설치했어야 했는데, 맨 처음에 설치할 때 arm이 아닌 다른 것으로 잘못 설치한 적이 있다.혹시 모를 오류가 생기기 전에 잘못 설치한 버전을 삭제하려고 한다. 1. 설치된 버전 확인우선 터미널을 켜고 아래의 명령어를 입력해서 설치되어 있는 자바 버전을 확인한다./usr/libexec/java_home -V이 중에서 11.0.11 (x86_64) 로 잘못 설치한 버전을 삭제하려고 한다. 2. 해당 버전 삭제먼저, 아래 명령어를 통해 해당 디렉토리로 이동한다.cd /Library/Java/JavaVirtualMachines/해당 디렉토리로 이동 후 ls 명령어를 통해 지워야 할 jdk 항목을 확인한다.ls 설치되어 있는 jdk 버전을 ..