본문 바로가기

자바(java)

(15)
List - java collection framework(JCF)중 크기를 늘렸다 줄였다 할 수 있는 인터페이스(배열과 다른 큰 장점) - List 자료형 중 가장 간단한 자료형인 ArrayList 공부 - JCF는 참조자료형만 지원한다. - 따라서 기본자료형은 Wrapper클래스를 이용해야 한다. List객체 생성하기 List 변수명 = new ArrayList(); public class Test10 { public void me1(){ List list = new ArrayList(); } } list에 요소 추가하기 - list.add(추가할 값); list의 요소 개수 구하기 - list.size() list의 요소 가져오기 - list.get(idx) list의 요소 전체 출력 - for 이용 lis..
Date Date클래스 Date 객체명 = new Date(); - 현재시간 출력 public class Test3 { public void w1() { Date d1 = new Date(); System.out.println(d1); } } =====================Console====================== Wed Mar 15 15:39:44 KST 2023 // 현재시간 - Date d1 = new Date(0) --> 1970년 1월 1일 0시0분0초를 리턴 - System.currentTimeMillis(): 1970년 1월 1일로부터 경과한 시간을 long값으로 리턴하며, 밀리세컨(1/1000초) 값을 리턴. public class Test3 { public void w2() { ..
Calendar(GetInstance) Calendar: 날짜와 시간을 다루는 클래스 - 추상 클래스이기 때문에 직접 new 하여 객체 생성이 불가능 - Calendar.getInstance() 메소드를 이용 Calendar cal = Calendar.getInstance(); 오늘날짜에 대한 정보 public class Test { public void k1() { // Calendar클래스를 통해 getInstance()메서드를 사용하여 객체 생성 Calendar cal = Calendar.getInstance(); System.out.println(cal); java.util.GregorianCalendar[time=1678759624329,... ... YEAR=2023, //년 MONTH=2, // 월(0부터 시작) WEEK_OF_Y..
Random Random클래스: 난수를 얻어내는 클래스 public class Test { public void me1() { // Random클래스를 이용해서 rnd 객체 생성 Random rnd = new Random(); // ()안에 빈칸->현재시간 Random rnd2 = new Random(1); Random rnd4 = new Random(1); // seed가 같으면 나오는 값이 일치 long t = System.currentTimeMillis(); // 현재 시간을 millisecond로 반환 Random rnd3 = new Random(t); for (int i = 0; i < 5; i++) { int num = rnd.nextInt(); // 난수 리턴 System.out.println(num);..
예외처리(Exception) 예외와 에러의 차이 - 예외: 개발자가 대응할 수 있는 것. - 에러: 개발자가 대응할 수 없는 것.(단전, OS문제, JDK(JRE)의 문제) - 자바는 객체를 통해 예외를 처리한다. - 예외에서의 최상위 부모클래스: Exception 예외 발생 시 콘솔을 통해 알 수 있는 것. 1) 예외의 발생 위치 (java.lang.ArithmeticException: / by zero) 2) 예외의 발생 원인 (at kr.co.tj.Test.f2(Test.java:7)) public class Test { public void f2(int a, int b) { System.out.println(111); System.out.println(a/b); System.out.println(2222); } } =====..
내부클래스(Inner Class) 내부클래스: 클래스나 인터페이스 내에서 선언된 클래스. 1. instance 내부 클래스 - static 키워드 없이 외부클래스의 멤버로 선언되는 클래스 - 인스턴스 필드와 메서드만 선언 가능 - static 메서드는 가질 수 없다. public class GameSetup { private int device_width; private int device_height; // 멤버 내부클래스(인스턴스 클래스) public class GamePlay{ private int menu=1; public void execute() { System.out.println(device_width); // 외부클래스의 필드를 불러오기 위해 this가 필요없음 System.out.println(device_height)..
Enum(Enumeration) 정의: 상수 선언 시 입력하는 값에 대한 범위를 제역하기 위한 자료형 - 어떤 클래스가 상수로만 이루어져 있을 땐 반드시 클래스로 선언할 필요는 없다. -> 이럴 때, class를 enum이라고 선언하면 이 객체는 상수의 집합이다. - 생성방법 접근제한자 enum enum명{ 대문자enum상수명1, 대문자enum상수명2, ...; } - 예제 public enum Animals { TIGER, LION, CAT, DOG; } valueOf( ), name( ) - valueOf( ): 문자열을 enum으로 전환 - name( ): enum을 문자형으로 전환 public class MainEx { public static void main(String[] args) { // valueOf(): 문자열을 e..
람다식(Lambda) 람다식(Lambda Expression)이란 함수를 하나의 식(expression)으로 표현한 것이다. 함수를 람다식으로 표현하면 메소드의 이름이 필요 없기 때문에, 람다식은 익명 함수(Anonymous Function)의 한 종류라고 볼 수 있다. (이름이 필요없는 함수) - 함수형 인터페이스에 대해서만 선언 가능 - 인터페이스내에 메서드가 1개 있어야 한다. - 람다식 구현방법 인터페이스자료형 변수명 = (변수명1, 변수명2, ...) -> { 인터페이스가 갖고 있는 메서드를 호출했을 때 실행할 코드들 return 반환형에 맞는 값; (void라면 필요x) }; 장점 ① 불필요한 코드를 줄일 수 있다. ② 가독성을 높인다. ③ 메서드를 변수처럼 다루는 것이 가능해진다. ④ 지연연산 수행이 가능하다.(..