기본적인 데이터 형식
-문자형 : char(2byte), String(문자열)
-정수형 : byte(1byte), short(2byte), int(4byte), long(8byte)
-실수형: float(4byte), double(8byte)
-불리언형 : boolean(true or false)
If문
: 조건이 true, false인지에 따라서 어떤 작업을 할 것인지를 결정
if(조건식) {
// 조건식이 true일 때 이 부분 실행
} else {
// 조건식이 false일 때 이 부분 실행
}
switch()~case문
: 여러 가지 경우에 따라 어떤 작업을 할 것인지를 결정
switch(값) {
case 값1:
// 값1이면 이 부분 실행
break;
case 값2:
// 값2이면 이 부분 실행
break;
default:
// 아무것도 해당하지 않으면 이 부분 실행
break;
}
배열
: 여러 데이터를 한 변수에 저장하는 데 사용
-일차원 배열
int one[] = new int[4];
one[0] = 10;
one[3] = 20;
-이차원 배열
int two[][] = new int[3][4];
two[0][0] = 100;
two[2][3] = 200;
-배열 선언하면서 바로 값 대입
int three[] = { 1, 2, 3 };
-배열 크기 확인
three.length
for문
: 조건문과 함께 프로그래밍의 필수 요소
for(초기식; 조건식; 증감식) {
// 이 부분을 반복 실행
}
for(변수형 변수: 배열명) {
// 이 부분에서 변수를 사용
}
while문
while(조건식) {
// 조건식이 true인 동안 이 부분을 수행
}
변수
-전역변수(global variable): 모든 메소드에서 사용 가능
-지역변수(local variable): 메소드 내부에서만 사용 가능
try~catch문
: 프로그램 실행 중에 발생하는 오류 처리
캐스트 연산자
: 안드로이드 프로그래밍에서 클래스형 데이터의 강제 형식 변환에 사용
Button button1;
button1 = (Button) findViewById(R.id.btn1);
클래스(class)
: 변수(필드) + 메소드(method)로 구성
-메소드 오버로딩(Overloading): 클래스 내에서 메소드의 이름이 같아도 파라미터의 개수나 데이터형만 다르면 여러 개의 선언이 가능
public class Car {
String color;
int speed;
Car(String color, int speed) {
this.color = color;
this.speed = speed;
}
Car(int speed) {
this.speed = speed;
}
Car() {
}
}
-정적 필드, 정적 메소드, 상수 필드
-클래스의 상속(inheritance): 기존 클래스를 그대로 물려받으면서 필요한 필드나 메소드를 추가로 정의
인터페이스(Interface)
-class 키워드 대신 interface 키워드를 사용해서 정의
-내부에는 추상 메소드를 선언
-클래스에서 인터페이스를 받아서 완성할 때 implements 키워드 사용
-Java는 다중 상속을 지원하지 않지만, 인터페이스를 사용해서 다중 상속과 비슷하게 작성할 수 있음
패키지(Package)
-클래스와 인터페이스가 많아지면 관리가 어려워 패키지 단위로 묶어서 관리
-사용자가 생성한 클래스가 포함될 패키지는 *.java 파일 맨 첫 행에 지정
제네릭스(Generics)
-데이터 형식의 안전성을 보장하는 데 사용
-사용자가 정의한 클래스형에 사용