자바_교재
목차 순으로 진행, 수업 중에는 예습해온 문법을 확인한다는 방식으로 참여할 것, 진행 과정 캡처 해 정리 data 종류
*
클래스, 인터페이스, 배열)),변수 사용법
(data 저장),연산자
(산술, 비교 외 다양한 연산자),문장
(2)배열
클래스
인터페이스
추상 클래스
컬렉션 API
(리스트, Stack, Queue, set) => data 저장java data 저장 방법(3)
:java I/O(2)
: 파일 입출력, 표준 입출력(모니터 출력/ 키보드 입력)DB 연동
: java와 oracle 연동 방법 습득 => JDBC함수형 프로그래밍
: 람다 lambda*
mybatis)Java SE
)Java EE
) Java ME
) 🔽 비교
(1) 오라클 계정을 통해 접속 후 다운로드 진행
loli6893@hufs.ac.kr
Lsaporo99@@
https://www.oracle.com/java/technologies/downloads/#java8-windows
JDK를 설치할 경로를 사용자가 변경할 수 있지만 기본경로로 설치한다. 기본 경로는 C:\Program Files\Java 경로이다
java jdk 관련
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_361
PATH = 명령어 ; 명령어 ; ...
; 명령어 ; ...
환경 변수 경로 지정 단계 별 진행 과정
🔽 윈도우 키 우클릭 => 화면 우측 고급
선택
🔽 환경 변수 클릭
🔽 Path 더블 클릭 해 접속
🔽
🔽
반드시 알아야하는 명령어: java, javac
PATH = `C:\Program Files\Java\jdk1.8.0_361\bin
🔽
🔽
PATH = %JAVA_HOME%\bin;
🔽
🔽 설정된 환경변수와 명령어 CMD창에서 확인 (관리자 권한으로 실행 필)
.java
Test
=> 클래스명(인터페이스명) Test.class
컴파일러(javac.exe)
에 의해 컴파일 수행됨결과 출력
인터프리터(java.exe)
에 의해 수행 1) 이클립스(eclipse)
2) intellij
🔽 2021.03 ver 설치
🔽 java study에 다운 파일 복사
🔽 반디집으로 eclipse 파일에 압축 풀기
🔽 이클립스 설치 후 반드시 실행
UTF-8
= > 전세계 모든 언어의 문자열 표현 가능 +) 글꼴 및 크기 변경
🔽 새 프로젝트 진행
🔽 bin에 class 파일이 저장됨
🔽 java에서의 압축 파일 => .jar
.jar
: 여러 개의 클래스 파일이 존재 (클래스 파일들을 압축) => SE.war
: wep application과 관련된 압축 파일.ear
: .jar + .war
을 다시 압축미리 만들어서 제공하는 class 파일들
(API)의 압축 파일 🔽 API 문서 (개발시 도움을 주는 class file)
삭제
새로운 경로 적용
새 프로젝트 추가
컴파일 후
정리
api의 실제 이름은 rt.jar
rt.jar 의 소스파일은 src.zip 내 존재
(자바 프로그램이 실행하는데 필요한 클래스들을 묶어놓은 것이 rt.jar이다.)
자바 패키지의 용도는 윈도우의 폴더와 동일
클래스 명이 숫자로 시작하거나(끝에는 붙일 수 있음), 중간에 공백이 대입되면 안됨.
특수문자 사용 불가 (예외: 언더바, 달러 표시)
_
언더바 사용 가능$
사용 가능 자바 프로그램 개발 과정
1) 소스파일(~.java) 작성
2) javac 명령어로 컴파일 수행
3) java 명령어로 바이트 코드 파일(자바 소스 파일을 javac 명령어로 컴파일한 파일) 실행
4) 실행결과 확인
.java
를 class로 바꾼게 javac
이클립스가 javac 명령어를 통해 컴파일 해줌
이클립스는 기본적으로 .java를 컴파일 할 수 있는 환경
.java 소스를 저장할 때 자동으로 컴파일되도록 기본 설정되어 있음
이클립스에서 바이트 코드 파일 실행 방법
- 메뉴 -> Run -> Run As -> Java Application
🔽 static, public 명령어 삭제시 (문법 오류는 없으나 컴파일 불가)
cf) c언어는 main 기재로 시작할 수 있었으나, java는 format을 정확히 기재해줘야 main 실행 가능
System.out.println("A");
System.out.println("B");
System.out.println();
System.out.print("A");
System.out.print("B");
System.out.println();
// 이름: 홍길동 나이: 20 키 : 178.62 성별: 남 결혼 여부: true
System.out.printf(" ", "홍길동", 20, 178.6, '남', true);
🔽 실행 결과 출력
- sysout + ctrl + space
- 명령어 대소문자 구분 필
- ctrl+ f11 : 컴파일 단축키
- ctrl + alt + 화살표: 한글 복사 단축키
- ctrl + d : 한 줄 삭제
- alt + 화살표 : 줄 이동
정수형의 기본 자료형은 int
실수형의 기본 자료형은 double
boolean의 기본 자료형은 false
Java의 데이터 유형은 8종류의 기본형(primitive type, PDT)과 참조형(reference type, RDT)으로 구성되어 있다.
Java Data 표현식
- 실수는 지수 표현식도 가능
- 정수는 1진수, 2진수, 8진수, 16진수 표현 가능
- char 데이터 표현식
- escape 문자
- boolean 데이터 표현식
- 소문자 false, true 만 사용 가능 (0, 1 사용 불가)
데이터 값을 표현하는 용어 : literal
기본형 8가지를 제외한 자료형 => 참조형(reference type, RDT)에 해당
자료형
에 해당
public class DataType {
public static void main(String[] args) {
// 1.기본형 데이터 출력
// 가. 수치형(정수)
System.out.println("가. 수치형(정수)");
System.out.println(10); // 10진수
// 2진수: 0,1
System.out.println(0b0); // 2진수
System.out.println(0b1); // 2진수
// 8진수: 0~7
// 괄호 안에 있는 00을 정수 literal라고 칭함
System.out.println(00); // 8진수
System.out.println(01); // 8진수
System.out.println(02); // 8진수
System.out.println(03); // 8진수
System.out.println(04); // 8진수
System.out.println(05); // 8진수
System.out.println(06); // 8진수
System.out.println(07); // 8진수
//16진수: 0~9, A B C D E F => 0 ~ 15 표현 가능
System.out.println(0x0); // 16진수
System.out.println(0x9); // 16진수
System.out.println(0xA); // 16진수
System.out.println(0xB); // 16진수
System.out.println(0xC); // 16진수
System.out.println(0xD); // 16진수
System.out.println(0xE); // 16진수
System.out.println(0xF); // 16진수
// 나. 수치형(실수)
// float 타입
System.out.println(3.14F);
System.out.println(3.14f);
// double 타입
System.out.println(3.14);
System.out.println(3.14D);
System.out.println(3.14d);
//다. 문자: 하나의 문자, '', escape 문자, 유니코드 \u0000
System.out.println('A');
System.out.println('남');
System.out.println("홍길동");
System.out.println("홍\n길동");
System.out.println("홍\t길동");
System.out.println("홍\"길동");
System.out.println("홍\'길동");
System.out.println("c:\\temp");
// 유니코드 => properties 확장자 사용시 변환 가능
System.out.println('\uD64D');
//라. 논리값
System.out.println(true);
System.out.println(false);
}
}
🔽 실행 결과
2. 참조형 데이터 출력 => 반드시 new 기재 필
System.out.println(new String()); // 클래스
System.out.println(new int[] {1,2,3}); // 배열
// System.out.println(new); // 인터페이스 표현 못함
package java01;
public class DataType2 {
public static void main(String[] args) {
// 4가지 종류의 정수 저장 범위
// -128~127 => 1byte 가 저장될 수 있는 범위
System.out.println("byte 최소값:" + Byte.MIN_VALUE);
System.out.println("byte 최대값:" + Byte.MAX_VALUE);
// -32768~32767 => 2byte 가 저장될 수 있는 범위
System.out.println("short 최소값:" + Short.MIN_VALUE);
System.out.println("short 최대값:" + Short.MAX_VALUE);
// -2147483648 ~ 2147483647 => 4byte 가 저장될 수 있는 범위
System.out.println("int 최소값:" + Integer.MIN_VALUE);
System.out.println("int 최대값:" + Integer.MAX_VALUE);
// -9223372036854775808 ~ 9223372036854775807 => 8byte 가 저장될 수 있는 범위
System.out.println("long 최소값:" + Long.MIN_VALUE);
System.out.println("long 최대값:" + Long.MAX_VALUE);
//2가지 종류의 실수 저장 범위
System.out.println("float 최소값:" + Float.MIN_VALUE); //1.4E-45
System.out.println("float 최대값:" + Float.MAX_VALUE); // 3.4028235E38
System.out.println("double 최소값:" + Double.MIN_VALUE); // 4.9E-324
System.out.println("double 최대값:" + Double.MAX_VALUE); // 1.7976931348623157E308
}
}
🔽 실행 결과
첫 문자는 반드시 영문자이어야한다.
그 다음 문자부터는 숫자와 문자를 합쳐서 사용 가능하다.
단, _
와 $
는 첫문자로 사용할수 있는 특별한 문자다.
식별자에 대한 길이 제한은 없다.
JAVA는 대소문자를 구별한다.
JAVA 언어 자체에서 특별한 의미를 가지는 식별자이다. - 따라서, 시스템(JAVA)이 미리 정의한 식별자이기 때문에 사용자 지정 식별자로서 사용이 불가능하다
🔽 예약어 종류
ex) public, protected, private, static, final, abstract, interface, classm transient, extends, implements
🔽 시스템 정의 식별자는 명칭 변경 불가능
사용자가 지정 가능한 식별자로서 클래스명,변수명,메소드명,상수 사용시 이름을 지정할 때 사용된다.
🔽 클래스, 변수명, 메서드명, literal
🔽 사용자 정의 식별자는 명칭 변경 가능
+) 리터럴과 상수의 차이