Java Fundamentals 06 Array Fundamentals

프로그래밍을 좋아하는 당신처럼!
SpringBoot 실습 과정 배우기 https://edu.csdn.net/course/detail/31433
SpringCloud 입문 과정 배우기 https://edu.csdn.net/course/detail/31451


머리말

Array는 Java의 중요한 지식 포인트입니다.이 기사의 내용은 다음과 같습니다.

  1. 어레이 소개
  2. 어레이 정의
  3. 어레이 초기화
  4. foreach 루프
  5. 배열 도구
  6. 2 차원 배열 사용

어레이 소개

어레이가 필요한 이유

질문 : 학생 관리 시스템을 개발해야한다고 가정 해 보겠습니다. 수업에 동급생 40 명의 이름을 저장하는 방법은 무엇입니까?
40 개의 변수 정의

String name1 = “zhangsan”;
...
String name40 = “lisi”;

급우가 100 명 또는 1,000 명이라면 어떨까요?
변수는 하나의 데이터 만 저장할 수 있으므로 많은 양의 데이터를 저장하는 데 적합하지 않습니다.
배열을 사용하여 여러 데이터를 저장할 수 있습니다.

어레이 란?

여기에 사진 설명 삽입
슈퍼마켓 외부 사물함과 유사

  1. 많은 항목을 저장할 수 있습니다
  2. 각 그리드의 크기는 동일합니다.
  3. 각 그리드는 인접한 순서대로 정렬됩니다.
  4. 그리드는 번호로 액세스됩니다.

배열의 개념

  1. 어레이는 메모리의 지속적인 저장 공간입니다.
  2. 배열에있는 각 데이터의 유형이 동일합니다.
  3. 배열의 데이터는 아래 첨자를 통해 액세스됩니다.

어레이 분류

배열은 다음과 같이 나뉩니다.

  1. 1 차원 배열, 연속 저장 공간 행
1 2 4 5
  1. 2 차원 배열은 여러 행과 열이있는 구조
    로 볼 수 있으며 1 차원 배열의 중첩으로 볼 수 있으며 각 배열은 1 차원 배열입니다.
1 2 4 5
6 7 8 9 10

배열 정의

배열을 만들 때 동시에 배열의 길이를 정의하십시오.

类型[] 数组名 = new 类型[长度];
int[] array = new int[5];

[]는 배열 이름 뒤에 올 수도 있습니다.

类型 数组名[] = new 类型[长度];
int array[] = new int[5];

먼저 배열을 선언 한 다음 길이를 정의 할 수도 있습니다.

类型[] 数组名;
数组名 = new 类型[长度];

참고 : 배열이 생성 된 후 데이터에는 기본값이 있습니다.
int 기본값은 0, float 기본값은 0.0f, double 기본값은 0.0, String 기본값은 null입니다.

배열의 메모리 할당

  • 기본 데이터 유형은 데이터 값을 직접 저장하는 것입니다.
  • 참조 데이터 유형은 데이터가 저장되는 메모리 주소입니다.
    여기에 사진 설명 삽입

어레이 초기화

배열의 초기화는 배열 요소에 값을 할당하는 것입니다.
두 종류의 초기화 :

  1. 정적 초기화
    배열을 정의하는 동안 배열의 데이터에 값을 할당합니다.
数据类型[] 数组名 = {值1,值2,值3...};
如:int[] array = {20,44,33,100,55};
数据类型[] 数组名 = new int[]{值1,值2,值3...};
如:int[] array = new int[]{20,44,33,100,55};

참고 : 정적 초기화는 길이를 정의 할 수 없습니다. 배열 길이는 값 수에 의해 결정됩니다.

  1. 동적 초기화
    배열을 정의한 루프를 사용하여 배열에 값을 할당합니다.
int[] array = new int[5];
for(int i = 0;i < array.length;i++){
	array[i] = i;
}

데이터에 액세스하기위한 배열 배열 이름 [index] 별주의 :

  • 아래 첨자는 0부터 시작합니다.
  • 첨자가 0에서 배열 길이 -1의 범위에 있지 않으면 ArrayIndexOutOfBoundsException이 발생합니다.

연습 : 길이가 5 인 문자열 배열을 정의하고, 데이터를 동적으로 초기화하고, 배열의
첫 번째, 마지막 및 중간 문자열 값을 출력합니다.

향상된 for 루프

foreach 루프는 jdk1.5 이후에 지원되는 구문으로 배열 또는 컬렉션을 탐색하는 데 사용됩니다
.

for(数据类型 变量名 : 数组名){
	访问变量的值
}

참고 : 이러한 유형의 for 루프는 배열의 데이터에 액세스 할 수만 있고 수정할 수 없습니다. 수정
해야하는 경우 일반 for 루프를 사용해야합니다.

연습 :
길이가 5 개인 문자열 배열을 정의하고 배열을 정적으로 초기화합니다.
foreach 루프를 사용하여 배열 요소를 출력합니다.

2 차원 배열

2 차원 배열이란
행과 열로 구성된 테이블 구조로 이해 될 수 있으며 이는 1 차원 배열에 중첩 된 1 차원 배열로 간주 될 수 있습니다.

2 차원 배열 생성

数据类型[][]  数组名 = new 数据类型[行数][列数];
如:int[][]	array = new int[3][5];

2 차원 배열 액세스

数组名[行下标][列下标];
如:访问上面数组第二行第三个元素,array[1][2];

2 차원 배열 초기화
정적 초기화

数据类型[][] 数组名 = {
   
   {值,值,值...},{值,值,值...},{值,值,值...}..};
数据类型[][] 数组名 = new 数据类型[][]{
   
   {值,值,值...},{值,值,值...},{值,值,值...}..};

동적 초기화

int[][]	array = new int[3][5];
for(int i = 0;i < array.length;i++){
	for(int j = 0;j < array[i].length;j++){
		array[i][j] = i * j;
	}
}

배열 도구

Arrays 클래스는 개발 효율성을 향상시킬 수있는 배열과 관련된 많은 메서드를 캡슐화
합니다.

  1. Sort
    Arrays.sort (배열 이름)
  2. Find
    int Arrays.binarySearch (배열 이름, 찾을 숫자)
    결과 얻으려면 숫자의 첨자를 찾는 것입니다.
  3. Copy
    Arrays.copyOf (복사 된 배열 이름,
    새 배열 의 길이) , 얻은 결과는 새 배열입니다.
  4. Fill
    Arrays.fill (배열 이름, 채울 수);
    동일한 값으로 배열 채우기
  5. Compare
    Arrays.equals (배열 이름 1, 배열 이름 2)
    는 두 배열 값이 동일한 지 여부를 반환합니다.

종료

이 기사는 끝났습니다. 숙제했는지 모르겠습니다. 숙제를 남겨서 확인하겠습니다.
1. 길이가 5 인 정수 배열을 정의하고 동시에 5 개의 초기 값을 제공하여 값을 출력합니다. 루프의 배열에서.
2. 5 개의 요소가있는 정수 배열 a가 주어지면 a에있는 모든 요소의 합계를 찾으십시오.
3. 배열을 정의하고 5 명의 이름을 입력하고 배열에 저장 한 다음 1, 3, 5 명의 이름을 출력합니다.


다른 Java 지식을 배워야하는 경우 여기 에서 Java 요약에 대한 매우 상세한 지식을 찌르십시오.

추천

출처blog.csdn.net/u013343114/article/details/112308634