JAVA

JAVA array

테라시아 2024. 11. 11. 14:10

배열(Array)
    - 동일한 특성을 갖는 여러 개의 변수의 모음
    - 학생 이름에 대한 1000개의 변수
      stdName000 ~ stdName999에 학생 이름 부여
      이상한 요구 : 모든 학생 이름 앞에 knight.
    - stdName000 = "knight." + stdName000;
      ...
      stdName999 = "knight." + stdName999;
    - stdName[1000] -> stdName[0] ~ stdName[999]
      for(int i=0; i<1000; i++){
          stdName[i] = "knight." + stdName[i];
      }
    - 배열은 자체적으로 length라는 변수 보유
      => 배열의 길이가 얼마인가? ex) stdName.length
    - 값 한 개만 존재 : scalar
      값 여러 개가 존재하는 것 : vector
      값 여러 개가 여러 묶음 있는 것 : matrix

 

import util.MyUtil;

public class ArrayEx {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MyUtil.p("Array Example");
		
		String[] str = new String[5];
		str[0] = "Eliot";
		str[3] = "Abdula";
		MyUtil.p("str.length? " + str.length);
		
		String[] stdName1 = new String[5];
		String[] stdName2 = {"A","B","C","D","Federer"};
		
		// String의 재사용성
		String aaa = new String("James");
		String bbb = "David";
		String ccc = new String("James");
		String ddd = "David";
		
		MyUtil.p("aaa == ccc? " + (aaa==ccc));
		MyUtil.p("bbb == ddd? " + (bbb==ddd));
		MyUtil.p("aaa == ccc? " + aaa.equals(ccc));
		
		int score = 100;
		Integer score1 = new Integer(100);
		
		int[] score2 = {10, 20, 10, 30, 20};
		
		// 학생의 이름과 점수들을 출력해보세요.
		// 학생이름1 : **점
		// 학생이름2 : **점
		// ...
		for(int i=0; i<score2.length; i++) {
			MyUtil.p(stdName2[i] + " : " + score2[i]);
		}
		
		// 2-dimensional Array
		String[][] classStd = {{"A","B"},{"C","D"}};
		// classStd[0][0] ~ [1][1]
		// A학생의 위치는 classStd[0][0]
		// C학생의 위치는 classStd[1][0]손
		
		// 모든 학생 이름 출력하기
		MyUtil.p("");
		MyUtil.p("Display All Student's Name");
		MyUtil.p(MyUtil.GREEN + "General" + MyUtil.END);
		for(int i=0; i<stdName2.length; i++) {
			MyUtil.p(stdName2[i]);
		}
		
		MyUtil.p("");
		MyUtil.p("Display All Student's Name");
		MyUtil.p(MyUtil.RED + "Enhanced For" + MyUtil.END);
		// stdName2에서 하나를 꺼내서 name에 넣고 한 바퀴 수행
		for(String name : stdName2) {  // stdName2는 String의 집합
			MyUtil.p(name);
			// 이름이 "C" 이면 그만둠
			if(name.equals("C")) {
				break;
			}
		}
		
		// Enhanced For를 활용하여 점수를 출력하시오.
		for(int scr : score2) {
			MyUtil.p("" + scr);
		}
		
		// Enhanced For를 활용한 Difficulty GOD 문제
		// String[][] classStd = {{"A","B"},{"C","D"}};
		// Enhanced For를 활용하여 모든 학생을 출력하시오.
		for(String[] cls : classStd) {  // classStd[0], classStd[1]
			for(String std : cls) {
				MyUtil.p(std);
			}
		}
		
//		Welcome welcome = new Welcome();
//		String[] zzz = null;
//		welcome.main(zzz);
		System.out.println("AAA");
	}

}

'JAVA' 카테고리의 다른 글

JAVA class의 구조  (1) 2024.11.12
JAVA array 실습  (0) 2024.11.12
JAVA color  (1) 2024.11.10
JAVA for문  (1) 2024.11.09
JAVA while문  (0) 2024.11.08