객체지향프로그래밍개념3

지선·2023년 4월 20일

반복문

for문

for(초기문;조건식;반복 후 작업){
..작업문..
}

특이한 형태의 for문

for(초기문;true;반복 후 작업){
..작업문.. //반복 조건이 true면 무한 반복
}
for(초기문;반복 후 작업){
..작업문.. //반복 조건이 비어있으면 true로 간주, 무한 반복
}
for(int i=0;i<10;i++){
..작업문.. //i는 for문 내에서만 사용 가능 왜냐면 지역 변수기 때문
}

while문

while(조건식){
..작업문..
}

반복 조건이 true면 반복, false면 반복 종료
반복 조건이 없으면 컴파일 오류
처음부터 반복 조건을 통과 후 작업문 시행

조건식이 아니라면 while문을 벗어남
예를 들어
while(n!=1){
어쩌고저쩌고
}라면 n이 1이 아닌 경우에는 실행되고 1인 경우에 while문 끝
while(n<10){
어쩌고저쩌고
}라면 n이 10보다 작다면 실행, 10이상이 되면 끝
글고 조건식에 true가 들어가면 무한루프

do while문

do{
작업문
}while(조건식)

무조건 한번은 실행
반복 조건이 없으면 컴파일 오류

continue문

반복문을 빠져나가지 않으면서 다음 반복으로 진행

for(초기문;조건식;반복 후 작업){
..작업문..
continue; //반복 후 작업으로 분기
...
}
for(초기문;조건식;반복 후 작업){
while(조건식){
..작업문..
continue; //조건식으로 분기
}
do{
작업문
continue; //조건식으로 분기
}while(조건식)

Break문

반복문을 빠져나갈 때 사용
하나의 반복문만 빠져나감, 중첩 반복문의 경우 안쪽 반복문만 빠져나감
exit는 프로그램 종료

배열

인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료 구조
->배열을 이용하면 한번에 많은 메모리 공간 할당 가능
같은 타입의 데이터들이 순차적으로 저장
->인덱스를 이용해 원소 데이터 접근
->반복문을 이용하여 처리하기 적합
0부터 인덱스 시작, 인덱스는 배열의 시작 위치에서부터 데이터가 있는 상대 위치

선언 및 초기화

  1. 배열의 선언
int [] ARR;
int arr[];

배열타입 [] 레퍼런스변수
배열타입 레퍼런스변수[]
2. 선언된 배열 변수에 배열 생성

ARR= new int[10];

레퍼런스변수=배열생성 자료형타입 [원소개수];
3. 선언과 동시에 생성

int[] arr=new int[10];
//int형 10개 만들어짐->40byte사용

배열타입[] 배열명=new 자료형[몇개]
4. 선언과 함께 초기화

int [] arr={1,2,3,4}//4개의 int형 만들어짐
//잘못된 배열 !!!!!!
int arr[10];
//컴파일 오류, 배열의 크기를 지정하면 안됨

예시를 통한 이해

int [] arr=new int[5]; //원소가 5개인 배열 생성, 인덱스가 0~4까지 가능
arr[0]=4; //0번 방에 4 저장
arr[2]=3; //2번 방에 3 저장
int n=arr[7]// 실행 오류->인덱스 범위를 넘음
//배열 생성 후 접근해야함 !!!! 생성되지 않은 배열 그러니까 선언만 한 배열을 사용하면 오류

하나의 배열을 다수의 레퍼런스가 참조 가능

배열은 자바에서 객체로 관리
length 필드는 배열의 크기를 나타냄

int [] arr=new int[5]; 
a=arr.length;

//a는 5!

for-each문

for(배열의 원소타입 변수:배열)
->배열이나 나열의 각 원소를 순차적으로 접근하는데 유용한 for문

2차원 배열

선언방법
int [][]arr; or int arr[][];

선언된 사각형 형태의 배열변수에 2차원 배열 생성
int arr=new int[][];

선언, 생성 동시에
int [][]arr=new int[][];

배열 선언, 생성, 초기화를 동시에
int arr[][]={{1,2},{3,4},{5,6}}; 도 가능

2차원 배열 length

arr.length; ->2차원 배열의 행의 갯수
arr[n].length; ->n번째 행의 열의 개수

메소드에서 배열 리턴

메소드에서 만든 배열의 레퍼런스 리턴
메소드의 리턴 타입과 리턴 받는 배열의 타입 일치
리턴 타입에 배열의 크기 지정하지 않음

int[] arr(){
	int [] temp=new int[4];
	return temp;
}

main() 메소드

main()의 원형은 반드시 static, public, void이며 반드시 매개변수타입이 문자열 배열이어야한다.

bubble sort

추가하기

profile
긍정왕되기

0개의 댓글