1. 변수와 자료형

(1) 변수(variable)

- 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간

int level;          //정수형 변수 level을 선언
level = 10;         //값 10을 level 변수에 대입

int level = 10;     //level 변수 선언과 동시에 값을 대입(초기화)

 

(2) 기본 자료형

- 정수형: byte, short, int, long

- 문자형: char

- 실수형: float, double

- 논리형: boolean

int iNum = 10;
byte bNum = (byte)iNum;     //강제로 형을 바꾸려면 바꿀 형을 괄호로 써서 명시해야 함

double dNum = 3.14;
int iNum2 = (int)dNum;      //실수 자료형 double을 정수 자료형 int로 형 변환

 

2. 연산자

(1) 기본 연산자

- 단항/이항/삼항 연산자, 대입 연산자, 부호 연산자, 산술 연산자, 증가/감소 연산자, 관계 연산자, 논리 연산자, 복합 대입 연산자, 조건 연산자

(2) 비트 연산자

- 비트 논리 연산자: &(AND) 연산자, |(OR) 연산자, ^(XOR) 연산자, ~(반전) 연산자

- 비트 이동 연산자: << 연산자(왼쪽으로 비트를 이동), >> 연산자(오른쪽으로 비트를 이동), >>> 연산자(오른쪽으로 비트를 이동, 왼쪽에 채워지는 비트 값이 부호 비트와 상관없이 무조건 0이 됨)

 

3. 조건문

(1) if문과 if-else문

- 하나의 조건을 만족하는 경우와 그렇지 않은 경우

if (조건식) {
    수행문;        //조건식이 참일 경우에 이 문장을 수행
}

if (조건식) {
    수행문1;       //조건식이 참일 경우에 이 문장을 수행
} else {
    수행문2;        //조건식이 거짓일 경우에 이 문장을 수행
}

 

(2) if-else if-else문

- 하나의 상황에서 조건이 여러 개인 경우

- if-else문은 하나의 조건을 만족하면 나머지 조건을 비교하지 않고 다음 수행문으로 넘어감

- if문으로만 이루어진 코드는 조건마다 각각 비교

if (조건식) {
    수행문1;      //조건식1이 참일 경우에 수행함
} else if (조건식2) {
    수행문2;      //조건식2가 참일 경우에 수행함
} else if (조건식3) {
    수행문3;       //조건식3이 참일 경우에 수행함
} else {
    수행문4;       //위의 조건이 모두 해당하지 않는 경우에 수행함
}
수행문5;         //if-else if-else문이 끝난 후 수행함

- if-else문은 조건 연산자로도 구현할 수 있음

max = (a > b) ? a : b;

 

(3) switch-case문

- 조건식의 결과가 정수 또는 문자열 값이고 그 값에 따라 수행되는 경우가 각각 다른 경우

- default문은 if-else if문의 else문 역할을 함(어떤 case에도 해당하지 않으면 맨 마지막 default문 수행)-

- break문은 조건에 맞는 수행문을 수행한 후에 수행을 멈추고 swtich-cases문을 빠져나가도록 함

switch(조건){
        case 값1:수행문1;
        break;
        case 값2:수행문2;
        break;
        case 값3:수행문3;
        break;
default:수행문4;
        }

 

- case문 동시 사용

case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31;
        break;
case 4: case 6: case 9: case 11: day = 30;
        break;
case 2: day = 28;
        break;

4. 반복문

(1) while문

- 조건식이 참이 동안 수행문을 반복해서 수행

int num = 1;        //초기화
int sum = 0;
while (num <= 10){  //조건 비교
    sum += num;
    num++;          //증감식
}

(2) do-while문

- { } 안의 문장을 무조건 한 번 수행 한 후에 조건식을 검사

- 조건이 만족하는지 여부를 마지막에 검사

do {
    수행문;
    ...
} while (조건식);
    수행문2;
    ...

(3) for문

- 중첩된 반목문: 외부 for문과 내부 for문이 어떤 순서로 실행되는지 잘 이해해야 함

- continue문: 반복문 안에서 continue문을 만나면 이후의 문장은 수행하지 않고 for문의 처음으로 돌아가 증감식 수행, 특정 조건에서는 수행하지 않고 건너뛰어야 할 때 사용

//홀수일 때만 더하고 짝수일 때는 더하지 않는 프로그램
int total = 0;
int num;

for (int num = 0; num <= 100; num++) {      //100까지 반복
    if (num % 2 == 0)                       //num값이 짝수인 경우
        continue;                           //이후 수행을 생략하고 num++ 수행
    total += num;                           //num값이 홀수인 경우에만 수행
}
//변수 num이 짝수일 때는 이후 수행을 생략하고 for문의 증감식으로 돌아가서 num에 1을 더함
//num이 홀수일 때는 계속 진행(continue)해서 total += num; 문장을 수행

 

- break문

int sum = 0;
int num = 0;
//0부터 시작해서 숫자를 1씩 늘리면서 합을 계산할 때 숫자를 몇까지 더하면 100이 넘는지
for (num = 0; ; num++) {    //조건식을 생략하는 대신 break문을 사용
    sum += num;
    if (sum >= 100)         //sum이 100보다 크거나 같을 때(종료 조건)
        break;              //반복문 중단
}

 

4.배열

(1) 배열

- 배열: 자료가 연속적으로 나열된 자료 구조

int[] studentIDs = new int[10];     //int형 요소가 10개인 배열 선언
//알파벳 문자와 아스키 코드 값 출력하기
char[] alphabets = new char[26];
char ch = 'A';

for (int i = 0; i < alphabets.length; i++, ch++) {
    alphabets[i] = ch;      //아스키 값으로 각 요소에 저장
}

for (int i = 0; i < alphabets.length; i++) {
    System.out.println(alphabets[i] + "," + (int) alphabets[i]);
}

-  배열 복사하기: for문 반복 복사,  System.arraycopy( ) 메서드

System.arraycopy(array1, 0, array2, 1, 4);
// (복사할 배열, 복사할 첫 위치, 대상 배열, 붙여 넣을 첫 위치, 복사할 요소 개수)

- 얕은 복사/깊은 복사

- 향상된 for문과 배열: 배열의 처음에서 끝까지 모든 요소를 참조할 때 사용하면 편리 

String[] strArray = {"Java", "Android", "C", "JavaScript", "Python"};

for (String lang : strArray) {
    System.out.println(lang);
}

(2) 다차원 배열

- 조건식이 참

(3) ArrayList

- 조건식이 참

 

 

 

6. 클래스와 객체

7. 상속

8. 다형성

9. 추상 클래스

10. 인터페이스

11. 내부 클래스

12. 입출력

13. 예외 처리

14. 컬렉션 프레임워크

15. 람다식

16. 스트림

'공사중' 카테고리의 다른 글

기초 수학  (0) 2023.11.13
코딩테스트 입문  (0) 2023.11.10

+ Recent posts