자바 기초3

미니멀리즘·2022년 10월 26일

Exception

public class ExceptionEX {
    public static void main(String[] args){
        try{
            int[] myNumbers = {1, 2, 3};
            System.out.println(myNumbers[3]);
        }catch(Exception e){
            System.out.println("Something went wrong");
        }finally{
            System.out.println("The 'try catch' is finished.");
        }
    }
}
import java.util.ArrayList;
import java.util.Iterator;

public class ExceptionEx1 {
    public static void main(String[] args){
        ArrayList<String> cars = new ArrayList<String>();
        cars.add("Volvo");
        cars.add("BMW");
        cars.add("Ford");
        cars.add("Mazda");

        Iterator<String> it = cars.iterator();

        System.out.println(cars);
        System.out.println(it.next());
        System.out.println(it.next());
        System.out.println(it.next());
        System.out.println(it.next());

        //hasNext = boolean
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ExceptionTest {
    public static void main(String[] args) {

        List<Integer> numbers = new ArrayList<>();
        numbers.add(12);
        numbers.add(8);
        numbers.add(2);
        numbers.add(23);
        System.out.println("Integer numbers" + numbers);

        int[] n = {12, 8, 2, 23};
        
//        int[] num = new int[3]; // 크기가 3인 배열 생성
//		num[0] = 10; // 0번 index에 값 할당
//		num[1] = 15; // 1번 index에 값 할당
//		num[2] = 13; // 2번 index에 값 할당

//        for(int i : n) {
//            System.out.println(n[i]);
//        }

        for (int i = 0; i < n.length; i++) {
            System.out.println(n[i]);
        }

        Iterator<Integer> it = numbers.iterator();
        while (it.hasNext()) {
            Integer i = it.next();
            if (i < 10) {
                it.remove();
            }
        }

        System.out.println(it);
        System.out.println(numbers.get(0));
        System.out.println(numbers);
    }
}

wrapper class

P351

public class Main {
    public static void main(String[] args) {

        //Object화가 가능하다
        Integer myInt = 5;
        Double myDouble = 5.99;
        Character myChar = 'A';

        // 자료형 선언과 차이가 없다
        System.out.println(myInt);
        System.out.println(myDouble);
        System.out.println(myChar);

//        java: int cannot be dereferenced
//        역참조가 불가능하다
//        int myInt = 5;
//        double myDouble =5.99;
//        char myChar = 'A';

        System.out.println(myInt.intValue());
        System.out.println(myDouble.doubleValue());
        System.out.println(myChar.charValue());

//        java: int cannot be dereferenced
//        int myInt2 = 100;
//        String mtString= myInt2.toString();

        Integer myInt2 = 100;
        String myString = myInt2.toString();

        System.out.println(myString);
    }
}

DateTime

public class Main {
    public static void main(String[] args) {
        //현재 시간
        LocalTime myobj = LocalTime.now();
        System.out.println(myobj);

        //현재 날짜 시간
        LocalDateTime myDateObj = LocalDateTime.now();
        System.out.println(myDateObj);

        System.out.println("Before formatting: " + myDateObj);
        System.out.println(myDateObj.getClass().getName());
        //형변환
        DateTimeFormatter myFormatObj = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");

        String formattedDate = myDateObj.format(myFormatObj);
        System.out.println("After formatting: " + formattedDate);
        System.out.println(formattedDate.getClass().getName());
        System.out.println(formattedDate.getClass());
    }
}

enum

열거형 상수 선언을 편리하게

enum Level1{
    Low,
    MEDIUM,
    HIGH
}

//열거형 상수 선언을 편리하게
class enumEx1 {
    public static void main(String[] agrs){
        Level1 myVar = Level1.MEDIUM;
        System.out.println(myVar);

    }
}
class enumEx2 {
    enum Level1{
        Low,
        MEDIUM,
        HIGH
    }

    //열거형 상수 선언을 편리하게

    public static void main(String[] agrs){
        Level1 myVar = Level1.MEDIUM;
        System.out.println(myVar);

    }
}
enum Level{
        Low,
        MEDIUM,
        HIGH
    }

class enumEx3 {
    public static void main(String[] args){
        Level myVar = Level.MEDIUM;
        switch (myVar){
            case Low:
                System.out.println("Low Level");
                break;
            case MEDIUM:
                System.out.println("Medium Level");
                break;
            case HIGH:
                System.out.println("High Level");
                break;
        }
    }
}

람다식

import java.util.ArrayList;

class LamdaEx {
    public static void main(String[] args){
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(5);
        numbers.add(9);
        numbers.add(8);
        numbers.add(1);
        numbers.forEach((n) -> {System.out.println(n);});

    }
}
import java.util.ArrayList;
import java.util.function.Consumer;

public class LambdaEx2 {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(5);
        numbers.add(9);
        numbers.add(8);
        numbers.add(1);
        Consumer<Integer> method = (n) -> {System.out.println(n);};

        numbers.forEach(method);

    }
}

//Consumer<Integer>
interface StringFunction{

    //래퍼 클래스
    //타입에 해당하는 데이터를 인수로 전달받아 해당 값을 가지는 객체로 만들어준다.
    String run(String str);
}

class LambdaEx3 {
    public static void main(String[] args){
        //인터페이스의 실현부, 구체화
        StringFunction exclaim = (s) -> s + "!";
        StringFunction ask = (s) -> s + "?";
        //매서드 실행
        printFormatted("Hello", exclaim);
        printFormatted("Hello", ask);
    }

    public static void printFormatted(String str, StringFunction format) {
        //참조변수  foramt을 통해 매서드 run을 실행함
        String result = format.run(str);
        System.out.println(result);
    }
}

toString() ????

profile
웹 개발자

0개의 댓글