티스토리 뷰
- 식별자
- 클래스, 변수, 메소드, 레이블 등의 이름
- 프로그래머가 작명함
- 작명규칙
- 대소문자 구분
- 길이에 제한 없음
- 영 대소문자, 한글, 숫자, '_', '$'를 사용
- 숫자로 시작할 수 없음
- 키워드, true, false, null은 불가
- 잘못 작명된 예
- 2002WorldCup(숫자로 시작됨), my#class(_와 $외의 특수문자가 들어감), class(키워드가 들어감), World Cup(공백문자가 들어감), lee@knou(특수문자가 들어감)
- 식별자를 만들 때의 관례
- 클래스: 첫 자는 대문자, 단어의 첫 글자는 대문자, 나머지는 소문자
- Car, Hello World, MyClass, String
- 메소드, 변수(필드): 위와 같으나 첫 글자가 소문자
- speed, myCar, gearArea()
- 상수: 모든 문자를 대문자로 표기하고 단어 사이에 '_'를 넣어 구분
- static final int NUM_GEARS = 6;
- 변수의 경우 자료형을 표시하기 위한 접두어를 붙이기도 함
- int nSpeed;
- String szStr1;
- 클래스: 첫 자는 대문자, 단어의 첫 글자는 대문자, 나머지는 소문자
- 키워드
- 키워드
- 의미가 미리 정해진 단어
- 프로그램에서 정해진 의미로만 사용해야 함
- 키워드

