Java 107

배열 활용 - 로또 번호 만들기

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다.설명길이가 45인 배열에 1부터 45까지의 값을 담은 다음 반복문을 이용해서 배열의 인덱스가 i인 값과 랜덤에 의해서 결정된 임의의 위치에 있는 값과 자리를 바꾸는 것을 6번 반복한다. 그 후 45개중 앞에 6개의 요소만 출력한다. 초기 배열 상태: numArr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}Arrays.toString(numArr) 출력 결과:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 반복문 (셔플 과정)for (int i = 0; i 이 코드는 100번 반복하면서 항상 0번째 자리와 랜덤 자리 하나를 바꾸는 작업만 합니다.결과적으로는 배열이 충분히 섞인 것처럼 보이지만,실제로는 완전한 Fisher–Yate..

Java 2025.06.18

임의의 정수 만들기

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. Math.random()이란?Math.random();이 메서드는 항상 0.0 이상 1.0 미만의 double 실수값을 무작위로 하나 반환합니다.즉:0.0 예:0.123450.99990.0001 등등 원하는 정수 범위로 바꾸기예를 들어 1 이상 3 이하의 정수(1, 2, 3) 중에서 하나를 얻고 싶다고 가정해봅시다.이걸 위해 아래와 같은 세 단계를 거칩니다.[1단계] Math.random()에 원하는 범위를 곱하기우선, Math.random()에 정수 개수만큼 곱합니다.1부터 3까지 정수는 총 3개(1, 2, 3)이므로, 3을 곱합니다:Math.random() * 3;그럼 결과는:0.0 즉, 0.0 ~ 2.99999... 사이의 실수 값이 됩니다...

Java 2025.06.17

문자열의 비교

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. 문자열 비교: 왜 == 말고 equals()를 써야 하나요?String str1 = new String("abc");String str2 = new String("abc");System.out.println(str1 == str2); // falseSystem.out.println(str1.equals(str2)); // true ==은 무엇을 비교하나요?==는 값이 같은가?를 비교하는 것처럼 보이지만, 실제로는 "주소"를 비교합니다.str1 == str2는 "str1과 str2가 같은 객체인가?"를 묻는 것입니다.지금처럼 new String("abc")로 만들면 서로 다른 객체가 생성됩니다.내용은 같아도 객체는 다르기 때문에 ..

Java 2025.06.17

타입 간의 변환방법

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. 숫자를 문자로 변환(char)(3 + '0') = '3''0'은 문자이지만, 숫자 48입니다 (유니코드 기준).여기에 숫자 3을 더하면 → 48 + 3 = 5151은 문자 '3'의 유니코드 값이기 때문에(char)51은 '3'이 됩니다! 문자를 숫자로 변환'3' - '0' = 3'3'은 유니코드로 51, '0'은 4851 - 48 = 3 → 숫자 3이 나옵니다.즉, 문자를 정수로 바꾸고 싶으면 '0'을 빼면 됩니다! 숫자를 문자열로 변환3 + "" = "3"숫자 + 문자열 → 문자열 연결 연산이 일어납니다.숫자 3을 문자열로 바꿔서 "3"이라는 문자열이 됩니다. 문자열을 숫자로 변환Integer.parseInt("3") = 3Double.parse..

Java 2025.06.17

화면으로부터 입력받기

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. import java.util.Scanner;이 문장은 Scanner라는 도구(클래스)를 사용하기 위해 미리 가져오는(import) 코드입니다.Scanner는 자바에서 사용자로부터 입력을 받을 때 사용하는 도구입니다.java.util은 Scanner가 들어 있는 자바의 기본 도구 상자(package) 중 하나입니다.📌 Scanner 없이 키보드 입력을 받을 수는 없습니다. 그래서 꼭 import해야 합니다. Scanner scanner = new Scanner(System.in);Scanner클래스 이름 (입력받는 도구)scanner우리가 만든 Scanner 도구의 이름 (변수 이름)new Scanner(...)Scanner 도구를 실제로 만드..

Java 2025.06.17

기본형과 참조형

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. 자료형이란 무엇인가요?자료형(데이터 타입)이란,"변수가 어떤 종류의 값을 저장할 수 있는지 정해주는 규칙"입니다.예를 들어,int → 정수double → 실수boolean → true/false처럼 변수마다 저장할 수 있는 값의 형태와 범위를 자료형이 결정합니다. 자료형의 두 가지 분류: 기본형 vs 참조형자바(Java)에서 자료형은 크게 두 가지로 나뉩니다.기본형 (Primitive Type)값 자체를 저장함int, float, char, boolean 등참조형 (Reference Type)객체의 주소를 저장함String, 배열, 사용자 정의 클래스 등 기본형 (Primitive Type)기본형은 말 그대로 "가장 기본이 되는 값"을 저장하는 자..

Java 2025.06.17

상수와 리터럴

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. 변수란?변수는 프로그램에서 값을 저장해두는 공간입니다.쉽게 말하면, 값을 담을 수 있는 상자입니다.int year = 2014;여기서 year가 변수입니다.2014는 그 안에 들어간 값입니다.즉, 변수는 이름을 가진 공간이고, 그 안에는 값을 바꿔가며 넣을 수 있습니다.변수는 “변할 수 있는 값을 담는 상자”입니다. 상수란?상수는 변수처럼 값을 저장하지만, 한 번만 저장할 수 있는 공간입니다.값을 한 번 저장하면 절대 바꿀 수 없습니다.선언 방법final int MAX_VALUE = 100;final이 붙었기 때문에, 이건 상수입니다.MAX_VALUE는 상수 이름100은 저장된 값만약 아래와 같이 바꾸려고 하면?MAX_VALUE = 200; //..

Java 2025.06.17