자바 기본 2
slist.isEmpty() 에 slist가 비었는지 안비었는지 확인하는법
자바에서 배열 설정하는 법
int[] score; // 1. 배열 score를 선언( 참조변수)
score = new int[5]; // 2. 배열의 생성 (int저장공간x5)
int[] score = new int[5]; // 배열의 선언과 생성을 동시에 함
package 배열;
public class Sample01 {
public static void main(String[] args) {
// int[] score; // 1. 배열 score를 선언( 참조변수)
// score = new int[5]; // 2. 배열의 생성 (int저장공간x5)
int[] score = new int[5]; // 배열의 선언과 생성을 동시에 함
score[3] = 100;
System.out.println("score[0]"+score[0]);
System.out.println("score[1]"+score[1]);
System.out.println("score[2]"+score[2]);
System.out.println("score[3]"+score[3]);
System.out.println("score[4]"+score[4]);
int value = score[3];
System.out.println("value"+value);
}
}
불리언boolean 설정 예시
boolean isPower;
isPower = false;
추상 클래스는 다중상속이 안되지만 인터페이스를 이용하면 추상클래스 다중 상속이 가능
업캐스팅 자식에서 부모로 형변환 (자동으로)
MineralCalculator mcl= new MineralCalculator();
MineralCalculator의 특징을 가진 mcl 객체 생성
A() {
System.out.println("A객체 생성");
}
A a = new A(); //A클래스에 대한 객체생성
static 변수, 정적 변수
Integer.parseInt("a"); -> 정수로 바꿔주는 코드
e.getMessage() 오류에 관련된 기본적인 부분만 사용 // 보통 프린트문 안에 넣음
package 자바API;
public class Sample02 {
public static void main(String[] args) {
//Clone
String[] arr = {"홍","이","김","안"};
String[] arr2 =arr.clone();
for(String a : arr) { // 향상된 for문 값이 미리 정해져있을 때
System.out.print(a);
}
for(String a : arr2) {
System.out.print(a);
}
}
}
향상된 for문 값이 정해져있을때!
향상된 for문 예시
package 자바API;
public class Sample04 {
public static void main(String[] args) {
str= "홍,이,유,안";
String[] arr = str.split(",");
for(String a:arr) {
System.out.print(a);
\역슬래시 기능 : 줄바꿈
제네릭,제네릭스란?
어떤 자료형 데이터를 넣을지 명시해주는 기능
예시)
ArrayList<String> user = new ArrayList<String>(); String만 써라
ArrayList<String> user = new ArrayList<>();-> 이렇게 축약
-> 문자열만 사용 가능
Comparable - 기본 정렬기준 구현 시 사용.
Comparator - 기본 정렬기준 외에 다른 기준으로 정렬시 사용.
Comparable 인터페이스를 쓰려면 compareTo 메소드를 구현해야하고, Comparator 인터페이스를 쓰려면 compre 메소드를 구현해야 한다는 점이다.
Comparable은 "자기 자신과 매개변수 객체를 비교"하는 것
Comparator는 "두 매개변수 객체를 비교"한다는 것
Comparable은 자기 자신과 파라미터로 들어오는 객체를 비교하는 것
,Comparator는 자기 자신의 상태가 어떻던 상관없이 파라미터로 들어오는 두 객체를 비교하는 것
즉, 본질적으로 비교한다는 것 자체는 같지만, 비교 대상이 다르다는 것임
Map
키(key) 중복 불가능, 값(value) 중복 가능
일단 Map의 특징을 먼저 알아보자면
Map은 선언 시 <key, value>로 값을 넣는다
Key와 Value는 한 쌍으로
Key로 식별하고 Value에 사용할 값을 넣는 식이다
여기서 Key는 중복이 불가능하고
동일한 Key 값으로 값을 넣을 시
최근에 넣은 값이 적용된다
이제 Map의 주요 메소드들을 통해 사용법을 알아보자면
Map 안에 값 넣기
Map.put(key,value);
Map 안의 값 가져오기
Map.get(key);
key값을 모두 불러온다
map.keySet
Map 크기 확인
Map.size();
Map 안의 내용 변경하기
Map.replace(key, value);
Map 안에 특정 Key, Value 들었는지 확인
Map.containsKey(key);
Map.containsValue(value);
Map의 크기가 0인지 확인
Map.isEmpty();
Map 안의 내용 삭제
Map.remove(key);
Key가 있으면 Value 없으면 default 호출
Map.getOrDefault(key, default);
- Map에 key에 해당하는 값이 없을 경우 default 호출
Key가 없거나 Value가 null일때만 삽입
Map.putIfAbsent(key, value);
Map은 선언 시
HashMap, TreeMap, HashTable, LinkedHashMap
으로 선언이 가능한데 차이점은 아래와 같다
HashMap
- Map 안에서 key/value에 따른 순서 없음
TreeMap
- key 값에 따라 오름차순 정렬,
정렬 때문에 대량의 데이터 삽입/삭제시 오래 걸림
LinkedHashMap
- 삽입 순서에 따라 정렬
HashTable
- key/value에 null을 넣을 수 없음,
동기화(synchronized) 되어있음
자세한 내용은 하단 참조
자바 참조 사이트
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
<?> : 모든 자료형 가능
<? super Object?> : Object의 부모클래스 자료형을 참조 가능
<? extents Object : Object의 자식 클래스 자료형을 참조 가능
람다식- 익명 함수(메서드라고 생각해도됨)
-> 추상메서드가 만들어져있어야함 (단 ,2개는 안됨)
클래스 내부-> 메서드
클래스 외부-> 함수
람다식쓰는 법 인터페이스적고, 변수 적고 , 이퀄한다음 (매개변수)-> { 구현할것 (ex출력문같은거}; (마지막에 세미콜론 꼭 찍기!!!)
f.apply(s); // 람다식 호출하는 메서드
인터페이스-> 추상메서드
[JSTL] jstl에서 for문 쓰기 및 varStatus의 속성
jstl 쓰면서 가장 자주 쓰는 문법이다. 해당 코드도 c태그이므로 jsp 파일 맨 위에 c태그에 대한 선언이 필요하다. 1. c태그 선언 2. jstl에서 for문 선언 ${data.id} : ${data.name} items : for문을 돌릴 대상(일
ssamdu.tistory.com
for(int i)는 단순히 반복 하는 작업인데 향상된 for문은 배열의 값을 하나씩 출력해줌