본문 바로가기

java

(53)
Step14_Swing (JFrame, JButton, ActionListener, 문자열 비교) JFrame 메소드 setBounds GUI 창의 위치와 크기를 조절해준다. setDefaultCloseOperation 창을 닫았을때 프로세스도 같이 종료 되되록 한다. setLayout 레이아웃 매니저 setVisible 프레임이 화면상에 보이도록 한다. JButton 메소드 setLocation 버튼의 위치 setSize 버튼의 크기 setBounds setLocation,setSize를 한번에 설정할 수 있는 메소드 frame01~04 (JFrame, JButton의 기본 형식, setLayout 차이) 위와 같은 메소드들을 사용할 수 있는 이유는 MyFrame이 JFrame을 상속받았기 때문이다. 예시에서는 메소드 앞에 this.이 생략되어 있는 것이며 this. 을 사용해서 JFrame의 다른..
Step13_Exception (Exception 관리, RuntimeException, throw) MainClass03 (Thread.sleep) Thread.sleep(5000); 을 작성하면 코드 오류가 뜨고 마우스를 올려두고 surround with try/catch를 누르면 자동으로 작성된다. 부모 클래스에 RuntimeException 이 없으면 try catch 없이 사용할 수 없다. MainClass04 (File만들기, try catch) createNewFile 메소드로 File을 만든다. 파일 업로드 오류(IOException) 예외 상황이 발생하면 printStackTrace 메소드를 실행한다. 콘솔에 자세한 경고 메시지 출력하는 코드이다. MainClass05, SleepyException (RuntimeException, 예약어 throw) 예외 상황 인위적으로 만들기 프로그래..
Step13_Exception (try catch문, Exception) try{}catch{} try {}안에 있는 코드들이 정상 작동하면 넘어가고 오류가 나면 catch{} 안에 있는 코드가 실행된다. Exception (예외) NumberFormatException 숫자형식으로 입력하지 않았을때 생기는 오류이다. ArithmeticException 어떤 수를 0으로 나누려 할때 발생하는 오류이다. Exception 위의 2가지 예외를 제외한 오류이다. MainClass01 (try catch문) 해당 예시는 솟자를 문자열로 입력 받고 이후에 숫자 형태로 변환한 뒤 연산을 해서 출력해주는 기능을 하는 코드이다. 다만 이때 숫자가 아닌 문자를 입력하면 입력은 되지만 숫자로 변환되지는 않는다. 이때 NumberFormatException오류가 일어나는데 해당 상황에서 오류가 ..
Step12_UtilClass (Interator, HashSet, Random, while) MainClass14 (반복자 Iterator) 반복자 Iterator Set 안에 있는 아이템들을 일렬로 세워서 한칸씩 내려가며 읽어오는 형태이다. 이전에 학습한데로 HashSet은 순서가 없기 때문에 랜덤으로 정렬된다. 콘솔창에 결과는 순서대로 나왔지만 순서를 보장할 수는 없는 것이다. hasNext() 커서 다음에 아이템이 있는지 확인하고 있다면 true를 반환한다. next() 다음칸으로 이동하며 해당 아이템을 읽어온다. contains() 특정 item(데이터, 참조값) 존재 여부를 판단한다. size() 저장된 item의 갯수를 반환한다. remove() 특정 item 삭제한다. clear() 모든 아이템 삭제한다. MainClass15 (Random) Random Class를 활용할때는 ne..
Step12_UtilClass (while 반복문, break) for문과 while문 차이 for문은 반복횟수를 알 수 있을때 사용한다. while은 주로 반복횟수를 알 수 없을때 사용한다. MainClass12 (while 반복문) while(num
Step12_UtilClass (HashMap, HashSet) 2022.08.01 - [java] - Step12_UtilClass (ArrayList 활용 객체 배열) 전 게시글에서 ArrayList를 활용한 객체 배열에 관하여 Member, MemberDto 클래스를 예시로 만들어 학습했다. 이번에는 Hashmap을 활용해 Key, Value 형태로 data를 관리하고자 한다. Hashmap도 ArrayList안에 넣어 객체 배열 형태로 사용하는 것이 가능하다. MainClass09 (HashMap) key, value 값으로 정보를 관리할 수 있는 HashMap 클래스가 있다. (javascript의 object type과 비슷하다.) key는 대부분의 경우에 String을 사용하고 종종 Integer을 사용한다. HashMap을 사용할때 put과 get 메소..
Step12_UtilClass (ArrayList 활용 객체 배열, Member, MemberDto) 언어별 객체 배열 작성 예시 in javascript in java let names=[]; names.push("kim"); names.push("lee"); names.push("park"); List names=new ArrayList(); names.add("kim"); names.add("lee"); names.add("park"); let nums=[]; nums.push("10"); nums.push("20"); nums.push("30"); List nums=new ArrayList(); nums.add("10"); nums.add("20"); nums.add("30"); ArrayList는 배열의 재할당, 추가, 삭제 등 요소의 이동을 용이하게 해줄 뿐만 아니라 객체 배열을 관리하기에도 ..
Step12_UtilClass (ArrayList) MainClass05 (ArrayList와 Wrapper Class) ArrayList는 기본 데이터 type 을 저장할 수 없으므로 기본 데이터 type 을 저장하고 싶으면 Wrapper Class를 활용하면 된다. int => Integer double => Double boolean => Boolean 등등 예시에서는 정수를 저장할때 기본 data type인 int를 쓸 수 없기에 Wrapper Class인 Integer을 사용했다. 이후 Mainclass04에서 학습한 확장 for 문을 사용해서 정수를 콘솔창에 출력하였다. MainClass06 (ArrayList 타 클래스활용) 기존의 익숙한 data type과 같이 다른 클래스를 객체 생성해서 ArrayList에 담는 것도 가능하다. 예시의 B..