자바_교재 목차 순으로 진행, 수업 중에는 예습해온 문법을 확인한다는 방식으로 참여할 것, 진행 과정 캡처 해 정리 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
🔽 사용자 정의 식별자는 명칭 변경 가능


+) 리터럴과 상수의 차이