- 자료형
- 변수와 자료형
- 변수와 자료형
- 변수를 선언할 때, 저장되는 값의 자료형을 선언
- 메소드를 선언할 떄, 반환 값의 자료형을 선언
- 자료형에 따라 적용 가능한 연산이 다름
- 변수의 종류
- 인스턴스 변수: (클래스 정의에서 static이 아닌 필드) 객체가 소유하는 변수
- 클래스 변수: (클래스 정의에서 static 필드) 객체가 공유하는 변수
- 지역 변수: 메소드 내부(또는 블록 내부)에서 선언된 변수
- 파라미터: 메소드 호출 시 전달하는 값을 저장하기 위한 변수
- 변수와 자료형
- 변수의 사용범위
- 지역 변수와 파라미터
- 선언된 곳부터 해당 블록이 종료될 때까지 유효함
- 메소드가 실행될 때 만들어지고 끝나면 없어짐
- 지역변수는 초기값을 지정한 후 사용해야함
- 지역 변수 선언에서 접근 제어자를 사용하지 않음
- 선언된 곳부터 해당 블록이 종료될 때까지 유효함
- 데이터 필드(인스턴스 변수 or 클래스 변수)
- 선언된 클래스 내부에서 사용 가능
- 클래스 외부에서의 사용가능 여부는 접근제어자(access modifier)에 따라 다름
- 예: class Circle { protected int radius; ... }
- 지역 변수와 파라미터
- Java의 기본 자료형
- char(2 byte, '\u0000'~'uFFFF'), boolean(1 byte, true 또는 false), byte(1 byte, -128~127), short(2 byte, -32768~32767), int(2 byte, -2^31~2^31-1), long(8 byte, -2^63~2^63-1), float(4 byte, 약 1.4E-45~3.4E38), double(8 byte, 4.9E-324~1.8E308) 등
- 리터럴(1)
- 상수
- 리터럴(실제 데이터 값) 또는 값이 변하지 않는 변수
- final int nConst = 3; // 선언 시 초기 값을 지정
- 정수형 리터럴
- byte, short, int, long
- 소문자 l이나 대문자 L로 끝나면 long형, 나머지는 int
- byte와 short는 허용 범위 안에서 int와 호환됨
- 26L, 26, 0b11010(2진수), 032(8진수), 0x1a(16진수)
- 실수형 리터럴
- 소수점이 있는 숫자
- f나 F로 끝나면 float형, 나머지는 double형
- 123.4f, 123.4, 1.234e2
- 문자형 리터럴
- 1개의 문자를 표현하고 16비트 UNICODE로 인코딩됨
- 단일 따옴표를 사용하고 Unicode 사용 가능
- '\u0000'~'\uFFFF'
- (0~65536)의 수와 호환됨
- (char)65 = 'A' = '\u0041'
- '가' = '\uAC00'
- 상수
- 참조형
- 기본형을 제외한 모든 자료형
- 참조 값(주소)을 가지는 자료형
- 배열, 클래스 형 등
- int, anArray[];
- Circle myCircle;
- String szStr;
- 참조형 변수는 저장 공간에 참조 값을 저장함
- 실제 데이터는 별도의 공간에 저장됨
- 선언만 해주면 주소값만 배정되고 실제로 공간을 할당하기 위해서는 new를 통해 해야함
- 기본형 변수는 저장 공간에 값 자체를 저장함
- 기본형을 제외한 모든 자료형
- 형변환
- 묵시적 자료형의 변환
- 작은 타입에서 큰 타입으로는 자동 형변환
- byte -> short -> int -> long -> float -> double
- 개발자 -> 직원 -> 인간 -> 포유류
- 예
- double d = 5; // 대입문
- System.out.println("j=" + 10); // 수식
- double res = Math.sqrt(2); // 메소드 호출시 인자의 유형
- 작은 타입에서 큰 타입으로는 자동 형변환
- 명시적 자료형의 변환
- 큰 타입에서 작은 타입으로 변환할 때는 명시적 형변환이 필요
- 문법은 (자료형)피연산자
- 예
- float f = (float)5.5;
- 큰 타입에서 작은 타입으로 변환할 때는 명시적 형변환이 필요
- 묵시적 자료형의 변환
- 연산자와 제어문
- 연산자의 종류
- 산술 연산자
- +, -, *, /, %, 단한연산자, +-, ++, --
- 비교연산자
- >, >=, <. <=, ==, !=, instanceof
- 논리연산자
- &&, ||, 단항 ! 삼항 ?: & | ^
- 비트연산자
- 비트논리 & | ^ ~ 비트이동 << >> >>>
- 대입연산자
- = += -= *= /= %= &= ^= |= >>= <<= >>>=
- 대부분의 연산자가 왼쪽부터 연산을 수행하지만 대입연산자만 오른쪽부터 연산을 수행한다.
- 형변환연산자
- (자료형)
- 기타
- [] () .
- 산술 연산자
- 연산자의 종류
- 명령 행 매개 변수
- 명령 행 매개 변수
- 프로그램을 실행할 때 전달하는 인자
- main() 함수에 전달되는 인자
- 문자열로 전달됨
- java CommandInputTest Kim 123
- 명령 행 매개 변수
- 변수와 자료형
public class CommansInputTest {
public static void main(String args[]){
System.out.println(args[0]);
int n = Integer.parseInt(args[1]);
System.out.println(n);
}
}
- 문장의 종류
- 수식문: a=b, a++;
- 변수 선언문
- 제어문
- 기타
- 블록문
- {...}
- 레이블문
- 레이블: 문장
- 예외처리문
- try-catch 문
- 동기화문
- synchronized 문
- 블록문
- 제어문
- 프로그램의 실행은 기본적으로 위에서 아래로 순차 실행됨
- 제어문은 실행 흐름을 바꿈
- 제어문의 종류
- 선택문: 조건에 따른 문장의 선택(if문, switch문)
- if문: if(boolean-수식) 문장
- if-else문: if(boolean-수식) 문장 else 문장
- if와 else의 짝짓기
- else는 자기 짝이 없는 가장 가까운 if와 짝을 이룸
- 아래의 경우 가장 밑에 있는 else는 바로 위에 있는 if와 짝을 이룬다.
- 선택문: 조건에 따른 문장의 선택(if문, switch문)
int a = 2;
int b = 2;
if(a == 1)
if(b == 2)
System.out.println("a was 1 and b was 2. ");
else
System.out.println("a wasn't 1.");
-
- 반복문: 조건에 따른 문장의 반복(for문, while문, do-while문)
- switch문
- 다중 선택 구조
- case 조건은 정수(long형 제외)와 호환되거나 String 값
- default는 생략 가능하며, 어떤 case에도 해당되지 않는 경우 매칭됨
- 만족되는 case를 실행한 후 break문을 만날 때까지 계속 실행
- case마다 break를 써줄 것
- switch문
- 반복문: 조건에 따른 문장의 반복(for문, while문, do-while문)
class Study {
public static void main(String[] args) {
switch(n) {
case 10: System.out.println("10입니다."); break;
case 20: case 30: System.out.println("20이거나 30입니다."); break;
default: System.out.println("모르겠습니다."); break;
}
}
}
-
-
- for-each문
- 개선된 for문
- 배열이나 컬렉션의 원소들을 차례로 다룰 대 편리
- 형식은 for (변수선언: 배열) {문장 ... }
- for-each문
- 점프문: 분기문 return문, break문, continue문
- break 문
- break문을 포함하는 가장 가까운 switch문, for문, while문, do-while문의 실행을 끝냄
- 반복문이나 switch문을 빠져나갈 때 사용
- 형식은 break;
- 레이블을 사용하여 특정 블록 또는 특정 반복문을 빠져나갈 수 있음
- 중첩 for문에서 바깥 for문을 종료하는 경우
- 이경우 형식은 break 레이블;
- break문을 포함하는 가장 가까운 switch문, for문, while문, do-while문의 실행을 끝냄
- continue 문
- 반복문 안에서 사용함
- 가장 가까이 있는 반복문의 다음 반복을 위한 조건식으로 즉시 제어를 이동하기 위한 것
- 형식은 continue;
- 레이블을 사용하여 특정 반복문의 다음 반복으로 이동할 수 있음
- 중첩 for문에서 바깥 for문의 다음 반복으로 갈 때
- 이 경우 형식은 continue 레이블;
- break 문
-
'java' 카테고리의 다른 글
[Java] 배열, 참조형 변수, 접근제어자 (0) | 2021.03.28 |
---|---|
[Java] 언어의 기원 (0) | 2021.03.14 |
[Java] OkHttpClient로 동기, 비동기 요청하기 (0) | 2021.02.13 |
[Java] OAuth인증을 통해 Request Token, Access Token 발급받기 (0) | 2020.11.25 |
[Java] return true; return false; (0) | 2020.05.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 병행프로세스
- 알고리즘
- 소프트웨어
- 자료구조
- 운영체제
- 클래스
- dfs
- BFS
- 동적프로그래밍
- 입출력장치
- C++
- javascript
- 인접리스트
- 교착상태
- 재귀함수
- 이진탐색
- 세마포어
- 최단경로
- 인접행렬
- 퀵정렬
- Java
- react
- Stack
- 스텍
- 구조체
- C
- client side rendering
- 배열
- stackframe
- server side rendering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함