Java/Java 문법 31

String 클래스의 메서드

indexOf() : 메서드는 주어진 값(문자나 문자열)이 특정 문자열에서 처음으로 등장하는 인덱스를 반환합니다. 만약 해당 값이 없다면 -1을 반환합니다. 문자 찾기String str = "hello";int index = str.indexOf('e'); // index는 1 문자열 찾기String str = "hello world";int index = str.indexOf("world"); // index는 6 없는 값을 찾을 경우String str = "hello";int index = str.indexOf('H'); // 반환값: -1 , 대소문자를 구분한다!  charAt() :문자열에서 지정한 인덱스에 해당하는 문자를 반환합니다. 즉 문자열의 특정 위치에 있는 단일 문자를 가져오는 데 사용됩..

Java/Java 문법 2024.09.25

if, else, while, for, do-while, switch의 case 블록 등에서 {} 생략

실행할 코드가 한 줄인 경우 {}를 생략할 수 있습니다. if (condition) System.out.println("조건이 참입니다."); // 한 줄만 실행else System.out.println("조건이 거짓입니다."); // 한 줄만 실행 while (condition) System.out.println("조건이 참인 동안 실행됩니다."); // 한 줄만 실행 for (int i = 0; i  do System.out.println("반복 실행");while (valid); switch (value) { case 1: System.out.println("하나"); break; case 2: System.out.println..

Java/Java 문법 2024.09.24

분기문 continue, break, return

분기문은 프로그램의 흐름을 제어하여 특정 조건에 따라 코드의 실행을 변경합니다.break : 현재 실행 중인 반복문(for, while, do-while)이나 switch 문을 즉시 종료합니다.public class Main { public static void main(String[] args) { for (int i = 0; i   continue : 현재 반복을 중단하고, 다음 반복으로 넘어갑니다.for (int i = 0; i   return : 메서드의 실행을 종료하고, 호출한 곳으로 제어를 반환합니다. 필요할 경우 값을 반환할 수 있습니다.public class Main { public static void main..

Java/Java 문법 2024.09.24

런타임 예외 (Runtime Exception)

런타임 예외(Runtime Exception)는 자바에서 실행 중에 발생할 수 있는 예외 유형으로, 프로그램의 실행 도중에 나타나는 오류를 의미합니다. 이들은 주로 프로그래밍의 논리적 오류로 인해 발생하며, 컴파일 시점에서 발견되지 않습니다. 런타임 예외는 RuntimeException 클래스를 상속받는 예외들로 구성됩니다.   주요 특징발생 시점: 프로그램 실행 중에 발생합니다.처리 필수 아님: 일반적으로 try-catch 블록으로 처리할 필요가 없습니다. 즉, 런타임 예외는 체크 예외(checked exception)와 달리 컴파일러에 의해 강제되지 않습니다.주로 프로그래밍 오류: 주로 잘못된 로직, 배열 인덱스 초과, null 참조 접근 등과 같은 프로그래밍 오류에 의해 발생합니다. 주요 런타임 예..

Java/Java 문법 2024.09.23

parse 와 강제 형변환

"parse"는 주로 문자열을 특정한 데이터 타입으로 변환하는 과정을 의미합니다. 파싱 메서드는 문자열(String) 형식의 데이터를 특정 기본 데이터 타입(int, double, boolean 등)으로 변환합니다.  형식에 의존: 입력 문자열이 특정 형식을 충족해야 합니다. 예를 들어, "123"은 정수로 파싱할 수 있지만, "abc"는 실패합니다.예외 처리 필요: 유효하지 않은 형식의 문자열이 입력되면 NumberFormatException과 같은 예외가 발생합니다.메서드 사용: Integer.parseInt(), Double.parseDouble(), Boolean.parseBoolean() 등과 같은 메서드를 사용합니다.정확한 타입 변환: 문자열을 정확한 기본 데이터 타입으로 변환할 수 있어, 입..

Java/Java 문법 2024.09.23

scanner.next() , scanner.nextInt() , scanner.nextLine()

Scanner 클래스의 next(), nextInt(), nextLine() 메서드는 각각 다른 방식으로 입력을 처리합니다.  1. next() 메서드는 다음 입력에서 토큰(공백으로 구분된 단어)을 읽어옵니다.입력에서 첫 번째 공백 전까지의 문자열을 읽습니다.공백이 있는 경우, 공백 이후의 문자열은 다음 호출 시 읽히게 됩니다.Scanner scanner = new Scanner(System.in);String word = scanner.next(); // "Hello World" 입력 시 "Hello"를 반환    2. nextInt() 메서드는 다음 입력에서 정수를 읽어옵니다. 공백 또는 줄 바꿈으로 구분된 정수 값을 읽습니다.정수가 아닌 값을 입력할 경우 InputMismatchException이 ..

Java/Java 문법 2024.09.23

for문을 통해 Map을 순회하기

향상된 for문을 사용하여 Map을 순회하려고 하면 오류가 난다. for 소괄호 안에 조건을 3개에서 2개로 줄인다.향상된 for 문은 연속된 변수 목록을 출력할 때 사용.형태 : for (변수타입 변수명 : 목록변수)  { (연산) }`변수 타입`과 `변수명`은 for문 안에서 연산을 수행할 변수를 정의 변수 목록에 Map을 넣는 게 불가능하다. 아래와 같은 방법으로 for문에서 Map을 순회할 수 있다. entrySet() 을 통해 키-값 쌍을 Map.Entry 객체로 가져오기import java.util.HashMap;import java.util.Map;public class MapExample { public static void main(String[] args) { Map ..

Java/Java 문법 2024.09.19

Set

Set : 순서가 없는 데이터의 집합 (데이터 중복 허용 안함) - 순서 없고 중복 없는 배열, 즉 순서가 보장되지 않는 대신 중복을 허용하지 않도록 하는 프로그램에서 사용할 수 있는 자료구조.  HashSet : 가장 빠르며 순서를 전혀 예측할 수 없음TreeSet : 정렬된 순서대로 보관하며 정렬 방법을 지정할 수 있음. 디폴트는 오름차순.LinkedHashSet : 추가된 순서, 또는 가장 최근에 접근한 순서대로 접근 가능 더보기public class col5 { public static void main(String[] args) { // Set은 집합. 순서 없고 중복 없음. 생성자가 없는 껍데기라서 바로 생성할 수 없음. Set intSet = new HashSe..

Java/Java 문법 2024.09.16

Java에서 난수 만들기

숫자 야구 게임을 만들 때 정답 숫자를 만들기 위해 자바에서 임의의 수를 만드는 방법을 찾아보다가 작성하게 되었다. 여러 방법이 있으니 상황에 맞춰 판단하여 적절한 방식을 고르면 된다.  1.  java.util.Random 클래스 Random 클래스를 사용하는 것이기 때문에 객체를 만들어야한다.  - 임의의 정수 생성Random random = new Random();int randomInt = random.nextInt(); - 자릿수 지정Random randomWithSeed = new Random(5);다섯 자리, 즉 임의의 만의 자리의 수(10,000~99,999)가 만들어진다.  -  0부터 100(제외)까지의 임의의 정수 생성, 여기서는 매개 변수에 값을 주어 범위를 한정했다.Random r..

Java/Java 문법 2024.09.13