본문 바로가기

분류 전체보기117

예외 처리 예외프로그램 실행 중에 발생할 수 있는 예기치 않은 상황(예외)에 대한 처리를 말한다.예외에 대한 예를 들어보면 배열의 크기가 n이면 사용할 수 있는 인덱스는 0 ~ n-1 이다.  그 범위가 아닌 인덱스에 접근하는 상황을 뜻한다. 이 때는 ArrayIndexOutOfBoundsException 객체가 자동생성된다.또한 숫자 형식에 맞지 않으면 NumberFomatException객체가 생성된다.또 어떤 수를 0으로 나누는 상황에 문법 자체에 문법적 오류는 없으나, 실행 중에 사용자의 입력값이 바람직하지 않아 발생할 수 있는 예기치 않는 상황을 뜻한다.자바는 대부분 예기치 않은 상황에 대해서 클래스가 만들어져있다. 그래서 그 상황이 되면 예외 객체를 생성해준다.(오류에 대한 text)예외가 발생했을 때 .. 2024. 5. 28.
문자열 처리 String변하지 않는 문자열(immutable)원래 String 은 참조 자료형이다. 따라서 new String 처럼 사용해야한다. 그러나 문자열은 다른 것들보다 훨씬 더 많이 사용하는 참조 자료형이기 떄문에 마치 기본자료형처럼 쓰는것을 허용한다.+연산 등을 사용할 경우 새 객체가 생성되고 참조 변수는 그 곳을 참조하게 된다. 그 이후 다른 참조변수가 참조하지 않고 있을 경우에는 가비지 컬렉터에 의해 원래 문자열은 지워진다.가비지 컬렉션이 계속 반복될 경우 성능이 떨어질 수 있다. 따라서 계속 데이터를 변경해야 하는 경우 String 보다는 StringBuffer 또는 StringBuilder 를 사용하는 것이 좋다.package com.kosta.exam00;//원래 String 은 참조 자료형이다... 2024. 5. 28.
정규표현식 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp 또는 regex, rational expression) 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. String 객체의 match메소드로 확인한다. 이때 \를 쓸 때는 앞에 \를 한번 더 입력해줘야한다.boolean flag = str.matches(regex);regex == String정규 표현식의 종류| : 또는() : 연산자 범위 및 우선권바로 앞 글자에 대한 양에 대한 기호+ :1개 이상의 발생* : 0개 이상의 발생? :0번 또는 1번 발생{n} : 정확히 n번만큼 일치{min, } : min 번 이상만큼 일치{min, max} : min 이상 max 이하.. 2024. 5. 27.
문자열 변하지 않는 문자열변하는 문자열을 쓸 때는 StringBuffer 나 StringBuilder 등을 사용한다.메소드char a = s.charAt(Index)문자열에서 n번째 문자 뽑기package com.kosta.exam01;public class CharAtTest { public static void main(String[] args) { String data = "hello java"; String year = "2024"; char a = data.charAt(0); int c2 = year.charAt(0); int c3 = (int)year.charAt(0); int c4 = Integer.parseInt(year.charAt(0)+""); System.out.println.. 2024. 5. 27.
파일 입출력 컴퓨터 메모리 입장에서, 프로그램 실행한 결과를 화면에 출력하면 컴퓨터가 종료되면 그 결과는 사라지게 된다. 만약 프로그램 실행한 결과를 영구적으로 보관(저장) 하려면 파일을 이용할 수 있다. 또, 프로그램 실행에 필요한 데이터를 키보드로부터 입력받지 않고 파일로부터 입력받을 수 있다."입출력" 은 컴퓨터 메모리 입장에서 입력이고, 출력이다. 프로그램 실행한 결과 즉, 메모리의 내용을 파일로 "출력"파일로부터 컴퓨터 메모리로 읽어들이기 "입력" ------------------------------------------------------------------------------------------- 자바는 이러한 "입출력"을 위하여java.io 패키지에 관련 클래스들을 만들어 두었다. 입출력(스트.. 2024. 5. 24.
난수 Math.random();0.0~1.0 사이 난수를 반환한다.n을 곱하고 int로 캐스팅해주면 즉, (int)(Math.random() * n)을 해주면 0~ (n-1)까지의 수를 얻어낼 수 있다.RandomnextInt(n)Int 전체 범위 내에서 무작위로 숫자를 뽑아준다.단 매개변수가 들어갈 경우, n을 적으면 0~(n - 1)까지 리턴한다. 1~10 하면 +1 해주면 된다. 양수 만들기 -> -1을 곱해주거나 >>> 1를 해준다package com.kosta.exam05;import java.util.Random;import java.util.Set;import java.util.TreeSet;public class TreeSetTest { public static void main(String[].. 2024. 5. 23.
동적인 배열 Set, List, Map 배열의 불편함요소들의 자료형이 같아야함많은 양의 데이터를 처리하기에 적합하다. 그러나 배열에는 자료 형이 같아야하고, 배열의 크기를 미리 정해야 하므로 용량이 부족하거나 혹은 낭비가 되는 경우가 있다. 중간 데이터를 삭제 및 추가하는 것이 번거로움 배열의 불편함을 해소하기 위해 JDK 14 부터 추가된 새로운 개념 : Java의 컬렉션 프레임워크(동적인 배열)그래서 자바에서는 이러한 배열의 단점을 보완하기 위하여 동적인 배열 즉, 컬렉션 프레임워크를 만들어두었다.Interface들이므로 객체를 생성할 수 없고 implements 하여 사용해야 한다.다양한 자료형도 담을 수 있다.사이즈를 유연하게 조절할 수 있다. java.util에 각각의 이름으로 존재한다.자바는 타입을 제한하기를 원해서 경고창이 뜬다... 2024. 5. 23.
final 키워드가 올 수 있는 곳 변수명 앞에 final 변수이지만 상수처럼 고정된 값을 가지고 싶을 때 사용단, 참조형 변수는 주소를 가지고 있으므로 가르키는 객체의 내용이 바뀌어도 가르키는 대상이 변하지 않는 한 컴파일 에러가 나지 않는다public class FinalTest01 { public static void main(String[] args) { final int []array = {5,48, 6,2,78,2}; for(int i : array) System.out.print(i+", "); System.out.println(); System.out.println(array); array[3] = 39; System.out.println(); for(int i : array) System.out.pr.. 2024. 5. 23.