Develop/JAVA

0520 JAVA 네번째 공부!

포페PostFace 2022. 6. 1. 21:15

글 작성시 코드 블럭을 사용하는 법을 알아냈습니다! 

 

1차원과 2차원 배열의 차이

1차원은 하나의 배열로 끝나고

2차원은 2줄이상의 배열로 작성한다.

int[ ][ ] arr = {   ↓열
	{80,72,63,83}, 
	{92,21},              ←행
	{99,49,59}
	};

각각의 배열의 관리자 또한 배열로 만든다.

 

여기서 arr.length는 3개의 배열로 이루어지므로 3

arr[0].length는 배열안에 4개의 값이므로 4다.

 

배열의 값을 찾는 법은 우선 몇번째 배열(행)인지를 넣고

그 배열의 순서대로 위치(열)을 입력하면 된다.

 

arr[0][0]

이중 반복문을 통해 2차원배열을 나열할 수 있다.
for(i=0;i<arr.length;i++) {
	for(j=0;j<arr[i].length;j++) {
		System.out.print("arr["+i+"]["+j+"]"+arr[i][j]+"\t");
	}
	System.out.println();
}

결과
arr[0][0]80	arr[0][1]72	arr[0][2]63	arr[0][3]83	
arr[1][0]92	arr[1][1]21	
arr[2][0]99	arr[2][1]49	arr[2][2]59

정렬

 

선택정렬

예시 int[ ] arr= {8,3,5,2,9} 라는 배열이 있다 쳤을때.

작은 수가 앞으로 큰 수가 뒤로 가는 오름차순 정렬을 할 수 있다.

기준,비교	0 1 2 3 4
0>1	        8 3 5 2 9
0>2	        3 8 5 2 9
0>3       	3 8 5 2 9
0>4     	2 8 5 3 9
1>2			.
2>3			.
			.
3>4		2 3 5 8 9

수식으로 만들면

for(기준대상) {

               for(비교대상){ }

}

 

변수와 변수를 바꾸는법

a=10 b=20 이라고 가정했을때

서로의 값을 바꾸려면

임의의 변수를 하나 더 선언(이하temp)해서

temp=b

b=a

a=temp 를 통해 위치를 바꿀 수 있다.

int[ ] arr = {8,3,5,2,9};
for(i=0;i<arr.length;i++) {
	for(j=i+1;j<arr.length;j++) {
		if(arr[i]>arr[j]) {
			temp=arr[j];
			arr[j]=arr[i];
			arr[i]=temp;
		}
	}
	System.out.print(arr[i]+" ");
}

arr = {2,3,5,8,9} 로 오름차순 정리가 된다.

 

클래스=설계도=틀

 

클래스란 사용자 정의 자료형을 말한다.

int double 같은 자료형을 직접 만든다.

 

class Person{
	String name;
	int age;
	double height;
}

main 밖에 이런식으로 클래스를 정의 하고

Person p1 = new Person();로 선언을 하면

name,age,hei 등의 공간이 생긴다.

이를 객체를 만든다고 할 수 있다.(instance)

객체를 만든다는 것은 실체를 만든다는 것이다.

 

같은 프로젝트 안에 같은 클래스명을 사용할 수 없다.

프로젝트 안에 정의된 클래스는 다른 파일에서도 불러올 수 있다.

 

static 은 여러 객체가 같은 값을 공유하고 있을때 사용한다.

예를 들어 String nation;을 추가하는데 같은 값이라면

static String nation; 으로 static변수로 만든다.

static 변수의 경우 클래스.static변수 형태로 사용한다.

static 변수는 따로 초기화하지 않아도

클래스.static변수로 저장공간을 만들 수 있다.

 

 

'Develop > JAVA' 카테고리의 다른 글

0524 JAVA 여섯번째  (0) 2022.06.01
0523 JAVA 다섯번째  (0) 2022.06.01
0519 JAVA 세번째 공부 정리  (0) 2022.06.01
0518 JAVA 두번째  (0) 2022.05.27
0517 JAVA START!  (1) 2022.05.27