.jar : 자바 라이브러리 압축파일 형식
자바의 압축파일명 : 자바 클래스 파일을 압축
패키지 단위로 압축 ★
패키지 : 비슷한 종류의 클래스들을 담은 폴더(디렉토리)
라이브러리 : 미리 사용할 목적으로 만들어 놓은 패키지
ex)
java.lang : 자바의 기본 패키지 (임포트 불필요)
java.net : 네트워크 관련 패키지
>> 자바를 배우는 것은 라이브러리를 배우는 것
>> 공식 API문서에서 확인가능 (https://docs.oracle.com/javase/8/docs/api/)
자바 프로젝트 생성 순서 ( ctrl + N )
*프로젝트 : 패키지 단위
1. 프로젝트 생성
2. 패키지 생성 >> 패키지명은 도메인의 역순 ex) org.java.variableex
com.java
org.java
*(TIP : 기본적으로 내장된 패키지명과 같을경우 충돌되므로 유의)
3. 클래스 생성 >> 첫 글자는 대문자 (개발자들간의 약속)
키워드(예약어) : 이미 존재하는 클래스명
이클립스 프로그램 실행방법
- 우클릭 (Run as > Java Application)
- 상단 메뉴 (녹색 재생버튼)
- 바로실행 ( Ctrl + F11 )
변수 (Variable)와 자료형 (Data Type)
변수 : 하나의 자료(Data)를 메모리에 저장할 수 있는 공간
1) 저장공간 (메모리 주소)
2) 참조값 (메모리 주소에 할당되는 값)
(자료 >> 텍스트, 이미지, 파일, 동영상, 객체 등)
변수의 동작순서
- 변수선언 (기본적으로 같은 공간에서 동일한 이름의 변수명 사용 불가 > 예외존재)
- 변수를 초기화 >> Data를 추가
- 변수를 메모리에 할당
주석 : 소스코드에 적는 메모. (컴파일 x 언어마다 주석처리 방법 다름)
// : 한 줄 주석
/ / : 여러 줄 주석
데이터 단위
bit : 데이터의 기본단위 (1bit > 0 or 1)
byte : 메모리의 기본단위 (8bit)
1byte = 8bit (-128부터 +127까지 256까지(2^8)의 데이터를 담을 수 있음)
ex) 64bit 운영체제 >> 8byte
자바의 기본자료형 (Primitive Types) >> 1개의 데이터
크기(byte) 1 2 4 8
정수형 byte short int long
실수형 float double
문자형 char (C언어에서는 1byte)
논리형 boolean
1byte = 8bit >> -2^7 ~ +2^7-1 (-128~127) >> 2진수를 10진수로 바꾸면 데이터 손실 발생(-1)
1short = 16bit >> -2^15 ~ +2^15-1
1int = 4byte = 32bit >> -2&31 ~ +2^31-1
★변수에 데이터유형 범위를 벗어난 값을 넣으면 에러(Type mismatch) 발생
★같은 크기의 데이터형이어도 실수값이 더 큼 (실수 > 정수)
Casting(형 변환)
자동형변환 규칙
- 큰 자료형 + 작은 자료형 ⇒ 큰 자료형으로 변환10 + 1.1 = 10.0 + 1.1
- int + double = double
- int형 아래 자료형의 연산시 ⇒ int형으로 변환byte b2 = 10;
- byte b3 = b+b2; (byte + byte ⇒ int + int)
- byte b = 10;
강제변환
- 변수의 타입 변환
- 데이터의 타입 변환int i = (int) 1.1; ⇒ 소수점 이하(0.1) 소실byte b3 = (byte)(b+b2); ⇒ b+b2를 먼저 계산 후에 byte로 강제 변환
- int b3 = b+b2;
- (자료형) 데이터;
자바의 객체형 타입 >> {속성:값} (메모리 주소)
참조형(객체형==Object형) ⇒ new 객체();
*(참조형 기본 : null)
- 문자열(String) - 데이터 타입이 아닌 객체(클래스)
String str2 = “문자열”; ⇒ 일반적인 형태**str1 = “문자열”;**
- String str1 = new String();
- 배열(Array)int[] arr1 = new Array();
- int[] arr2 = {1,2,3,4,5};
- new Array();
- 클래스(Class) - 객체(인스턴스)를 만들기 위한 설계도2) 사용자정의 클래스 (개발자가 직접 작성)
- 1) Java library (미리 만들어진 클래스)
- 인터페이스(interface)
- new를 생성 불가능
시스템 출력
System.out.println(); ⇒ 출력시 엔터(줄바꿈) 포함
System.out.print(); ⇒ 형식(int, float, double 등)에 구애받지 않고 문자를 그대로 출력.
**줄바꿈 필요 없을 때 사용**
System.out.printf(”%d”, 10); ⇒ 서식문자(형식을 신경써야할 때) 출력시 사용
변수 출력
System.out.println(”HelloWorld !”);
클래스명.속성.메소드(메소드 실행에 필요한 값)
System.out.println(”문자열”+변수);
문자열은 그대로, 변수의 참조값이 출력
*유용한 단축키
Ctrl + Alt + 방향키(아래) : 줄단위 복붙
Alt + 방향키(위,아래) : 줄단위 위치 바꾸기
변수 명명규칙
.키워드(예약어 : 기본적으로 이미 정의된 이름)를 사용할 수 없다.
.숫자로 시작하지 못함
.공백 불가
._, $ 이외의 특수문자 불가
.소문자로 시작
.다른 문자가 시작되면 대문자로 구분
.영어 사용
변수의 종류 (종류에 따라 메모리 저장 위치가 다름)
- 객체 변수 (인스턴스 변수) > Non-Static Field인스턴스를 생성 후 접근
- 클래스 내부의 변수
- 클래스 변수 (클래스 멤버)
- 인스턴스를 생성하지 않아도 접근 가능
- 지역 변수 (메소드 안에 선언)
- 메소드 안의 변수
- 인자변수 (매개인자)메소드 매개인자 (호출하기 위한 변수?)
- 지역변수의 일종
- 객체 참조 변수
- 객체(인스턴스)의 주소값을 저장
상수 : 수식에서 변하지 않는 값(변수)
*상수를 사용하는 경우 : 변하지 않는 값, 의미있는 값을 사용할 때
- 상수의 선언 >> 선언된 상수는 변경 불가능
- final int MAN; (final 상수타입 상수명;) >> 상수명은 보통 대문자로
- 상수의 사용>> J에는 값을 담을 수 있는 기회가 한 번만 허락됨
- J = 10; (상수명 = 값;)
- 상수의 명명
- 상수명은 대문자 사용
스캐너(Scanner) ⇒ 콘솔에서 직접 입력을 받는 방법
rt.jar > java.util 패키지에서 임포트 (import java.util.Scanner;)
콘솔에 입력하는 동안 임시저장소(버퍼)에 저장
시스템 입력
Scanner scn = new Scanner(System.in);
String str = scn.next();
Int num = scn.nextInt();
scn.next(); // next() - 공백 미포함 ex) ”이름”,”문자열”
scn.nextLine(); // nextLine() - 공백 포함 ex) “문자열 입력”
scn.nextInt(); // nextInt() - 정수형 입력
scn.nextDouble(); // nextDouble() - 실수형 입력
- String(문자열)으로 입력받기 :
- next() (공백 기준으로 입력값 구분)혹은 nextLine() (줄바꿈 기준으로 입력값 구분) 사용
- Int(정수)로 입력받기 :
- nextInt() 사용
- 공백 또는 개행(줄바꿈)을 기준으로 읽는다.
'자바 웹개발 국비과정 > Java Programming' 카테고리의 다른 글
다차원배열 (22.11.04) (0) | 2022.11.14 |
---|---|
배열 (22.11.03) (0) | 2022.11.14 |
반복문 (22.11.01) (0) | 2022.11.14 |
연산자, 제어문 (22.10.31) (0) | 2022.11.14 |
Java (22.10.27) (0) | 2022.11.08 |