본문 바로가기

Java16

Java - 정규표현식 Java - 정규표현식 정규표현식 이란? 정규표현식(Regular Expression)이란 문자열 데이터 중에서 원하는 조건(패턴)과 일치하는 문자열 부분을 찾아내기 위해 사용하는 것으로, 미리 정의된 기호와 문자를 이용해서 작성한 문자열 정규식을 이용하면 많은 양의 텍스트 파일 중에서 원하는 데이터를 손쉽게 뽑아낼 수 있고, 입력된 데이터가 형식에 맞는지 체크 가능 정규식 기본 기호 기호 설명 예제 . 임의의 문자 1개를 의미 ^ 시작을 의미한다 [] 괄호 안에 있다면 일치하지 않는 부정의 의미로로 쓰인다 ^a : a로 시작하는 단어 [^a] : a가 아닌 철자인 문자 1개 $ $앞의 문자열로 문자가 끝나는지를 의미한다 a$ : a로 끝나는 단어 [] [] 괄호 안의 문자가 있는지를 확인한다 [ab][.. 2023. 7. 27.
Java - 객체지향 Java - 객체지향 1. 절차지향 프로그래밍 vs 객체지향 프로그래밍 절차지향 프로그래밍 모든 구조요소가 유기적으로 연결 되어있어 일렬의 동작을 순차적으로 실행 장점 : 컴퓨터 처리구조와 비슷해 실행 속도가 빠르다. 단점 : 데이터 속성 보다는 명렬어의 순서와 흐름에 포커싱하여 언어의 융통성이 부족해 생산효율이 떨어짐 ex) c언어 객체지향 프로그래밍 클래스를 생성하여 다수의 객체를 만들어 객체간의 상호작용을 통해 문제를 해결하는 방식 객체 : 실세계에 존재하거나 생각할 수 있는 것으로 속성(필드)과 기능(메서드)을 가지는 프로그램 단위 - 속성 : 객체의 특성을 표현하는 정적인 성질(객체를 구별 시키는 특성) - 기능 : 객체 내부의 일을 처리하거나 객체들간의 서로 영향을 주고 받는 동적인 일을 처리.. 2023. 1. 17.
Java 기초 강의 정리 - 18. 연습문제 3 Java 기초 강의 정리 - 18. 연습문제 3 1-1. 정수형 오름차순 데이터가 nums 라는 배열에 주어졌다. 현재 배열 내에는 중복된 데이터들이 들어있을 수 있는데 해당 중복들을 제거하는 프로그램을 작성하세요. 이 때, 추가 배열을 사용하지 않고 중복 데이터들을 제거해야 하며 nums 배열 하나 만 사용하여 중복 데이터를 제거 후 정렬된 데이터를 출력하세요. 입출력 예시 입력출력 1, 1, 2 1, 2 0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4 0, 1, 2, 3, 4 코드 import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; public class Prac.. 2022. 12. 9.
Java 기초 강의 정리 - 18. 연습문제 2 Java 기초 강의 정리 - 18. 연습문제 2 1-1. 로마 숫자 표기를 정수형으로 변환하는 프로그램을 작성하세요. 로마 숫자 표기법은 I, V, X, L, C, D, M 으로 이루어져있다. 로마 숫자정수형 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 로마 숫자 표기 방식 큰 기호에서 작은 기호 방향으로 작성 (XI, VI, II, ...) 다음의 경우 작은 기호가 큰 기호 앞에 올 수 있다. I 는 V 와 X 의 앞에 올 수 있다. (IV: 4, IX: 9) X 는 L 과 C 의 앞에 올 수 있다. (XL: 40, XC: 90) C 는 D 와 M 의 앞에 올 수 있다. (CD: 400, CM: 900) 입출력 예시 입력출력 "III" 3 "IV" 4 "VI" 6 "XIII" 13.. 2022. 12. 8.
Java 기초 강의 정리 - 18. 연습문제 1 Java 기초 강의 정리 - 18. 연습문제 1 1-1. 입력된 정수 자료형의 숫자를 거꾸로 변환하는 프로그램을 작성하세요. 예를들어 12345가 입력되면 54321로 변환하여 출력하면 된다. 100의 경우 001이 되는데 이 경우 1만 출력하도록 한다. 코드 public class Practice1 { public static void solution(int num) { String st; if (num < 0) { num = Math.abs(num); String str = Integer.toString(num); StringBuffer sb = new StringBuffer(str); st = sb.reverse().toString(); st = "-" + st; } else { String str.. 2022. 12. 7.
Java 기초 강의 정리 - 16. 람다, 17. 스트림 Java 기초 강의 정리 - 16. 람다, 17. 스트림 1. 람다 표현식 - 메소드 대신 하나의 식으로 표현하는 것 (익명 함수) 장점 - 간결한 코드 - 높은 코드 가독성 - 높은 생산성 단점 - 재사용 불가(익명) - 디버깅 어려움 - 재귀함수로 사용 X 1-1. 람다식 실습 // Java 프로그래밍 - 람다식 interface ComputeTool { public abstract int compute(int x, int y); // public abstract int compute2(int x, int y); } public class Main { public static void main(String[] args) { ComputeTool comp1 = new ComputeTool() { @Ov.. 2022. 12. 6.
Java 기초 강의 정리 - 14. 예외처리, 15. 컬렉션 프레임워크 Java 기초 강의 정리 - 14. 예외처리, 15. 컬렉션 프레임워크 1. 예외 처리 - 정상적이지 않은 방법에 대한 적절한 처리 방법 finally - 예외 발생 여부와 관계없이 항상 실행되는 부분 throw - 예외를 발생 시킴 throws - 예외를 전가 시킴 // Java 프로그래밍 - 예외 처리 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; // 사용자 정의 예외 만들기 class NotTenException extends RuntimeException {} public class Main { public static boolean checkTen(int ten) { if (ten != .. 2022. 12. 6.
Java 기초 강의 정리 - 13. 입출력 Java 기초 강의 정리 - 13. 입출력 1. 입출력 1-1. 콘솔 입출력 // Java 프로그래밍 - 입출력_1 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Main { public static void referInputStream() throws IOException { // System.in - 문자 하나 읽어오기 System.out.println("== System.in =="); System.out.print("입력 : "); int a = System.in.read() - '0'; // 캐릭터 값 하나.. 2022. 12. 6.
Java 기초 강의 정리 - 11. 인터페이스, 12. 내부 클래스 Java 기초 강의 정리 - 11. 인터페이스, 12. 내부 클래스 1. 인터페이스 다중 상속처럼 사용할 수 있는 기능 추상 메소드와 상수만으로 이루어짐 동시 사용으로 다중상속과 같은 효과 - class 클래스 이름 extends 클래스 이름 implements 인터페이스 이름( 클래스 상속, 인터페이스 둘 다 사용) // Java 프로그래밍 - 인터페이스 // School 인터페이스 interface School { public static final int MAX_CLASS = 20; public static final int MAX_PERSON_PER_CLASS = 40; public abstract void printSchool(); } // Student 클래스 - School 인터페이스 이용 .. 2022. 12. 6.