일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 큐
- html
- Java
- alter
- set
- scanner
- Calendar
- GC로그수집
- spring boot
- string
- deque
- date
- List
- JPA
- BFS
- math
- union_find
- NIO
- 스택
- javascript
- map
- 힙덤프
- priority_queue
- dfs
- CSS
- 스프링부트
- Union-find
- sql
- Properties
- 리소스모니터링
- Today
- Total
매일 조금씩
11/13 - Java (5) : eclipse, java.lang( Object , String ) 본문
11/13 - Java (5) : eclipse, java.lang( Object , String )
mezo 2020. 11. 16. 19:04복습 & 개념정리
패키지
사용자 정의 클래스
캡슐화
상속
추상
다형
내장 패키지 - API
내장 클래스
그안의 클래스는 우리가 아는 클래스와는 별종이다.
이클립스 다운로드
설치가 아니고 다운받으면 되는거다.
1. 환경설정
1-1. 워크스페이스 잡기
1-2. java ee -> java 화면으로 바꾸기
1-3. 기타 설정변경
window > preferences > General > Workspace
General > Appearance > Colors and Fonts
General > Editors > TextEditors > spelling
General > Workspace (필수)
2. 만드는 과정
2-1. 프로젝트 생성
2-2. 패키지 생성
2-3. 패키지 있는 클래스 생성
2-4. 패키지 없는 클래스 생성
src에서 오른쪽 클릭 java 에서 class 에서 패키지명 없애고 name은 javaEx01, public static void찾아서 체크 하면 패키지 없는 거 만들수 있음(패키지 선언이 없으면 디폴트 패키지)
2-5. 프로젝트 실행
- ctrl + space 누르면 자동 완성으로 나온다.
- 프로젝트폴더 안에 bin안에는 실행 클래스가 들어가는데 안보인다. src안에는 소스가 들어간다.
- sys치고 ctrl+space하면 sysout있고 enter하면 자동완성한다.
- 오른쪽 클릭 run as -> java 하면실행
2-6. 프롬프트에서 실행
탐색기> Java > workspace > bin 에서 shift+오른쪽 클릭 > powershell열기
- 패키지 없는 클래스 : java 클래스명
- 패키지 있는 클래스 : java com.클래스명
이클립스는 문법검사와 자동 컴파일 다해준다.
이클립스에서 오타치면 빨간줄 나온다. 빨간줄이면 무조건 오타다. 실행하려고 해도 할수 없게 버튼이 안눌림.
< 자바 API 도큐먼트 >
교재 11장.
▷p454
Java.lang, java.util는 import없이 사용할 수 있다.
object는 override를 전제로 하여 만들어졌다.
java.lang
1. object 클래스
▷p457
- 클래스를 선언할 때 extends키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속하게 된다.
- 따라서 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스이다.
- Object는 자바의 최상위 부모 클래스에 해당한다.
생성하는 방법은 딱 한가지 밖에 없다.
1-1. 객체 비교
▷p458
1) 주소 비교 - 비교연산자
2) 내용 비교
equales() : Object의 메소드로서 객체를 비교하는 메소드이다. 매개 타입은 Object이므로, 모든 객체가 매개값으로 대입될 수 있음을 말한다. 비교 연산자인 ==과 동일한 결과를 리턴한다.
1-2. 객체 문자 정보(toString())
오버라이드를 전제로 하고 만든다. 내용이 없으면 주소값을 리턴한다.
▷p464
hashCode()는 String에 정의된게 아니고 Object에 정의된 것이다.
객체의 주소값을 toString()으로 불러오지 못할때 사용하는 것이다.
2. String 클래스
▷p496
자바스크립트의 String에서 좀더 확장된 형태 (참조형태)
배열을 이용해서 만들수 있다.
public class StringEx02{
public static void main(String[] args){
String str1 = "Hello World";
System.out.println(str1.length());
System.out.println("Hello World".length());
// 문자열(String) -> 문자(char) : charAt()
// 문자열 => 문자열
// String pstr1 = str1.substring(2);
String pstr1 = str1.substring(2,4); // 2,3 가져옴
System.out.println(pstr1);
// 검색
// 위치검색
// lastIndeOf / lastIndeOf
int pos = str1.indexOf("ll");
System.out.println(pos);
// 존재검색
// startsWith / endsWith / contains
boolean b1 = str1.startsWith("He"); // true
//boolean b1 = str1.startsWith("He"); // false
System.out.println(b1);
// 치환
String rstr1 = str1.replaceAll("World", "세상");
System.out.println(rstr1);
// 문자열 +, concat
String jstr1 = str1.concat("안녕");
System.out.println(jstr1);
// 대소문자 변환
System.out.println("hello".toUpperCase());
System.out.println("HELLO".toLowerCase());
// 공백제거
// 양쪽 끝의 공백을 제거한다. 문자열 중간의 공백은 문자열의 일부분이다.
String ostr1 = " hello ";
System.out.println(ostr1 + "::"); // 문자열의 끝을 보기위함
System.out.println(ostr1.trim() +"::");
// 문자열 분리
// split
String sstr1 = "사과,딸기,수박,참외";
String[] strarr = sstr1.split(",");
for(String str : strarr){
System.out.println(str);
}
// 분리된 문자열(=배열) 결함
String fstr1 = String.join(",", strarr); // static 메서드다
System.out.println(fstr1);
// 형식화된 문자열 결합
String fstr2 = String.format("%s:%s:%s", strarr[0], strarr[1], strarr[2]);
System.out.println(fstr2);
}
}