자바

java 복습 정리

alsdnr6672 2024. 7. 10. 18:24

자바 프로그래밍 기본

1) main 메소드

자바 프로그램 실행시 꼭 필요한 main메소드

public static void main(String[] args)

 

2) 클래스(class)

- 객체를 만들기 위한 일종의 설계도 (도화지)

 - 자바에서 모든 코드는 클래스 내에 작성

 

3)주석

- 범위, 여러 줄에 적용 : /* 이 안에 내용 작성 *

 - 한 줄에만 적용 : // 이 곳에 내용 작성

 

4)변수

메모리 내에 데이터를 저장하는 공간

변수 표현법

자료형 변수명; 
자료형 변수명 = 값;

 

-자료형 종류

 * 문자 : 문자형 ('a', '0', ), 문자열 ("a", "asd", ..)
            - 문자형 : char
            - 문자열 : String

 

*숫자 :-정수형 (1, 2, 3, -1, 0, 100), 실수형 (3.14, 0.55, ...)
            - 정수형 : byte(1B),  short(2B),   int(4B),  long(8B)
            - 실수형 : float(4B), double(8B),

 

* 논리형 (true/false) : boolean(1B)

 

초기화 : 변수에 최초로 값을 대입하는 것.
      * 선언과 동시에 초기화
         자료형 변수명 = 값;

  // 정수형(int) 타입의 age라는 변수에 36이라는 값을 초기화
         => int age = 36;

 

* 변수를 선언한 후에 값을 초기화
            자료형 변수명;         // 변수 선언
            변수명 = 값;          // 변수에 값을 초기화
// 정수형(int) 타입의 age라는 변수 선언
           => int age;
// age 변수에 36이라는 값을 초기화
           => age = 36;      

  ex) // 논리형 데이터를 보관하기 위한 isTrue 이라는 이름으로 변수를 선언
           => boolean isTrue;

        // 문자형 데이터를 보관하기 위한 ch 라는 이름으로 변수를 선언
        => char ch;

        // 178.4 라는 데이터를 보관하기 위한 height 라는 이름으로 변수 선언 및 초기화
        => double height = 178.4;

        // "재밌는 자바" 라는 데이터를 보관하기 위한 message 라는 이름의 변수 선언 및 초기화
        => String message = "재밌는 자바"; 

 

 * 형변환 : 값의 자료형을 바꾸는 것
    - 왜 형변환이 일어나는가? 
        => 연산은 ("같은"/다른) 자료형끼리만 가능

- 형변환 방식
     [1] 자동 형변환 : "작은" 범위의 자료형에서 "큰" 범위의 자료형으로 변환
            byte(1B) -> short(2B) -> int(4B) -> long(8B) -> float(4B) -> double(8B)
                        char(2B) -> int(4B)
* byte n1 = 10;
  short n2 = 5;
  int result = n1 + n2; // byte + short --> short + short --> int
  short result = (short)(n1 + n2); // byte + short --> short + short --> int

        [2] 강제 형변환 : "자동 형변환"이 되지 않는 경우 직접 형변환을 수행. 
                              "데이터" 손실이 발생할 수 있음
            - 표현법 : (변환할 자료형)값;

* 메모리 구조 : static/heap/stack
    (1) stack : 메소드를 호출하면 자동생성, 끝나면 자동 소멸. 지역 변수, 매개변수 등
    (2) static : static으로 선언된 변수, 클래스 변수, 메소드
    (3) heap : new 연산자에 의해 동적으로 할당되고 저장되는 공간. 배열, 객체 등

 

 * 입출력 메소드

    Scanner 클래스의 메소드 사용
    (문자열 입력받을 때) : sc.next() , sc.nextLine()
* next() : 스페이스바(띄어쓰기) 기준으로 데이터를 가지고 옴
* nextLine() : 엔터키(\n)을 기준으로 데이터를 가지고 옴
    (정수형 입력받을 때) : sc.nextInt(), sc.nextShort(), ...
    (실수형 입력받을 때) : sc.nextDouble(), sc.nextFloat(), ...

* 표현법

- 문자타입('a', 'b', char) : %c
 - 문자열타입("abc", "d", String) : %s
 - 정수타입(10, 0, int, [decimal]) : %d

- 실수타입(3.14, 0.21, .., double, float) : %f 

 

조건문]
- 프로그램의 흐름을 "조건"에 따라 제어하는 문법

- "조건식"을 통해 참인지 거짓인지 판단해서 해당하는 코드 실행
  * 조건식의 결과 : true 또는 false
  * 연산자 : 비교연산자 (대소/동등), 논리연산자 (&&, ||)을 주로 사용
- 대소 비교 연산자 : A < B ( A가 B보다 작은가?) --> true 
 C >= B ( C가 B보다 크거나 같은가? ) --> true
A < C --> true

B --> int num = 5;
1 < num && num <= 10
- 동등 비교 연산자 : name != "홍길동" // String name = sc.nextLine();
 num != 10, ch != 'A'
 name.equals("홍길동")
- 논리 연산자 : A && B --> A, B모두 true일 때만 true
       A || B     --> A 또는 B 중 하나라도 true일 때 true
* SCE : A 결과에 따라 B 연산이 수행되지 않는 경우
&& --> A 의 결과가 false 일때, 최종 결과가 무조건 false이므로 B연산이 수행되지 않음
||    --> A의 결과가 true일때, 최종 결과가 무조건 true이므로 B 연산이 수행되지 않음

 

1. if 문

       [1] 단독 if문 : 조건식의 결과가 참(true)인 경우에만 흐름을 제어하고자 할 때
        * 표현법 (아래에 작성)
if(조건식) {
// 조건식의 결과가 참인 경우 수행할 코드
}

       [2] if ~ else문 : 조건식의 결과가 참 / 거짓인 경우 흐름을 제어하고자 할 때
        * 표현법 (아래에 작성)
if(조건식) {
// 조건식의 결과가 참인 경우 수행할 코드
} else {
// 조건식의 결과가 거짓인 경우 수행할 코드
}

 [3] if ~ else if ~ else문 : 조건식이 2개이상인 경우
    * 표현법 (아래에 작성)
if (조건식A) {
// 조건식A의 결과가 참인 경우 수행할 코드
} else if(조건식B) {
// 조건식A의 결과가 거짓이고, 조건식B의 결과가 참인 경우 수행할 코드
} else {
// 조건식A, 조건식B의 결과가 모두 거짓일 때
}

  [2] switch 문

        * 표현법 (아래에 작성)
switch(비교대상) {
case 값1:
// 비교대상 == 값1 인 경우 수행할 코드
break;
case 값2:
// 비교대상 == 값2 인 경우 수행할 코드
default:
// 모든 case의 값들과 일치하지 않을 경우 수행할 코드

 

[반복문]
- 특정 문장들을 "반복"해서 수행하도록 제어하는 문법
- 종류
    [1] for문

        * 표현법 (아래에 작성)
for(초기식; 조건식; 증감식) 

// 초기식 => 반복문 제어 시 사용될 변수를 초기화 : 자료형 변수명 = 값;
// 조건식 => 어떤 변수를 비교연산자 또는 논리연산자를 사용하여 연산식 작성
//               보통, 초기식에서 선언된 변수가 연산대상이 된다!
// 증감식 => 어떤 변수의 값을 변경시키는 연산식
//               보통, 초기식에서 선언된 변수가 연산대상이 된다!
//               증감연산자(++, --) : 1씩 증가시키거나 , 감소시키는 연산자
//     복합연산자(+=, *=, -=, ...) : 앞의 연산 먼저 수행 후 대입시키는 연산자

 

ex)

for(int i=0: i<10; i++){

System.out.println("");

 

[2] while문

        * 표현법 (아래에 작성)
[초기식]
while(조건식) {
// 조건식의 결과가 참(true)인 경우 수행할 코드
[증감식]
}

// 조건에 상관없이 무조건 1회 수행 후 조건에 따라 반복시키고자 할 때
[초기식]
do {
// 반복 수행할 코드
[증감식]
} while(조건식);

 분기문
  [1] 특정 조건에서 반복문을 종료시키고자 할 때 : break;
  [2] 특정 조건에서 반복문을 다음 루프로 실행시키고자 할 때 : continue;
// 1 ~ 10 사이의 숫자들 중 홀수만 출력하고자 할 때
for(int i=1; i <=10; i++) {
if(i % 2 == 0) {
continue;
}
System.out.println(i);
}

'자바' 카테고리의 다른 글

자바 정리 3  (0) 2024.07.10
자바 정리 2  (0) 2024.07.10
java 과제  (0) 2024.06.23