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 등
전의 부호
\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
제어문 While, do-while, for
While: 조건문이 참인 동안 while문의 수행할 문장들을 반복하여 수행
For: for (초기치; 조건문; 증가치)
제어문의 Break, continue, return
break: loop을 빠져나갈때 사용
Countinue: 조건문의 맨 처음으로 돌아가게할 때 사용
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.”;
'STUDY_CS' 카테고리의 다른 글
Java#3 생성자, 객체, 캡슐화, 상속, 다향성 (0) | 2022.09.06 |
---|---|
Java#2 OOP, 객체클래스, 멤버 변수, 멤버 매소드, 매소드 오버로딩 (0) | 2022.09.06 |
Java#1 안드로이드 어플 프로젝트 (0) | 2022.09.01 |
Qt#2 Qt Creator, Qt Base Class, Signal&Slot (0) | 2022.08.18 |
Qt#1 Qt프로그래밍 입문 (0) | 2022.08.14 |