java & comment 4일차 강의

김용진·2023년 7월 6일
0

1. 반복문 에서의 break와 continue

1-1. 반복문의 흐름을 제어 기법

break		: 반복문 안에서 break 키워드를 만나면 반복을 강제로 종료
continue	: 실행흐름이 증감식으로 강제 이동한다.
  • 원하는 값을 만족하면 break 로 내보낸다던지, 혹은 반복문에서 값을 구하기전, continue로 무한히 굴려 원하는 값을 뽑아내는데 쓰면 될것같은 구문이다.

2. 배열

2-1. 배열이란?

변수를 그룹으로 묶는 형태의 한 종류로서 사물함 같은 형태를 갖고있다.
하나의 배열안에는 같은 종류(데이터형)의 값들만 저장될 수 있다.

  • 개인적으로 대학생 시절 matlab을 이용한 값을 꺼내는 과정중에 4절기구를 만들다가 배열매칭을 잘못하여 고생한적이 있었다. 결과는 좋았지만;;

2-2. 배열을 만드는 방법

배열의 선언

	데이터형[] 배열이름;

배열의 생성 (변수를 저장할 수 있는 사물함을 생성한다.)

	배열이름 = new 데이터형[크기];

ex) int[] grade;		// 여러개의 int형 변수를 저장할 수 있는 grade이름의 배열 형성
	grade = new int[3];	// 배열의 칸을 3칸으로 할당

배열의 선언과 크기 지정에 대한 일괄처리.

데이터형[] 배열이름 = new 데이터형[크기];

ex) int[] grade = new int[3];

2-3. 배열의 모양

생성된 배열은 사물함과 같이 각각의 칸에 값들이 저장되고, 각각의 칸은 0 부터 일련번호가 지정된다. (일련번호 = 배열의 인덱스(index))

2-4. 배열에 값을 저장하기

배열은 값을 저장할 수 있는 공간일 뿐, 그 자체가 아니다.
값이 대입되지 않은 경우, 숫자형은 0, boolean형은 false가 자동으로 대입
배열안에 값을 저장하기 위해서는 인덱스 번호를 사용하여 각각의 칸에 직접 값을 대입해야 한다.

	배열이름[인덱스] = 값;
  • 숫자형과 boolean형은 알려주셔서 문자나 문자열이 궁금해서 해봤다. 문자는ㅁ로 출력, 문자열은 null이 나왔다.
    아무래도 이게 기본값(default)이 아닐까 싶다.

ex) 배열 크기 지정, 대입

	int[] grade = new int[3];
	grade[0] = 75;
	grade[1] = 82;
	grade[2] = 91;

2-6. 배열의 크기 설정과 값 할당에 대한 일괄처리

배열의 크기를 지정하면서 괄호 "{....}"안에 배열에 포함될 각 항목들을 콤마(,)로 나열하며,
배열의 생성과 할당을 일괄처리 할 수 있다. 이 때는 배열의 크기를 별도로 지정하지 않으며, "new 데이터형[ ]"부분은 생략 가능하다.

	데이터형[] 배열이름 = new 데이터형{값1, 값2, ....};

	데이터형[] 배열이름 = {값1, 값2, ....};

2-7. 배열값 호출하기

배열안에 저장되어 있는 값들을 사용하여 연사나 출력등의 처리를 위해서는
배열에 부여된 인덱스 값을 통해서 데이터에 접근해야 한다.

	System.out.println( grade[2] ); // 인덱스 2에 값을 호출한다.

2-8. 배열과 반복문

배열의 특성

	0 ~ (배열크기 -1) 만큼의 인덱스 값을 순차적으로 갖는다.

특성을 할용한 배열의 데이터 처리

일정 범위를 갖고 순차적으로 증가하는 인덱스 값의 특성을 활용하면 반복문 안에서 배열이 값을 할당하거나, 할당된 값을 읽어들이는 처리가 가능하다.

	int[] grade = new int[]{100,100,90};

	for(int i = 0; i < 3; i++){
		System.out.println(grade[i]);
	}

2-9. 배열의 크기(길이)

배열의 길이를 얻기 위해서는 "배열이름. length"형식으로 접근하게 된다.

    ex)grade라는 배열을 생성한 경우 배열의 길이

	
	int[] grade = new int[]{100,100,90};

	for(int i = 0; i < grade.length; i++){
		System.out.println(grade[i]);
	}
    ---------------------------------------
    int size = grade.length;
	
  • length를 선언한 뒤, 반복문을 사용해서 길이만큼 배열안에 값을 호출하도록 만드는 예시였다.
    이때 size 값을 불러본다면 '3'이나올것이다.

2-10. 배열의 종류

1차 배열

앞에서 살펴본 배열 처럼 한 줄만 존재하는 사물함 같이 구성된 배열
행에 대한 개념이 없고 열에대한 개념만 존재하기 때문에 "배열이름.length"는 몇 칸인지 알아보는 기능만 존재

