JAVA/Java Study25 [Java] 진수 변환 쉽게하기 (10진수 ↔ 2진수, 8진수, 16진수) 10진수를 2진수, 8진수, 16진수로 변환할 때, Integer 클래스의 함수를 사용하면 쉽게 변환 가능하다. 각각 toBinaryString, toOctalString, toHexString 함수를 사용하면 된다. int i = 127; String binaryString = Integer.toBinaryString(i); //2진수 String octalString = Integer.toOctalString(i); //8진수 String hexString = Integer.toHexString(i); //16진수 System.out.println(binaryString); //1111111 System.out.println(octalString); //177 System.out.println(hex.. 2024. 1. 28. [Java] 정수 제곱근 판별 제곱근이 1로 나누어 떨어진다. → 제곱근이 자연수다! Math.sqrt(n) % 1 == 0 참고로 Math.sqrt()은 제곱근(루트)을 구하는 함수이다. public class Sqrt { public static void main(String[] args) { double result = Math.sqrt(25); // 25의 제곱근 = 5 System.out.println("25의 제곱근 : "+ result); } } 동기분이 알려주신 다른 방법! double num1 = Math.sqrt(6); if (num1 - (int)num1 > 0) { System.out.println("무리수"); } 참고 [Java] 자바 제곱근(루트) 구하기 Math.sqrt() 자바에서 특정값의 제곱근(루트).. 2024. 1. 28. [Java] HashMap Map 키와 값으로 구성된 Entry 객체를 저장하는 구조를 가지고 있는 자료구조 키와 값은 모두 객체 값은 중복 저장될 수 있지만, 키는 중복 저장 불가 만약 기존의 키와 동일한 키로 값을 저장하면 기존의 값에서 새로운 값으로 대치됨 HashMap Map 인터페이스를 구현한 대표적인 Map 컬렉션 Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있음 이름 그대로 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어 성능이 뛰어남 HashMap은 해시 함수를 통해 '키'와 '값'이 저장되는 위치를 결정하므로, 사용자는 그 위치를 알 수 없다. 또, 삽입되는 순서와 들어있는 위치 또한 관계가 없다. HashMap 선언 HashMap map1 = new HashMap.. 2024. 1. 15. [Java] 자바 난수(랜덤 숫자) 생성 : Math, Random 자바에서 난수를 생성하는 방법은 Math 클래스를 활용하는 방법과 Random 클래스를 활용하는 방법 두 가지가 있다. 두 방법의 차이점은 Math.random() 메소드는 0.0에서 1.0 사이의 double 난수를 얻는데 사용하지만, Random 클래스는 boolean, int, long, float, double 난수를 얻을 수 있다는 점이다. 또, Math.random()은 종자값(seed)가 현재시간으로 고정인 반면, Random 클래스는 종자값(seed)를 설정할 수 있다. 종자값 : 난수를 만드는 알고리즘에 사용되는 값, 종자값이 같으면 같은 난수를 얻는다. Math.random() public class RandomExample { public static void main(String[].. 2024. 1. 15. [Java] 아스키 코드 아스키코드 (ASCII) 아스키코드는 American Standard Code for Information Interchange의 약자로서 ASCII라고 불린다. 또한 ANSI에서 만든 표준 코드체계이다 아스키는 각 문자를 7비트로 표현하므로 2^7 = 128개의 문자를 표현할 수 있다. 하단 표를 보면 0~127까지 각각의 숫자에 대응되는 값들이 표현되어 있다. 컴퓨터는 문자를 문자로 기억하지 않는다. 그 대신 숫자로 기억하고 표현한다. 예를 들면 문자 'A'는 65로, 'B'는 66으로 표현한다. 아스키 코드에는 인쇄가 불가능한 33개의 제어문자 코드와 95개의 인쇄가 가능한 문자 코드가 있다. 제어 문자 코드는 0부터 31까지 차지하며, 스페이스 문자부터 인쇄가 가능한 코드이다. 스페이스 문자는 3.. 2024. 1. 11. [Java] StringBuffer 개념과 사용법 String 클래스는 immutable(불변) 불변성을 가졌기 때문에 String 객체를 변경 시, 실제로 변경되는 것이 아닌 새로운 String 객체를 생성한다. 즉, 지정된 문자열을 변경할 수 없다. 반면 StringBuffer 클래스는 mutable(가변) 가변성을 가져, 동일산 객체 내에서 문자열 변경이 가능하다. StringBuffer/StringBuilder 클래스의 차이점 StringBuffer는 멀티쓰레드에 안전하도록 동기화되어 있다. 그래서 멀티쓰레드로 작성된 프로그램이 아닌 경우, StringBuffer의 동기화는 불필요하게 성능만 떨어트리게 된다. 그래서 StringBuffer에서 쓰레드의 동기화만 뺀 StringBuilder가 추가되었다. StringBuilder는 StringBuf.. 2024. 1. 11. 이전 1 2 3 4 5 다음