예외(Exception)란 프로그램 실행 중 발생할 수 있는 정상적인 범위를 벗어난 경우에 처리를 하기 위한 방법입니다. 프로그램 실행 중보면 중요하게 처리해야 하는 부분중에 에러가 발생하였을때 예외처리를 하여 로그를 어떻게 남길것인지도 포함됩니다. JAVA에서 try catch 문으로 감싸서 에러를 처리할때 로그를 남기는 방법은 다양합니다. 아래 예제를 통해 에러가 발생시 각 유형별로 어떻게 출력되는지 확인해보겠습니다. String 에 문자열을 넣은다음, 이 문자열을 int로 바꿔서 강제로 Exception을 발생시킬게요. JAVA Exception 에러 출력 e.getMessage() : 에러의 원인을 간단하게 출력합니다. e.toString() : 에러의 Exception 내용과 원인을 출력합니다...
java equalsIgnoreCase 사용법 자바에서 문자열을 비교하는 함수는 종류가 많습니다. equals, compareTo, 부등호 등등.. 오늘은 equalsIgnoreCase 를 이용하여 문자열을 비교하는 방법을 알아보겠습니다. equalsIgnoreCase를 자주쓰는 경우는 대소문자 구분없이 비교할 떄 많이 사용됩니다. equals 는 대소문자를 비교하지만 equalsIgnoreCases는 대소문자 구분없이 문자열 자체만으로 비교를 합니다. 특징 equalsIgnoreCase : 대소문자 구분안함. equals : 대소문자 구분함. 문자열이 같은경우 true 리턴 문자열이 다른경우 false 리턴 문법 equalsIgnoreCase( 문자열 ) 예제 public static void main..
java 문자열 비교 제대로 알고 사용합시다. 안녕하세요 오늘은 문자열 대표적으로 문자열 비교하는 equals() 메소드와 비교연산자인 == 에 대해서 알아보겠습니다. 1. == 비교를 위한 연산자 주소의 값을 비교합니다.(Call By Reference) 주소의 값이란 실제 내용의 값이 아닌 자료의 위치의 값이라고 생각하면 편하십니다. 2. equals() 메소드 equals() 메소드는 객체끼리 내용 비교합니다.(Call By value) 예제샘플로 확인해보겠습니다. package joon; public class codeTest { public static void main(String[] args) throws Exception{ String str1 = "abc"; String str2 = st..
java replaceAll 문자열 치환방법에 대해 알아보겠습니다. 개발을 하다보면 replace를 쓰는 경우도 종종 있지만 replaceAll() 을 쓰는경우가 많습니다. 어떤형태의 문자열이 올지 모르는 경우가 종종 있기 때문입니다. 그래서 정규표현식을 이용하여 사용하는 경우가 많습니다. replace와 replaceAll 은 사용하는 용도가 약간은 다르니 용도에 맞게 사용하시면 됩니다. String replace(CharSequence target, CharSequence replacement) replace(찾을문자열, 바꿀문자열) package main.java; public class test2 { public static void main(String[] args) { String str = ..
java 문자열 제거 trim 사용법 문자열을 처리하다보면 예기치 못한 공백이 들어오는 경우가 있습니다. 문자열의 공백을 한번에 제거할수 있는 TRIM() 에 대해서 알아보겠습니다. TRIM() 문자열의 처음과 마지막의 공백을 제거합니다 String 클래스에 정의되어있습니다. 사용법 : 문자열.trim(); trim 사용 예제 package main.java; import java.util.StringTokenizer; public class test2 { public static void main(String[] args) { String str = " 안녕하세요 출근중 입니다. 퇴근해보겠습니다. "; System.out.println(str); // 결과 : " 안녕하세요 출근중 입니다. 퇴근해보겠습..
상수란(Constant)? 변하지 않거나 일정한 값을 가진 수나 양을 의미합니다. 프로그램이 실행과 동시에 선언하여 실행되는 동안은 변하지 않는 용도로 사용합니다. 상수를 선언하면서 final을 같이 선언하는데 프로그램 도중에는 수정할 수 없습니다. 그래서 프로그램에서 사용하는 공통코드나, 자주사용하는 문자 또는 숫자는 필드를 따로 선언합니다. 이런 값을 따로 뺴놓으면 좋은 이유가 프로그램 코딩을 하다보면 하드코딩을 하는 경우가 생깁니다. 예를들어 ip를 이곳 저곳에서 사용하는곳이 많다면, 각각 ip를 하드코딩하게 됩니다. 그런데 나중에 ip가 변경이 된다면, 각 하드코딩된곳을 다 수정해줘야합니다. ip를 사용한곳이 100군데라면 100군데 다 하드코딩을 변경해줘야 하죠. 하지만 상수를 따로 선언해서사용..
자바 특정 문자열 포함 여부 확인 및 특정 문자 찾기 프로그래밍 개발을 하다보면 문자열에서 특정 문자가 포함되어있는지 확인이 필요할 경우가 생깁니다. 문자열이 포함되어있는지 없는지에 따라 조건을 다르게 주기도 하기도 합니다. 1. contains() 문자열에 특정문자를 포함하고 있는지 확인하는 함수입니다. 특징으로는 대소문자를 구분합니다. package joon; public class codeTest { public static void main(String[] args) throws Exception{ String str = "사과(apple) 가격은 개당 1,000원 입니다." ; // contains 사용 if(str.contains("사과")) { System.out.println("contai..
[JAVA] 자바 NumberFormatException 원인/예외처리해결 NumberFormatException 은 프로그램 코딩시 종종 일어나는 오류입니다. 영어 그대로 해석하면 숫자형 포맷 오류 발생입니다. 문자를 숫자로 변경시도하다가 에러가 발생하는 경우입니다. (Double.parseDouble(), Float.parseFlost() 등등 다른 자료형변환 함수도 포함) 자세하게 케이스를 분류해보면 case1. 숫자로 변경할시 숫자형이 아닌 문자열일 경우입니다. 은근히 이런경우 많습니다. String codeB = "123o"; // 문자형 변수 codeB 에 문자 123O을 입력 123 + O(알파벳 대문자 O) System.out.println(Integer.parseInt(codeB)) //..
[JAVA] 자바 오버로딩과 오버라이딩 개념 완벽정리 자바에서 다향성을 지원하는 오버로딩/ 오버라이딩이 있습니다. 오버로딩(Overloading) : 메서드의 이름은 같고 매개변수의 유형과 개수가 다르도록 하는 것을 의미합니다. - 리턴값만을 다르게 갖는 오버로딩은 작성 할 수 없습니다. 오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용 하는것을 의미합니다. - 메서드의 이름은 물론 파라메터의 갯수나 타입도 동일해야 하며, 주로 상위 클래스의 동작을 상속받은 하위 클래스에서 변경하기 위해 사용됩니다. 간략하게 요약하면 오버로딩(Overloading)은 기존에 없던 새로운 메서드를 정의하는 것이고, 오버라이딩(Overriding)은 상속 받은 메서드의 내..
java에서 다중 반복문을 한번에 빠져나오는 방법 코딩을 하다보면 다중 for문을 작성하는 경우가 많습니다. 반복문을 탈출하는데는 break: 를 사용을 합니다. 하지만 break:는 하나의 반복문만 탈출합니다. 여러번 반복문을 빠져나가기 위해서는 각 반복문마다 break로 빠져나와야 하는데, 코드가 복잡해지고 가독성이 안좋습니다. 이럴떄 사용하는방법이 반복문을 탈출할 위치를 지정해주는 방법이 있습니다. loopOut: // 빠져나갈 반복문명 지정(원하는명 가능 저는 loopOut이라 지정) for( ... ){ for( ... ) { break loopOut; //반복문명 } } break:를 사용했을 경우와 탈출반복문을 지정한 경우 차이를 예제샘플과 결과로 알아보겠습니다. 탈출반복문 지정 packag..
자바 문자열 자르기 split(), StringTokenizer 차이점 JAVA에서 문자열을 원하는 구분자로 분리하고 싶을때 split() 과 StringTokenizer 를 사용할 수 있습니다. split메소드는 인자로 regex(정규표현식)을 사용하기 떄문에 속도측면에서는 StringTokenizer가 빠르다고 볼 수 있습니다. split() vs StringTokenizer 차이점 구분 설명 split() String클래스의 메소드, 지정한 구분자로 문자열을 나눠 배열에 저장. 공백 문자열도 포함. StringTokenizer java.util에 포함되어있는 메소드. 지정한 한가지 구분자로 문자열을 나눌수 있다. 구분자를 생략하면 공백이 기본 구분자. StringTokenizer의 생성자입니다. 생..
[JAVA] 정규식으로 휴대폰번호 자르기 안녕하세요. 오늘은 정규식으로 휴대폰번호 자르기를 해볼게요. 정규식 : ^(01\\d{1}|02|0505|0502|0506|0\\d{1,2})-?(\\d{3,4})-?(\\d{4}) import java.util.regex.Matcher; import java.util.regex.Pattern; public class codeTest { public static void main(String[] args) throws Exception{ String[] phoneArray = phoneNumberSplit("01012341234"); System.out.println(phoneArray[0]); System.out.println(phoneArray[1]); Sys..
[JAVA] 자바 배열 ArrayList 중복제거 모든방법 JAVA 배열 중복제거하는 방법에 대해 알아보겠습니다. 1. 배열의 요소를 로직을 통해서 중복 제거 contains 를 사용하여 goodsList를 for문 돌면서 arrayList에 포함되어있지 않는 데이터만 arrayList에 add 합니다. package main.java; import java.util.ArrayList; public class test { public static void main(String[] args) { String[] goodsList = {"notebook", "TV", "monitor", "keyboard", "mouse", "TV", "monitor", "keyboard"}; ArrayList arrayLi..
[JAVA] 자바 문자를 숫자로 변환하기 모든형변환 예제포함 안녕하세요 오늘은 String 문자를 int 숫자로 바꾸는 방법을 알아볼게요. 자료형이 int 인 변수와 String인 변수의 합의 차이를 보겠습니다. 숫자형끼리의 합은 [숫자 + 숫자] 위처럼 숫자형은 숫자형끼리의 덧셈이 됩니다. int strTest1 = 1; int strTest2 = 2; strTest1 + strTest2 = 3; 문자형끼리의 합은 숫자가 아닌 문자끼리의 합으로 실제 연산이 아닌 문자열의 합으로 보여지게 됩니다. [문자 + 문자] String strTest1 = '1'; String strTest2 = '2'; strTest1 + strTest2 = 12; 아래 예제 코드로 확인하시죠. int strTest1 = 1; ..
[JAVA] 자바 날짜 유틸(DateUtil.java) 소스 제공 아래 소스에선 다음과 같은 기능을 제공합니다. 날짜관련 함수를 다 나열하기에는 너무 많아서 몇개만 적어놓겠습니다. 필요한 부분이 있다면 Ctrl + F로 검색하세요. 소스도 첨부하였으니 복사하셔서 쓰시면 됩니다. 함수명 기능설명 getCurrentDay() 현재 날짜를 가져온다. (yyyy-MM-dd) getCurrentDay(String pattern) 주어진 날짜 패턴의 현재 날짜를 가져온다. getCurrentTime() yyyy-MM-dd HH:mm 패턴의 현재 시간을 가져온다. getCurrentTime(String pattern) 주어진 패턴의 현재 시간을 가져온다. getThisMonth() 년도를 포함한 현재월을 가져온다.(..
JAVA substring 문자열 자르기 함수 자바에서 문자열 자르기를 할때 사용하는 함수이다. 사용하는 방법은 아래와 같다. substring(인덱스) substring(시작인덱스,끝인덱스) 로 원하는 인덱스를 자를수 있다. 아래 이미지는 인덱스를 표기한 이미지이다. index는 1이 아닌 0부터 시작하게 된다 위의 이미지에서 보이듯이 라의 인덱스는 3이다. 자 이제 인덱스를 알아보았으니 이제 문자열을 잘라보자. String str = "가나다라마바사"; //인덱스 0123456 String a1 = str.substring(4); // 4번째 인덱스부터 출력 System.out.println(a1);; // 마바사 String a2 = str.substring(0,3); // 인덱스 0 부터 3번째 ..