KDT/Java 55

240318 Java - 스트림 3, 스레드 1

스트림 스트림 연산 스트림 생성 - 중간 연산 - 최종 연산 package test17; import java.util.Arrays; import java.util.List; public class ArrayListStreamTest2 { public static void main(String[] args) { //문자열 스트림 객체를 생성해서 중복 제거, 필터링으로 출력 //List객체 생성 List list = Arrays.asList("a","b","a","c","a","d"); list.stream().forEach(a -> System.out.print(a + " ")); System.out.println(); //distinct() 메소드로 중복 제거 후 내부 반복자로 출력 list.strea..

KDT/Java 2024.03.18

240314 Java - 람다식 2, 스트림 1

람다식 매개변수로 전달하는 람다식 package test17; //함수형 인터페이스 : 람다식을 만들기 위한 인터페이스 @FunctionalInterface interface PrintString{ //추상 메소드 void showString(String str); } /* class aa implements PrintString{ @Override public void showString(String str) { System.out.println("showString() 메소드 구현"); System.out.println(str); } } */ public class TestLambda1 { //매개변수로 전달하는 람다식 //lambda 함수 인터페이스로 구현한 익명구현 객체 //람다식(익명함수)이 들..

KDT/Java 2024.03.14

240313 Java - 람다식

람다식 람다식 함수형 프로그래밍 방식(Functional Programming : FP) 메소드를 하나의 식으로 표현한 것으로, 코드를 효율적이고 간결하게 작성할 수 있도록 문법을 제공 함수는 자체로 선언하여 쓰일 수 없고 클래스의 구성 멤버로 선언되고 사용됨 람다식은 익명 함수 생성 문법으로 함수명 없이 구현부(실행문)만으로 선언되고 함수가 아닌 실행문을 가진 객체가 됨 일반적인 객체가 아닌 인터페이스를 구현한 익명 구현 객체를 생성 함수의 매개변수는 값 또는 객체이지만 람다식으로 작성한 함수(동작)를 넘겨줄 수 있게 됨 함수형 인터페이스 클래스 내에 선언되고 클래스의 객체를 생성해서 호출하는 객체지향방식인 클래스 의존 형식이 아님 인터페이스를 이용해서 추상 함수를 정의하고 오버라이드 시킨 구문을 하나..

KDT/Java 2024.03.13

240311 Java - 내부 클래스2

내부 클래스 클래스 내부에 선언된 또 다른 클래스 외부 클래스와 밀접한 관련이 있고 다른 클래스와는 협력할 일이 없는 경우에 내부 클래스로 선언해서 사용 내부 클래스는 중첩 클래스라고도 함 내부 클래스에서 외부 클래스의 멤버에 손쉽게 접근할 수 있음 서로 관련 있는 클래스를 논리적으로 묶어서 표현함으로써, 코드의 캡슐화를 증가시킴 외부에서는 내부 클래스를 접근할 수 없으므로 코드의 복잡서을 줄일 수 있음 내부 클래스 종류 인스턴스 내부 클래스 static 키워드를 가지지 않는 클래스 외부 클래스의 인스턴스 변수나 인스턴스 메소드에 사용될 목적으로 선언 정적 내부 클래스 static 키워드를 가지는 클래스 외부 클래스의 클래스(정적) 변수나 인스턴스 메소드에 사용될 목적으로 선언 지역 내부 클래스 외부 클..

KDT/Java 2024.03.11

240307 Java 입출력 스트림 3, 내부 클래스 1

버퍼링 기능으로 파일 복사하기 package test15; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class FileCopyTest1 { public static void main(String[] args) { //FileInputStream, FileOutputStream 클래스를 사용하여 이미지 파일을 읽어와서 복사 long ms = 0; try(FileInputStream fis = new FileInputStream("src/tes..

KDT/Java 2024.03.07

240306 Java 입출력과 스트림 2

예외 처리 throws package test15; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamTest2 { public static void main(String[] args) throws IOException { //바이트 단위 스트림 생성과 처리 //1) 입력 스트림(InputStream) 클래스 상속 //2) 출력 스트림(OutputStream) 클래스 상속 //파일 단위 처리스트림(FileInputStream, FileOutputStream) 클래스로 구현 //FileOutputStream 클래스 : 파일로 저장..

KDT/Java 2024.03.06

240304 Java - 입출력과 스트림 1

※코딩 테스트 자료 구조/알고리즘 문제해결 형식 API 구현 형식 과제 형식 문제 해결 과정 : 요구사항이해 -> 설계/검증 -> 기능 구현 -> 결과 자바 입출력과 스트림 스트림 자바에서 모든 입출력은 스트림(stream)을 통해서 이루어짐 표준 입출력 package test15; public class SystemInTest { public static void main(String[] args) { /* 1. 표준 입출력 PrintStream 클래스 out -> 표준출력 스트림(System.out.println()메소드) InputStream 클래스 in -> 표준입력 스트림(System.in) OutputStream 클래스 err -> 표준 오류 출력 스트림 */ System.out.println..

KDT/Java 2024.03.04

240131 Java - 자바 입출력

자바 입출력 통로 => 스트림(=버퍼) package test14; import java.io.IOException; public class SystemInTest1 { public static void main(String[] args) throws IOException { System.out.println("알파벳 하나를 쓰고 [Enter]를 누르시오"); //표준 입력 스트림에서 데이터 가져오기 : 1byte 단위(영문자1개, 키보드에서 입력된 데이터 값을 약속으로 정해놓은 아스키코드값으로 처리됨) int i; try { i = System.in.read(); System.out.println(i); System.out.println((char) i); } catch (IOException e) {..

KDT/Java 2024.01.31

240129 Java - 날짜와 시간을 다루는 클래스

날짜와 시간을 다루는 클래스 java.util.Date JDK1.1버전부터 여러가지 문제가 생겨 대부분의 메소드와 생성자가 사용되지 않게 되었음 java.util.Calendar Date 클래스를 개선한 새로운 클래스 java.time 패키지 Date와 Calendar 클래스의 단점을 개선한 새로운 클래스들을 제공 사용이 가장 편리함. package test13; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.Calendar; import java.util.Date; public class DateTes..

KDT/Java 2024.01.29

241025 Java - 예외 2

예외 순위는 Exception>>>>>>나머지. 즉, Exception은 가장 나중에 작성해야함 package test12; import java.util.InputMismatchException; import java.util.Scanner; public class ExceptionTest4 { public static void main(String[] args) { // 2개의 정수를 입력받아 사칙연산을 수행하는 프로그램 작성 // 1. 정수값이 아닌 다른 자료형이 입력될 경우 예외 처리 -> InputMismatchException // 2. 0으로 나누는 경우의 예외 처리 -> ArithmeticException Scanner sc = new Scanner(System.in); while (tru..

KDT/Java 2024.01.25
728x90