본문 바로가기

728x90
반응형

JAVA

(8)
[Java] 최대공약수, 최소공배수 구하기(유클리드 호제법) 유클리드 호제법 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 1. 두 수 중 큰 수를 작은 수로 나누어 나머지를 구한다. 2. 작은 수를 방금 구한 나머지로 나눈다. 3. 나머지가 0이 될 때까지 반복한다. 4. 나머지가 0이 될 때 나눴던 수가 최대공약수이다. 최대공약수를 구하는 코드 private int gcd(int max, int min) { while (max % min != 0) { int temp = max; max = min; min = temp % min; } return min; } //아래와 같이 재귀 함수로 간단하게 나타낼 수도 있다. private int gcd(..
[JAVA] JSON 데이터(object, array) JSONObject public static void main(String[] args) { String data = "{'name':'ayon', 'phone':'4400', 'isCute':true}"; JSONObject jsonObject = new JSONObject(data); String name = (String)jsonObject.get("name"); String phone = (String)jsonObject.get("phone"); Boolean isCute = (Boolean)jsonObject.get("isCute"); } JSONObject 안에 JSONObject public static void main(String[] args) { String data = "{'name'..
[Java] Optional 이란? Java로 프로그래밍 하다보면 정의되지 않은 객체에 대해 null값을 고려하게 되는 경우가 발생한다. 안정적인 실행을 위해서는 null값을 처리해 NullPointerException(NPE)가 발생하지 않게 체크해야 한다. Java8부터는 Optional 클래스를 사용해 NPE를 방지할 수 있다. Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스로, NPE가 발생하지 않도록 도와준다. 즉, 예상치 못한 NPE를 제공되는 메소드로 간단히 회피할 수 있어 복잡한 조건문 없이도 null값으로 인해 발생하는 예외를 처리할 수 있다. Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있음. 만약 Optional 객체에 저장된 값이 null이면, NoSuchElementExc..
JPA(Java Persistence API)란? JPA (Java Persistence API) 자바 진영에서 ORM 기술 표준으로 사용되는 인터페이스의 모음이다. 즉, 실제적으로 구현된 것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크 다양한 프레임워크가 존재하지만 가장 대중적인 것은 '하이버 네이트'이다. ORM(Object-Relational Mapping) 객체지향 프로그래밍 언어와 관계형 데이터베이스 간에 데이터를 매핑하는 데 사용되는 프로그래밍 기술. 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것. -객체지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하기 때문에 객체 모델과 관계형 모델 간 불일치가 존재하는데 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를..
[JAVA] String 문자열 replace(변경), contain(포함 여부) public class test { public static void main(String[] args) { String data = "[하나][둘]"; if(data.contains("[둘]") == true) { //data라는 문자열에 [둘]이 포함이면 data = data.replace("[둘]", "");//[둘]을 공백으로 변경 }else { data = data + "[셋]"; } } } contains : 특정 문자(열)가 포함되어 있는지 확인(포함이면 true/ 없으면 false 반환) replace : 특정 문자(열)의 값을 변경
[JAVA] DATEFormat_날짜 포맷 날짜/시간 패턴 문자 날짜 및 시간 샘플 y 년도 (year, 주로 사용) 2021, 21 Y 년도 (year) 2021, 21 M 월 (month) 7 d 일 (day) 2 E 요일 목 u 요일 번호(1=월, 2=화, …, 7=일) 1 a AM/PM(오전/오후) 표시 PM H 시 (hour, 0~23) 0 h 시 (hour, 1~12) 12 m 분 (minute) 33 s 초 (second) 55 S 밀리세컨드 (Millisecond) 978 z TimeZone KST w 주차 (1년 52주차) 27 W 주차 (해당 월) 2 자주 사용하는 날짜 포맷 SimpleDateFormat으로 자주 사용하는 날짜 형식 날짜 및 시간 패턴 결과 yyyy-mm-dd 2021-02-25 yyyy-MM-dd HH:mm:..
[JAVA] 함수 텍스트를 전부 대문자로 변환 String txt = "Hello"; System.out.println(txt.toUpperCase()); ​ 문자열 연결하여 출력 // concat 명령어를 쓸 경우 초기값이 null이면 안됨 String firstName = "John"; String lastName = "Doe"; System.out.println(firstName.concat(lastName)); ​ 문자열에서 "e"가 처음 나타나는 인덱스(위치)를 반환 String txt = "Hello Everybody"; System.out.println(txt.indexOf("e")); ​ x,y 중 큰 값 찾기 int x = 5; int y = 10; Math.max(x,y) ​ 제곱근 찾기 int x = ..
[JAVA] apache POI 엑셀 다운로드 아파치 POI는 아파치 소프트웨어 재단에서 만든 라이브러리로서 마이크로소프트 오피스 파일 포맷을 순수 자바 언어로써 읽고 쓰는 기능을 제공한다. ​ SPRING - pom.xml에 Maven dependency 추가 org.apache.poi 엑셀 다운로드 Controller @RequestMapping(value = "/excelDown") public void excelDown(HttpServletRequest request, HttpServletResponse response) throws Exception { // 워크북 생성 Workbook wb = new XSSFWorkbook(); //스타일 XSSFCellStyle stringStyle = (XSSFCellStyle)wb.createCell..

728x90
반응형