자바 printf 출력문 -println : 출력 후 한 줄 띄움 -printf : 한 줄로 쭉 출력 -서식이 있는 출력 으로 생각하면 쉽고, 그중 특수 서식은 printf에서만 사용 가능하다. (+JDK 1.5 이상에서만 사용 가능) %d (정수), %f(실수) 등 다양한데 그중 가장 자주 쓰이는 것만 학원에서 배웠다. 1. %d : 정수 출력 서식 (10진법) printf( %d, 변수); 1. %x : 정수 출력 서식 (16진법) 3. %f : 실수 출력 서식 printf ( %f, 변수); 4. %s : 문자열 출력 서식 printf ( %s, 변수); printf() 주의사항 1) %문자와 넘겨받는 값의 종류가 다르면 에러가 발생함. 2) 존재하지 않는 %문자를 사용하면 에러가 남. 3) %문자..
Switch Case 선택문 예제 예제 01. 예제02. -Java 14부터 조건문을 쉼표로 간단하게 표현해서 반환값을 받을 수 있다. -예제01과 비교했을 때 훨신 간결함. -yield 예약어 사용 Java JRE 바꾸는 방법 이전 학원에서는 Java8만 사용했는데 지금 국비 학원에서는 첫 날에 자바 11, 17 두 가지를 다운받았다. 11 JRE를 사용하다가 위 예제를 위해 (14 이상부터 사용 가능한) 17로 바꾸어 주었는데 바꾸는 법은 간단하다. 클래스 우클릭 -> Build Path Edit 클릭 여기서 그때마다 바꿔주면 된다. 그리고 중요한 점!! ★중요★ JRE만 바꾼다고 끝이 아니라 컴파일도 같이 JRE 버전과 맞춰주어야 한다. Java Compiler- > JRE 버전과 맞는 숫자로 변환
이전 학원에서 배웠던 내용을 또 듣는 것이라 필기는 자세히 하지 않았지만 다음 수업부턴 다시 복습한다고 생각하고 열심히 하려고... 암튼 그래서 조건문에 대해서는 수업 시간에 배웠던 예제 위주로 포스팅할 것이다. 국비 학원은 처음인데 예제를 다양하게 풀이해 주셔서 좋았다. 전에는 이론만 배우고 넘어갔었는데! 자바 스캐너(Scanner) 클래스 사용 스캐너 클래스는 처음 써보는데 특정 값을 입력받을 때 사용하는 클래스이다. 정수,실수,문자열을 읽어올 수 있다고 한다. 1. java.util 패키지에 있는 스캐너 클래스 import하기 외부 클래스를 불러오려면 import가 필요하다. 이렇게 직접 import해줘도 되고 2.Scanner 객체 생성 이렇게 스캐너 객체를 생성해줘도 저절로 import가 된다...
지네릭스란? 컴파일 시 타입을 체크해 주는 기능 //Tv 객체만 저장할 수 있는 ArrayList 생성 ArrayList tvList = new ArrayList(); tvList.add(new Tv()); //OK tvList.add(new Audio()); //컴파일 에러, Tv 외에 다른 타입은 저장 불가 1. 타입 안정성 제공 2. 타입 체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다. 타입 변수 - 클래스를 작성할 때 Object 타입 대신 타입 변수를 선언해서 사용. - 객체 생성 시 타입 변수 대신 실제 타입을 지정(대입) 예제 타입 변수를 선언하기 전이라 에러가 나지 않지만 타입 변수를 선언한 후에는 Tv 타입의 객체만 저장 가능하다. -> new Audio()가 저장될 수 없어 에..
TreeSet - 범위 탐색, 정렬 - 이진 탐색 트리(binary search tree)로 구현. 범위 탐색과 정렬에 유리. - 이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖는다. - 부모보다 작은 값은 왼쪽, 큰 값은 오른쪽에 저장 - 데이터가 많아질 수록 추가, 삭제에 시간이 더 걸린다.(비교 횟수 증가) TreeSet 주요 생성자와 메서드 TreeSet() 기본 생성자 TreeSet(Comparator comp) : 비교 기준 제공, 주어진 정렬 기준으로 정렬하는 TreeSet을 생성 Object first() 정렬된 순서에서 첫 번째 객체를 반환한다. Object last() 정렬된 순서에서 마지막 객체를 반환한다. Object ceiling(Object o) : 지정된 객체와 같은 객체..
HashSet과 TreeSet - 순서 X, 중복 X HashSet -Set 인터페이스를 구현한 대표적인 컬렉션 클래스 -Set 은 순서 유지가 X, 순서를 유지하려면 LinkedHashSet 클래스를 사용하면 된다. TreeSet -범위 검색과 정렬에 유리한 컬렉션 클래스 -HashSet보다 데이터 추가, 삭제에 시간이 더 걸린다. -추가 boolean add() boolean addAll() : 합집합 boolean remove : 삭제 boolean removeAll() : 교집합 boolean retainAll() : 차집합, 조건부삭제 void clear() : 모두 삭제 boolean contains() : 포함되어 있는지 boolean containsAll() : 컬렉션에 담긴 객체가 모두 ..
배열의 장단점 장점 : 배열은 구조가 간단하고 데이터를 읽는데 걸리는 시간(접근 시간, access time)이 짧다. 단점 : 크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야 함, 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면 메모리가 낭비됨, 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다. ->데이터를 추가하거나 삭제하기 위해 다른 데이터를 옮겨야 함, but 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다. LinkedList - 배열의 단점을 보완 - 배열과 달리 LinkedList는 불연속적으로 존재하는 데이터를 연결(link) - 단 한 번의 참조 변경만으로 데이터 삭제 가능 - 한 번의 Node 객체 생성과 두 번의 참조 변경만으로 데이터의 추..
컬렉션(collection) : 여러 객체(데이터)를 모아 놓은 것. 프레임웍(framework) : 표준화, 정형화된 체계적인 프로그래밍 방식 컬렉션 프레임웍(collections framework) -컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 -컬렉션을 쉽고 편하게 다룰 수 있는 다양한 클래스를 제공 -java.util 패키지에 포함 컬렉션 클래스(collection class) : 다수의 데이터를 저장할 수 있는 클래스 컬렉션 프레임웍 핵심 인터페이스 List -순서가 있는 데이터의 집합, 데이터의 중복을 허용. -구현 클래스 : ArrayList, LinkedList, Stack, Vector 등 Set -순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. -..