ssung_항해일지/항해99_WIL
23.01.16 - 01.22 -WIL
ssungcohol
2023. 1. 24. 00:37
조건문, 반복문, 배열, 객체지향
if - else if - else
- 여러 개의 조건식을 포함한 조건식
- else if 가 여러번 사용될 수 있다
- 마지막 else 블럭은 생략 가능
블럭 {}
- 여러문장을 하나로 묶어주는 것
- if 조건문에서 실행할 문장이 하나라면 if (조건식) 명령문; 이렇게 {}가 생략 가능
switch
switch (조건식) {
case 값 1:
조건식의 결과가 값 1과 같을 경우 수행할 문장;
break;
case 값 2:
조건식의 결과가 값 2와 같을 경우 수행할 문장;
break;
...
...
default:
조건식의 결과와 일치하는 case 문이 없을 때 수행할 문장;
}
- 처리해야 하는 경우의 수가 많을 때 유용한 조건문
- break; 를 작성해 주지 않으면 switch 문 끝까지 싱행
- default 문은 생략 가능
- if 조건문은 조건식 결과에 true/false 만 가능하고, switch는 정수나 문자열 만 가능
- 제약조건
- 조건식의 결과는 정수 또는 문자열 이어야 한다.
- case 문의 값은 정수 상수(문자 포함), 문자열 만 가능하며, 중복되지 않아야 한다.
while
while (조건식) {
조건식의 결과가 참인동안 반복적으로 실행하고자 하는 문장;
}
실행순서 : 조건식 => 조건식이 참일 경우 문장 수행 => 조건식이 거짓이 될 때까지 반복
do-while
do {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;
} while(조건식);
배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
배열의 선언과 생성
배열의 선언
- 배열을 다루기 위한 참조변수 선언
- 선언방법
- 타입 [] 변수이름; Ex) int [] age; , String [] name;
- 타입 변수이름 []; Ex) int age []; , String name [];
배열의 생성 : 실제 저장공간 생성
- 타입 [] 변수 이름 = new 타입 [길이];
- int [] age = new int [5];
=> int 타입의 배열을 다루기 위한 age 변수를 선언하고, int 타입의 값 5개를 저장할 수 있는 배열 생성 (new) - 배열의 시작 주소(메모리 주소)가 참조변수 age에 저장됨, age는 저장된 주소를 통해 해당 배열을 가리키고 있다
즉, 참조변수(age)와 배열이 연결되었고, 참조변수(age)를 통해 배열을 다룰 수 있다.
배열의 길이
배열이름.length
- 배열의 길이 : int 타입 상수
- int [] arr = new int [5]; => 배열의 길이가 5인 int 타입 배열
- int len = arr.length; => arr.length 의 값은 5이고 len 변수에 저장
- 배열은 한번 생성되면 컴파일 후 실행되는 동안은 그 길이(크기)를 바꿀 수 없다
- 크기가 부족할 때는 필요한 만큼의 크기의 배열을 새롭게 만든 후, 새로 만든 배열에 기존 배열의 값을 복사 후 저장
String 배열
String 클래스
char [] 와 메서드(기능)를 결합한 것
- 기본형처럼 사용이 가능한 참조형
- String str = "행복";
- String str = new String("행복"); - 문자열을 많이 사용하기 때문에 특별하게 만들어진 클래스
- String 클래스는 내용을 변경할 수 없어 새로운게 만들어짐
- String name = "choi";
Sting firstName = "Wb";
name = name + firstName;
String 배열의 선언과 생성
String [] name = new String [3];
- 3개의 문자열을 담을 수 있는 배열 생성
- 참조형 이기 때문에 기본값 null로 초기화
객체지향
클래스
- 정의 : 객체를 정의해 놓은 것
- 용도 : 객체를 생성하는데 사용
객체
- 정의 : 실재로 존재하는 것, 사물 또는 개념
- 용도 : 객체가 가지고 있는 속성과 기능에 따라 다름
- 구성요소 : 속성(변수) + 기능(메서드)
객체와 인스턴스의 용어 정리
- 객체 : 모든 인스턴스를 대표하는 일반적인 용어
- 인스턴스 : 특정 클래스로부터 생성된 객체
- 인스턴스화 : 클래스 => 인스턴스(객체)
메서드
반환타입 메서드이름 (타입 변수명, 타입 변수명,....) //(선언부)
{
//메서드가 호출되면 수행할 코드(구현부)
}
메서드의 장점과 작성
- 장점
- 중복 코드 제거
- 관리 용이
- 재사용 가능 - 작성
- 반복적으로 수행되는 여러 문장을 메서드로 작성
- 하나의 메서드는 한 가지 기능만 수행하도록 작성하는 것이 좋다
호출스택 (call stack)
- 메서드 수행에 필요한 메모리가 제공되는 공간
- 메서드가 호출되면 호출 스택에 메모리 할당, 종료되면 해제
차주 목표 : 포기하지말고 차근차근 당일 과제 및 목표 수행!! 코테도 열심히~~
728x90