Java 설치후 기본 세팅
- 다운받은 java 파일의 bin 폴더 경로를 고급 시스템 - 환경 변수 - 시스템 변수 - Path에 복사하여 맨 위로 이동
- 자바 프로젝트를 외부에서 다운받아 import했을 때 프로젝트에 오류가 뜬다면 Build Path에서 java 파일이 제대로 연동되어있나 확인해볼 것! (보통 java파일이 연결이 안되어 있어서 그런거니 연결만 다시 제대로 해주면 해결됨)
Java 기초
- ctrl+space bar -> 명령문 형태 자동 완성
- syso 입력후 ctrl+space bar = System.out.println() 자동 생성
- // = 한줄 주석처리, /* ~ */ = 부분 주석처리
- 자바에서 데이터 삭제는 원래 있던 데이터를 null값으로 대체하는 것을 의미
1. 패키지(package) = 비슷한 클래스를 모아둔 자바의 디렉토리
- 소문자와 .으로 명명
- 외부 패키지(클래스) 사용 = import 패키지명.클래스명
2. 데이터 타입 (크기)
- 정수 = byte(8), short(16), int(32), long(64)
- 실수 = float(32), double(64)
- 문자 = char(16)
- 논리 = boolean(8)
숫자 연산
- 기본 연산 : +, -, *, /
System.out.println(10/0); -> 0으로 나누기 하면 연산 자체가 안됨 (Error)
- 증감 연산 : ++, --
System.out.println(v1); -> 10
System.out.println(v1++); -> v1 출력 후 +1 = 10
System.out.println(v1); -> 11
System.out.println(++v1); -> +1 적용 후 v1 출력 = 12
논리 연산
- && : 모든 연산자가 true -> true
- || : 연산자중 하나라도 true -> true
- ! : 논리값을 반대로 변환
- ^ : 둘 중 하나는 true, 또 다른 하나는 false이어야 -> true
비교 연산
- 비교 연산 : <, >, <=, =>, ==, !=
- 대입 연산 : =, +=, -=, ...
- ==, equals() (문자열 비교시에는 equals가 효율적)
조건문
1. if문 = 주어진 조건이 참일 경우, 주어진 기능 수행
if(조건식) {
수행 코드;
...
}else if(조건식){
수행 코드;
...
}else {
수행 코드;
}
2. switch/case문 = 변수 값에 따라 수행코드 결정
switch(변수값){
case 입력값1:
수행 코드;
case 입력값2:
수행 코드;
...
default:
수행 코드;
}
반복문
- 1. for문 : 반복 횟수가 정확할 때
for(변수 선언과 초기화; 조건식; 증감식){
수행 코드;
...
}
2. for Each문
for(타입 변수 : 데이터 저장객체){
수행 코드;
...
}
3. while문 : 반복 횟수가 불명확 또는 무한
초기식;
while(조건식){
수행 코드;
...
증감식;
}
4. do ~ while문 : 반복 조건 검증전 한번 실행후, while문
초기식;
do{
실행 로직, 증감식;
}while문(조건식);
참조 타입
- 기본 타입처럼 실제 데이터 값이 아닌 객체의 주소를 참조하는 타입
- 변수 스택(stack), 객체 힙(heap) 영역에서 생성
- 기본 값 : null
- 참조할 객체가 없을 경우, NullPointerException 발생
- Java는 array를 생성할때 해당 array의 원소들의 데이터 타입을 지정해야함
(array는 동일한 데이터 타입의 원소만을 담을 수 있음)
- 값이 없는 빈 array를 생성할 시에는 [] 안에 숫자를 입력하여 길이를 지정해줘야함
- 얕은 복사(Shallow Copy) = 새로운 객체에 기존 객체를 지정하여 복사 (수정하면 기존 객체, 복사한 객체 모두 반영)
- 깊은 복사(Deep Copy)
1. 새로운 객체에 기존 객체.clone()을 지정하여 복사
(새로운 객체가 기존 객체와 독립적이라 기존 객체를 수정해도 새로운 객체에 영향 X 그 반대도 마찬가지)
2. Arrays.copyOf(기존 array 객체, 생성할 array의 길이)
-> 길이가 짧으면 인덱스 번호에 맞게 그 길이 만큼만 복사해오고 길이가 길면 [지정한 길이-기존 array 길이] 만큼 새 원소 추가 가능
클래스
- 클래스(class) = 객체를 만들기 위한 설계도
- 클래스의 구조
class 클래스명 {
필드(Field) = 객체 고유의 데이터
생성자(Constructor) = 객체 생성을 위한 필수 요소
메소드(Method) = 기능 수행을 위해 요소
}
- 객체(Object) = 물리적으로 존재하는 물체 혹은 추상적인 개념
-> 소프트웨어적으로 객체가 구현되면 인스턴스(Instance)
- 메소드 생성시 return할 원소의 데이터 타입을 입력하여 생성
- 메소드 생성시 원소의 데이터 타입과 무관하게 메소드를 생성하려면 데이터 타입 대신 void를 입력
- 메소드 생성시 데이터 타입을 지정하면 메소드 전체 및 메소드 안에 있는 조건문에 대한 return값을 모두 무조건 지정해줘야 하고 데이터 타입을 지정하지 않고 void로 메소드를 생성하면 메소드 전체든 메소드 안에 있는 조건문이든 return값을 지정해주지 않아도 됨
- 클래스 생성시 [클래스명(){}] 형태의 기본 생성자 혹은 구체적인 변수에 대한 설정을 할 수 있는 사용자 정의 생성자를 정의해야 함 (즉, 클래스 생성시 어떤 형태이건 생성자를 최소 하나 이상 정의해줘야함)
- 클래스 생성시 다른 클래스에서의 객체를 생성하는 명령어를 입력하면 입력된 순서에 상관없이 그 명령어가 1순위로 실행됨
'빅데이터 부트캠프 > Java' 카테고리의 다른 글
빅데이터 부트캠프 64일차 (0) | 2022.10.07 |
---|---|
빅데이터 부트캠프 63일차 (0) | 2022.10.06 |
빅데이터 부트캠프 39일차 (Java) (0) | 2022.08.29 |
빅데이터 부트캠프 38일차 (Java) (0) | 2022.08.26 |
빅데이터 부트캠프 36일차 (0) | 2022.08.24 |
댓글