2차 배열

1차 배열의 각 칸에 새로운 배열을 넣는 형태
1채 배열의 각 칸은 행이 되고, 각각의 칸에 추가된 개별적인 배열이 "열"의 개념이되어 "행렬"을 구성하게 된다.

2-11. 2차원 배열의 생성

2차원 배열 선언

데이터 타임 이름뒤에 대괄호" [ ]"를 행과 열에 대하여 각각 지정한다.

	데이터형[ ][ ] 배열이름;

2차원 배열의 크기 할당

행과 열에 대한 크기를 명시한다.

	배열이름 = new 데이터형[행][열];

2차원 배열의 선언과 할당의 일괄처리

	데이터형[][] 배열이름 = new 데이터형[행][열];

2차원 배열의 선언, 크기 할당, 값의 대입에 대한 일괄 처리

2차원 배열의 경우 블록 괄호 '{ }'를 2중으로 겹쳐서
2차원 배열을 표현한다.
행과 열의 구분에는 콤마(,)가 사용된다.
컴파일러가 블록괄호'{ }'의 요소를 파악하면 행, 열의
크기가 산출 될 수 있으므로 배열의 크기 설정을 위한 [ ][ ]에는
배열의 크기를 명시하지 않는다.

	데이터형[][]배열이름 = new 데이터형[][]{
		{0행 0열의 값, 0행 1열의 값, ..., 0행 n열의 값},
		{1행 0열의 값, 1행 1열의 값, ..., 1행 n열의 값},
		...
		{n행 0열의 값, n행 1열의 값, ..., n행 n열의 값},
	};

2-12. 행, 열에 대한 인덱스를 통하여 값을 대입한다.

배열이름[행][열] = 값;

2-13. 행의 길이

1차 배열의 길이는 2차 배열에서는 행의 크기로 조회된다.

	int rows = grade.length;

2-14. 열의 길이

열의 길이는 각 행에 대하여 개별적으로 조회해야 한다.

	int cols = grade[행].length; // 행을 미리 명시해 주는 방식

3. 메서드

3-1. 메서드란?

특정 기능(=연산)을 그룹화 해서 재사용하기 위한 단위

public static void 메서드이름()
{
		.... 수행할 연산식...
}
  • 매서드란게 복기단계에서 다시 보니 3D모델링 assembly단계 전 각각 part라고 생각된다.

3-2. 메서드의 호출

정의된 메서드는 다른 메서드를 구성하는 {....}안에서 다음의 형식으로 사용될 수 있으며, 이를 메서드 호출이라고 한다.

메서드이름();

3-3. 메서드의 파라미터

java프로그램의 메서드는 자신이 실행되는데 필요한 조건값을 메서드 이름 뒤의 괄호안에서 변수형태로 선언한다. 이를 메서드 파라미터라고 한다.

pubilc static void 메서드 이름( 변수형 변수 이름 ){

}

3-4. 다중 파라미터

메서드가 연산을 수행하는데 두 개 이상의 파라미터가 필요하다면 콤마(,)로 구분하여 선언 할 수 있다.

pubilc static void 메서드 이름( 변수형 변수 이름, 변수형 변수 이름, ...){

}

3-5. 파라미터를 갖는 메서드의 호출

메서드를 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서 파라미터를 전달해 주어야한다.

public static void 메서드이름(변수형 변수이름, 변수형 변수이름(){....};

메서드이름(값1, 값2);
  • 이때 써놓지는 않았지만 변수를 int를 지정했으면 값도 int가 들어가야한다
    어차피 개발자들은 다 알고있겠지만

3-6. 값을 반환하는 메서드

메서드의 리턴값
메서드가 연산 결과를 자신이 호출된 위치에 반환하는 것을 "리턴"이라고 하며, 반환되는 값을 "리턴 값"이라고 한다.
메서드 안에서 값을 리턴하기 위해서는 'return'이라는 키워드가 사용된다.
값을 리턴하는 메서드는 선언시에 "void"키워드 대신, 리턴하는 값에 대한 변수형이 명시된다. void는 리턴값이 없다는 것이다.

public static 리턴형 메서드 이름(변수형 파라미터1, 변수형 파라미터	2, ...){
	....
	return 리턴값;
}
  • 추가 설명을 하자면 메서드 호출 뒤에 변수형 파라미터에 값을 넣으면 해당 메서드안에서 수식을 하던 무언가를 한 뒤에 메서드 이름에값을 리턴해준다.

3-7. 메서드간의 상호 호출

JAVA메서드 역시 서로 호출하는 것이 가능하다. 호출된 메서드가 값을 리턴하는 경우, 리턴받은 값을 다른 연산자에 사용할 수 있다.

profile
메모리폼

0개의 댓글