본문 바로가기

STUDY_CS

Java#Appendix 기초지식 Review

JAVA기초지식 Review 

본격적인 Java공부에 앞서 Java의 기본기를 닦고 들어가기 위해 작성했습니다.

식별자

식별자: identifier, 프로그래머가 프로그램의 각각 원소에 네이밍 시 사용하는 식별자 

java에서, 식별자는 언더바_, 달러$로 시작함 

Ex: identifier userName, User_Name, _sys_val, $change; 허용 X: 2mail, room#, class 

예약어

예약어: reserved word, 컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할  없는 단어; goto&const 예약어로 지정되어있지만 java에서 사용하지 않음 

Data type

상수형 정의: 

final typeSpecifier varName=value;

//Ex: final int NUM = 100;

 

변수형 정의: 

typeSpecifier varName [=value]

//Ex: int count; char c = ‘a’;

 

Boolean: 불리언(boolean)은 논리학에서 참(true)과 거짓(false)을 나타내는 데 사용됩니다 

//Ex: Boolean b = true;

 

char: Char은 한개 문자에 대한 자료형; 16byte, 범위: 0~65535

Ex: char c = 'a';

 

Byte, short, int, long: 정수 type 

Double, float: 실수 type

++ class, Interface, string 등

byte, short, int, long의 범위

 

int, long의 범위

 

전의 부호

\ddd: 1~3자리 8진수 데이터 ddd

\uxxxx: 1~4자리 16진수 데이터 xxxx

\’: ‘

\\: \

\r: 행의 처음으로 커서 이동 (carriage return) 

\n: 새로운 줄로 바꿈 (new line) 

\b: back space

\f: 프린트 출력 시 현재 페이지 마침 (form feed) 

\t: tab

 

데이터 타입 변환

자동 데이터 타입 변환은 low level to high level 변환 

Byte, short, char -> int -> long - float - double 

강제 데이터 타입 변환은 high level to low level시 사용 

Ex: int i; byte b = (byte)i; //int i byte형으로 강제전환 

 

실수의 최대&최소값 

최댓값: Float.MAX_VALUE, Double.MAX_VALUE

최솟값: Float.MIN_VALUE, Double.MIN_VALUE

무한대: Float.POSITIVE_INFINITY, Double.POSITIVE_INFINITY

무한소: Float.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY

0/0: Float>NaN, Double.NaN 

 

제어문 If-else, switch 

If-else  / 출처: wikidocks
switch / 출처: wikidocks

 

제어문 While, do-while, for

While: 조건문이 참인 동안 while문의 수행할 문장들을 반복하여 수행 

while / 출처: wikidocs

For: for (초기치; 조건문; 증가치) 

for / 출처: wikidocs

 

제어문의 Break, continue, return

break: loop 빠져나갈때 사용 

break / 출처: wikidocks

 

Countinue: 조건문의  처음으로 돌아가게할  사용 

Countinue / 출처: wikidocks

 

Array 

Array는 제일 간단한 복합 데이터type

 

Reference: 모든 레퍼런스는 32비트의 메모리를 사용하여 대상의 실제 주소를 가리킴

Ex: Data d = new Date(); //d Date형의 대상이며 Data 대상이 있는 메모리를 가르키는 32비트의 데이터 

 

일차원 Array

일차원 Array 정의: type arrayName[]; 

Type는 java의 모든 데이터 type을 사용할 수 있음 

Ex: 

int intArray[];

Date dateArray[];

int []intArray;

Date []dateArray;

 

일차원 Array의 초기화

일반 초기화:

int intArray[] = {1,2,3,4};

string stringArray[]= { “abc”, “How”, .. }

 

다이나믹 초기화:

int intArray[];

intArray = new int[5];

 

복합유형의 Array:

String stringArray[];

stringArray = new String[3];

stringArray[0] = new String(“How”); 

stringArray[1] = new String(“are”);

 

다차원 Array

Java에서 다차원 Array는 Array의 Array로 취급함 

 

다차원Array 정의: 

type arrayName[][];

type [][]arrayName;

 

다차원 Array의 초기화:

정적 초기화: 

int intArray[][]={{1,2}, {2,3} , … };

Java는 다차원 Array를 Array의 Array로 보기 때문에 매항목 같은 크기일 필요 없음 

 

다이내믹 초기화: 

String s[][] = new String[2][2];

 

문자열

Java에서 문자열은 object로 취급 

String class와 StringBuffer 둘 다 문자열로 볼 수 있음 

상수 문자열은 “”안에 넣어주면 됨
string클래스는 length(), charAt(), indexOf(), lastIndexOf(), getChars(), getBytes(), toCharArray()등을 지원함 

 

문자열 수정

String class는 불변하는 문자열을 나타내기 때문에 내용에서 직접 수정할 수 없고 String class의 대상을 copy 하여 동시에 해당 문자열을 수정함 

<지원하는 함수 List>

concat(): string연결, 초기값이 null 이면 안됨, 연결할 때 새로운 string 생성하여 새 주소 할당 

replace(): 기본 문자를 바꿀 문자로 치환 //replace([기존문자], [바꿀문자]) 

substring(): 입력받은 위치를 기준으로 문자열을 잘라 리턴 //String[] substring(int index)

toLowerCase(): 대상 문자열 모두 소문자로 변환 //str1.toLowerCase();

toUpperCase(): 대상 문자열 모두 대문자로 변환 //str2.toUpperCase();

 

문자열 비교 

Equals(), equalsIgnoreCase() 지원하며 이는 ‘==’와 비슷한 의미를 지니지만 다른 점은 ‘==’는 두 object가 같은 지를 판단하지만 equals는 두 문자열의 매항목이 같은지를 비교함 

 

문자열 변환

Java.lang.Object는 toString()을 지원하여 대상을 문자열로 변환하게 지원함 

 

문자열 “+”

문자열의 연결을 뜻함

String s = “He is” + “age” + “years old.”;