Java 26

JAVA 에서 try / catch 문으로 에러 처리하기 / NullPointerException 에러

코드를 작성할 때 에러가 발생하는 경우가 많다. 이럴때 코드로 처리하는 방법으로는 try catch 문을 이용하는 것이다. 가장 많이 발생하는 오류로 예시를 들어볼 것이다. 아래 코드를 실행하면 오류가 발생한다. ArrayList nameList = null; nameList.add("홍길동"); 발생한 오류는 NullPointerException 에러로 Heap 에 메모리 확보를 하지 않고 메모리를 저장하려고 했을 때에 발생하는 에러이다. 변수 nameList 가 메모리 확보를 했는지 확인해야한다. 이때 try catch 문으로 발생한 에러를 처리할 것이다. try catch 문 try 에는 위에서 작성한 코드를 넣어준다. (또는 오류가 발생할 것 같은 코드) catch 에서는 에러 발생 상황에서 처리..

Java 2023.01.25

HashMap - key, value 쌍의 데이터를 저장하는 함수

1. HashMap HashMap 은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐이다. key, value 값 쌍을 저장한다. 형태는 HashMap 변수명 = new HashMap(); HashMap phoneMap = new HashMap(); 2. 데이터 저장 / put() put 함수 안에 key 값과 value 값을 넣어준다. phoneMap.put("model", "iPhone 12"); phoneMap.put("year", "2021"); phoneMap.put("color", "red"); 3. 데이터 억세스, get get 함수 안에는 key 값을 넣어준다. - value 값이 리턴된다. phoneMap.get("model"); 4. 데이..

Java 2023.01.25

ArrayList - 갯수 제한없이 데이터를 마음대로 추가 삭제 가능한 함수

Array : 데이터를 저장할 array 를 생성할 때, 갯수를 꼭 정해놓고 생성해야한다. String[] nameArray = new String[10]; int[] numArray = new int[15]; 위의 array(배열)는 정해진 갯수 이상으로는 데이터 추가가 불가능하다 따라서 갯수 제한없이 데이터를 마음대로 추가할 수도 있고 삭제할 수도 있는 것이 ArrayList 이다. 1. ArrayList ArrayList 는 갯수 제한 없이 데이터를 마음대로 추가 또는 삭제 가능하다. 형태 : ArrayList 변수명 = new ArrayList(); ArrayList nameList = new ArrayList(); 2. 데이터 추가 / add() 현재 ArrayList 에는..

Java 2023.01.25

문자열을 처리하는 문자열 함수들 2, 대소문자 변환 / indexOf / contains / compareTo / equals

1. 대소문자 변환 대문자로 변환 : toUpperCase() 소문자로 변환 : toLowerCase() String data2 = "abc@naver.com"; System.out.println( data2.toUpperCase() ); >>> ABC@NAVER.COM System.out.println( data2.toLowerCase() ); >>> abc@naver.com 2. indexOf 특정 문자열이 어디에 있는지, 인덱스를 알려주는 함수 indexOf data2 = "abc@naver.com"; int index = data2.indexOf("@"); System.out.println( index ); >>> 3 index = data2.indexOf(".com"); System.out.pr..

Java 2023.01.25

문자열을 처리하는 문자열 함수들 1, concat / length / substring / split / trim

1. concat 문자열 연결 String data1 = "abc"; data1.concat("hello"); System.out.println( data1.concat("hello") ); >>> "abchello" 2. length 문자열 길이 구하는 함수 data1.length(); System.out.println( data1.length() ); >>> 3 3. substring 문자열을 슬라이싱 하는 함수 substring data1 = "hello world"; System.out.println( data1.substring(6, 10+1) ); >>> "world" 4. split 문자열을 분리하는 함수 split 함수 data1 = "red, blue, white"; String[] st..

Java 2023.01.25

문자열을 숫자로 변환, 숫자를 문자열로 변환하는 방법

1. 문자열을 숫자로 변환 문자열을 int 형으로 변환 Integer.valueOf( 문자열 ).intValue(); Integer.ParseInt( 문자열 ); 문자열을 double 형으로 변환 Double.valueOf( 문자열 ).DoubleValue(); Double.ParseDouble( 문자열 ); // 문자열을 int 형으로 변환 String str3 = "317"; int a = Integer.valueOf(str3).intValue(); a = Integer.parseInt(str3); // 문자열을 double 형으로 변환 String str4 = "3.14"; double b = Double.valueOf(str4).doubleValue(); b = Double.parseDouble(..

Java 2023.01.25

정수 및 실수를 클래스로 생성하는 방법

1. 문자열 생성 String 변수명 = "문자열" ; String 변수명 = new String ( "문자열" ); String str1 = "Hello"; String str2 = new String("java"); 2. 정수 및 실수를 클래스로 만들기 정수를 클래스로 Integer 변수명 = 정수 ; 실수를 클래스로 Float 변수명 = 실수 ; Double 변수명 = 실수 ; // 정수 int num1 = 5; Integer num2 = 5; float num4 = 4.0f; Float num3 = 3.0f; double num5 = 3.11; Double num6 = 5.3;

Java 2023.01.25

Interface (다중 상속)

인터페이스 (Interface) 추상 메소드와 상수로만 구성된 특수 형태의 클래스 상수란 값을 한번 설정하면 다시 바꿀 수 없는 변수 인터페이스 선언시 class가 아닌 interface로 정의 클래스의 상속은 extends를 쓰지만 인터페이스의 상속은 implements를 사용 다중 상속이 가능, 일반 클래스의 단일 상속의 단점을 보완 모듈들을 연결하는 기능 예) 인터페이스를 이용해 추상 메소드를 재정의하고 Hello 문구 출력하기 package Interface; // 인터페이스 public interface MyInterface { String msg = "Hello"; // 상수 void print(); // 추상 메소드 } // 추상 메소드 정의 및 메인 클래스 public class MyMai..

Java 2023.01.20