1. 제어의 이동
(1) continue
1) 반복블럭안에서만 사용 가능
2) (조건에 맞으면) '건너뛴다'
cf) labeled continue 문
(2) break
1) 반복블럭이나 스위치블럭 안에서만 사용 가능
2) 자기를 둘러싼 첫번째 블럭을 '나간다'
cf) labeled break 문
(3) return
1) 어디에서나 사용 가능
2) 호출한 곳 or 놈으로 '되돌린다'
2. 연산자( Operator )
(1) (데이터들을) 연산하게 하는 '기호'
(2) 종류
1) 산술 ex) +, -, *, /, %
cf) 연산자 오버라이딩
-> 양쪽 데이터 중 하나이상이 String 타입이면 +는 결합연산자
2) 증감 ex) ++, --
3) 대입 ex) =
4) 산술대입 ex) +=, -=, *=, /=, %=
5) 비트 ex) &, |, ^, ~, 시프트(<<,>>,>>>)
6) 비교 ex) ==, !=, <, >, <=, >=
7) 논리 ex) &, &&, |, ||
// &&이나 ||인 경우, 앞에 나온 결과값이 논리적으로 확정이되면 되면 그 뒤에건 계산 및 비교를 안함으로써 약삭빠르고 효율적인 방향으로 가는 것임, 약삭빠르고 원칙을 중시하지 않으면 커플임을 기억!
8) 논리대입 ex) &=, |=
9) 조건 ex) A? B:C
10) instanceof ex) 객체 instanceof 클래스
// instanceof는 무조건 클래스, 참조형만 사용할 수 있다. 참조형으로 변환한 8가지를 기억하라 ex) Integer, String 등등
3. 배열(Array)
같은 타입의 데이터 '저장소'로써 생성될 때 크기가 고정되는 '객체'
- 배열의 크기는 배열의 갯수, 배열의 번호는 배열의 인덱스라 한다.
- 배열은 같은 타입만 저장할 수 있다.
- 한번 생성되면 배열의 방을 늘리거나 줄일 수 없다.
- 배열 작성 시 하단 내용 중 아무거나 상관없다.
1) String []items;
2) String[] items;
3) String [] items;
4) String items[];
(1) 선언
type 배열변수[]; //ex) String items[];
(2) 생성
배열변수 = new type[크기]; //ex) items = new String[4];
(3) 초기화
배열변수[인덱스] = 데이터; //ex) items[0] = "봄";
(4) 선언 및 생성
type 배열변수[] = new type[크기]; //ex) String items[] = new String[4];
(5) 선언 및 생성 및 초기화
type 배열변수[] = {데이터1, 데이터2, ...};
//ex) String items[] = {"봄", "여름", "가을", "겨울"};
(6) 배열의 default 값
- byte, short, char, int: 0
- long: 0L
- float: 0.0f
- double: 0.0
- boolean: false
- 참조형: null
(7) 형변환
형변환이 가능한 데이터라면 형변환되어져서 입력 됨
//ex) int is[] = {b, s, c, i, (int)f};
우리반 명단이 들어가있는 우리반.txt
와 같은 위치에 있어야 함
import java.io.*;
import java.util.Random;
class Listing {
String fname = "우리반.txt";
BufferedReader br;
FileReader fr;
String names[] = new String[20];
Random r = new Random();
int n = 20;
int i;
Listing(){
i = r.nextInt(n); //0 ~ (n-1)
// System.out.println("i: " + i);
}
void readF() throws IOException {
fr = new FileReader(fname);
br = new BufferedReader(fr);
String line = null;
int i = 0;
while((line = br.readLine()) != null){
names[i++] = line;
}
//System.out.println("배열에 이름 옮기기 완료!");
}
void showNames(){
//for(int i=0; i<names.length; i++){
System.out.println("당첨자: " + names[i]);
//}
}
public static void main(String[] args) throws IOException {
Listing list = new Listing();
list.readF();
list.showNames();
}
}
instanceof
연산자란 대체 무엇인가?instanceof
로 형 변환 가능한 타입인지 연산한 뒤 형 변환이 가능하다면 true
로 반환하고, 가능하지 못한다면 false
로 반환하는 연산자이다.