Java 204

110. 수학 계산을 간단하게! – Math 클래스 활용하기

이번 글에서는 자바의 Math 클래스에 포함된 유용한 수학 함수들을 사용해소수점 처리, 최대값·최소값 비교, 반올림 계산 등을 실습합니다.수학적 계산이 필요한 거의 모든 상황에서 Math 클래스는 매우 강력한 도구입니다.📌 예제 코드public class MathExample { public static void main(String[] args) { System.out.println("v1 : " + Math.ceil(5.3)); // 올림 → 6.0 System.out.println("v2 : " + Math.floor(5.3)); // 내림 → 5.0 System.out.printl..

Java/자바 정리 2025.05.14

109. 문자열을 더 빠르게 다루자 – StringBuilder로 조작하기

이번 글에서는 문자열을 동적으로 조작할 때 성능이 좋은 StringBuilder 클래스를 사용해문자열을 생성하고, 중간에 삽입하고, 일부를 삭제하는 기능까지 실습합니다.문자열을 반복적으로 변경해야 할 경우, + 연산 대신 StringBuilder를 사용하는 것이 훨씬 효율적입니다.📌 예제 코드public class StringBuilderExample { public static void main(String[] args) { String data = new StringBuilder() .append("DEF") // "DEF" 추가 → "DEF" .insert(0, "ABC") // 0번째에 "ABC" 삽입 → "AB..

Java/자바 정리 2025.05.14

108. 시스템 정보 한눈에 확인 – System.getProperty()와 getProperties()

이번 글에서는 System.getProperty()와 System.getProperties()를 사용해운영체제, 사용자 이름, 홈 디렉토리 등 시스템의 주요 정보를 출력하는 방법을 배워봅니다.또한 모든 시스템 속성을 반복문으로 한 번에 출력하는 기능도 실습합니다.📌 예제 코드import java.util.Properties;import java.util.Set;public class GetPropertyExample { public static void main(String[] args) { // 자주 사용되는 시스템 속성 조회 String osName = System.getProperty("os.name"); String userName = System.ge..

Java/자바 정리 2025.05.14

[ 간단 비교 107+ ] currentTimeMillis vs nanoTime

🕓 1. System.currentTimeMillis()📌 뜻현재 시간을 1970년 1월 1일 0시(UTC)부터 경과한 밀리초(ms) 단위로 반환합니다.흔히 말하는 "현재 시각" 을 얻는 데 사용됩니다.long time = System.currentTimeMillis();System.out.println("현재 시각(ms): " + time);✅ 단위: 1밀리초 = 1,000분의 1초✅ 정확도: OS 시간 조정에 영향 받음✅ 용도: 로그 기록, 타임스탬프, 날짜 계산 등⏱️ 2. System.nanoTime()📌 뜻어떤 작업이 걸린 시간 측정용!시작 시간과 끝 시간의 차이를 비교하기 위해 쓰는 고정된 기준의 나노초(nanosecond) 단위 시간입니다.long start = System.nanoTi..

Java/자바 정리 2025.05.14

107. 코드 실행 시간 측정하기 – System.nanoTime()으로 정밀하게

이번 글에서는 자바에서 제공하는 System.nanoTime()을 사용해 코드가 실제로 얼마나 실행되었는지 측정하는 방법을 배웁니다.밀리초(ms)보다 더 정밀한 나노초(ns) 단위 측정이 가능하기 때문에, 성능 비교나 반복문 최적화 확인 등에서 매우 유용하게 사용됩니다.📌 예제 코드public class MeasureRunTimeExample { public static void main(String[] args) { long time = System.nanoTime(); // 시작 시간 기록 double runtime; int sum = 0; for (int i = 1; i 💻 실행 결과 (실행 환경에 따라 달라짐)1~10000000 의 합 ..

Java/자바 정리 2025.05.14

106. 키보드 입력으로 속도 조절! – System.in.read() 실습

이번 강의에서는 System.in.read() 메서드를 사용해 키보드에서 한 글자씩 입력을 받아 프로그램 흐름을 제어하는 방법을 배웁니다.입력된 숫자에 따라 속도를 증가하거나 감소시키고, 특정 키를 입력하면 반복을 종료하는 단순한 텍스트 메뉴 시스템을 만들어보겠습니다.📌 예제 코드public class InExample { public static void main(String[] args) throws Exception { int speed = 0, keyCode = 0; while (true) { if (keyCode != 13 && keyCode != 10) { // Enter 키(줄바꿈)는 무시 if (keyCode ..

Java/자바 정리 2025.05.14

105. 에러 메시지는 따로 출력하자 – System.err 사용법

이번 글에서는 try-catch 블록으로 예외를 처리하면서,일반 출력과 오류 출력을 구분하는 방법으로 System.err를 사용하는 방법을 배웁니다.System.out은 일반 출력용, System.err는 에러 전용 출력 스트림으로, 콘솔에서 빨간 글씨로 출력되는 경우도 많아디버깅과 로그 관리 시 매우 유용합니다.📌 예제 코드package ch12.sec03;public class ErrExample { public static void main(String[] args) { try { int v = Integer.parseInt("1oo"); // 알파벳 'o' 때문에 예외 발생 } catch (Exception e) { Syst..

Java/자바 정리 2025.05.14

104. 진짜 데이터 전용 클래스 – record로 더 간결하게

이번 글에서는 자바에서 불변 데이터 객체를 간편하게 정의할 수 있는 record 키워드를 배워봅니다.record를 사용하면 생성자, getter, toString(), equals(), hashCode()를 자동으로 생성해주기 때문에클래스 선언이 매우 간결해지고 코드 관리도 쉬워집니다.📌 예제 코드package ch12.sec03.record;// id, name, age를 갖는 불변 데이터 객체 정의public record Member(String id, String name, int age) {}package ch12.sec03.record;public class RecordExample { public static void main(String[] args) { Member m ..

Java/자바 정리 2025.05.14

103. 객체를 문자열처럼 출력하려면? – toString() 메서드 재정의

이번 글에서는 Object 클래스의 대표적인 메서드 중 하나인 toString()을 재정의하여,객체의 정보를 사람이 읽기 쉬운 문자열 형태로 표현하는 방법을 배워봅니다.System.out.println(객체)처럼 객체를 출력할 때 내부적으로 toString()이 자동 호출된다는 사실도 함께 확인합니다.📌 예제 코드package ch12.sec03;public class SmartPhone { private String company, os; public SmartPhone(String company, String os) { this.company = company; this.os = os; } @Override public String toString..

Java/자바 정리 2025.05.14

102. HashSet이 중복을 막는 진짜 원리 – equals()와 hashCode() 실전 확인

이번 글에서는 HashSet 컬렉션에 객체를 저장할 때, equals()와 hashCode()의 재정의 여부가 어떻게 중복 판단에 영향을 주는지를 실습합니다.이전 강의에서 만든 Student 클래스를 기반으로, 동등한 객체는 중복 저장되지 않는다는 HashSet의 특징을 확인합니다.📌 예제 코드package ch12.sec03;import java.util.HashSet;public class HashSetExample { public static void main(String[] args) { HashSet hashSet = new HashSet(); // Student 타입 객체들을 저장 Student s1 = new Student(1, "홍길동"); h..

Java/자바 정리 2025.05.13
반응형