[java]배열 (Array)

2024. 8. 13. 13:45·JAVA

20240812수업

반복문 사용 없이 출력 >> 변수명 각각 다름

String name1, name2, name3;
name1="카리나"; name2="윈터"; name3="원영"; >>이름이 다르면 반복문에 사용불가
for(i=1;i<=3;i++)
   sysout(name+i)

  작동 X

		String name1 = "김좌진";
		String name2 = "신채호";
		String name3 = "안중근";
		String name4 = "이봉창";
		String name5 = "한용운";

		System.out.println(name1);
		System.out.println(name2);
		System.out.println(name3);
		System.out.println(name4);
		System.out.println(name5);
		System.out.println();
<배열(Array)>
dense list(연접 리스트)
이름과 type이 같은 변수를 모은것
String [] names = new String[5]; 

 

변수: String type | 변수명:names 5개 한번에 만든다
같은 이름과 type을 가진 변수여러개를 동시에 만든다>> 배열(array): dense list
방구분:0부터 시작 (0~5)
 names[0]=names01

String[] names = new String[5]; // String 변수 5개 만들어짐
		names[0] = "김좌진"; 
		names[1] = "신채호";
		names[2] = "안중근";
		names[3] = "이봉창";
		names[4] = "한용운";
		System.out.println(names[0]);
		System.out.println(names[1]);
		System.out.println(names[2]);
		System.out.println(names[3]);
		System.out.println(names[4]);
		System.out.println();
index : []안의 숫자 -> 첨자, 색인 -> 위치의미 0부터 시작
        없는 번호를 조작하면 실행할때 에러(Exception) ⇒ Index Out of Bound

 

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

↑반복문을 통한 출력

  • 배열은 한 번 만들어지면 크기가 변경되지 않는다.
  • 다차원 배열 - c언어
  • 2차원 배열
  • 모든줄의 요소가 통일한 경우 -위치대응
  • 3줄 4칸 :12개 방 생성      c언어:arr[3][4]  c#:arr[3,4], java언어 :x
    {
       {1,2,3,4,},
       {5,6,7,8,},
       {9,10,11,12,}
    }
  • 배열의 배열 - 자바
  • 배열방의 요소가 배열   c언어:*arr[3], c#언어:arr[3][], java언어:arr[3][],
    {
       {1,2,3,4,1,2,3},     //arr[0]:7
       {5,6,7,8,},             //arr[1]:4
       {9,10,11,12,9}    //arr[2]:5
    }

 

        String[] foodList = new String[] { "김치찌개", "닭볶음탕", "된장찌개", "잡채", "북어국" }; 
		for (int i = 0; i < foodList.length; i++) {
			System.out.println(foodList[i]);
		}
		System.out.println();
  •  배열을 만듬
  • 배열의 초기값-배열 생성시 동시에 값을 넣는다
  •  초기값의 갯수만큼 배열의 크기 결정 - 만들때 크기를 사용X
  •  배열의 크기 : foodList.length[5]>>5개
		String[] todoList = { // 초기값이 있기때문에 생략 가능
				"운동", "자료구조수업", "동아리 공연 연습", "과제 제출", "방 청소" };
		for (String todo : todoList) { // for each
			System.out.println(todo);
		}
		System.out.println();
		int sale[] = new int[] { 157, 209, 251, 312 }; // 판매량
		// 3/4분기의 판매량
		System.out.println("3/4분기의 판매량:" + sale[2]);
		// 분기별 판매량 출력
		for (int i = 0; i < sale.length; i++) {
			System.out.println((i + 1) + "/4분기의 판매량: " + sale[i]);
		}

↑분기별 데이터

		int sum=0;
		for(int i=0;i<sale.length;i++) {  
			sum+=sale[i];
		}
		System.out.println("전체 판매량: "+sum);
	}

↑전체 판매량

💡tip:ctrl+shift+f 로 코드정리가능

2차원 배열

		int [][]sales = new int[][] {
			{63, 88, 143, 131},
			{157, 209, 251, 312}
		};
		//2007년 3/4분기의 판매량
		System.out.println("2007년 3/4분기의 판매량: " +sales[0][2] );//143
		//2008년 4/4분기의 판매량
		System.out.println("2008년 4/4분기의 판매량: " +sales[1][3] );//312
		//2008년 판매량 총계
		int sum1=0;
		for (int i = 0; i < sales[1].length; i++) {
			sum1+=sales[1][i];
		}		System.out.println("2008년 판매량 총계: "+sum1);//929
		//2007년 판매량 평군(소수이하 3자리로 반올림 하여 출력)
		double avg=(double)sum/(double)sales[0].length;
		System.out.printf("2007년 판매량 평균: "+"%.3f", avg ); //106.250
		//%전체자라수.소수이하 자리수f:
		//.3f:소수이하 3자리
		//전체 판매량과 전체 평균
		int sum2=0;
		for (int k = 0; k < 2; k++) {
			for (int i = 0; i < 4; i++) {
				sum2+=sales[k][i];
			}
		}System.out.println("전체 판매량 총계: "+sum2);  //1354
		System.out.printf("전체 판매량 평균: "+"%.3f", (double)sum2/8.0 );//169.250
		//2007년 최대판매량
		int max=sales[0][0];
		for(int i=0;i<sales[0].length;i++) {
				if(max<sales[0][i]) {
					max=sales[0][i];
			    }
			}
		System.out.println("2007년 최대판매량: "+max); //143

		//2008년 최소판매량
		int min=sales[1][0];
		for(int i=0;i<sales[1].length;i++) {
				if(min>sales[1][i]) {
					min=sales[1][i];
			    }
			}
		System.out.println("2008년 최소판매량: "+min); //157
		//총 최대 판매량
		int max1=sales[0][0]; 
		for (int j = 0; j < sales.length; j++) {         //0,1
			for (int i = 0; i < sales[j].length; i++) {  //0,1,2,3
				if(max1<sales[j][i]) {
					max1=sales[j][i];
				}
			}
		}System.out.println("전체 최대 판매량: "+max1); //312

 

		int [][][]salesteam=new int[][][]
		{
			{
				{63, 88, 143, 131},     //2007
				{157, 209, 251, 312}    //2008
			}, //1팀 실적
		    {
			    {33, 98, 243, 101},     //2007
			    {109, 309, 221, 302}    //2008
		    }  //2팀 실적
		}; //아파트 단지 생각
		
		for (int i = 0; i < salesteam.length; i++) {
            for (int j = 0; j < salesteam[i].length; j++) {
                for (int k = 0; k < salesteam[i][j].length; k++) {
                    System.out.print(salesteam[i][j][k] + " ");
                }
                System.out.println();
            }
            System.out.println();
        }
더보기

[참고]

형태 다른 배열:리스트
ex)Array, ArrayList, Map
가변배열 -  실행할때 방마다 대응하는 배열 
               - 실행할때 변수가 변하는 배열 
ArrayList<Integer>  scores = new ArrayList<Integer>(); 

 

'JAVA' 카테고리의 다른 글

[java] String 함수 총정리  (0) 2024.08.15
[java] 주민등록번호, 사업자 등록번호 유효성 검사  (0) 2024.08.15
[java] 반복문 for 2  (0) 2024.08.12
[java] 반복문(for,while),등차∙피보나치∙등비 수열의 합  (0) 2024.08.12
[java] Stack메모리, Heap메모리  (0) 2024.08.12
'JAVA' 카테고리의 다른 글
  • [java] String 함수 총정리
  • [java] 주민등록번호, 사업자 등록번호 유효성 검사
  • [java] 반복문 for 2
  • [java] 반복문(for,while),등차∙피보나치∙등비 수열의 합
라텐느
라텐느
이제 막 개발을 시작한 초보가 개인공부를 하는 공간입니다.
  • 라텐느
    괴발개발
    라텐느
    • 개발자 (153)
      • HTML|CSS (14)
      • JAVA (29)
      • JAVACSCRIPT (15)
      • SQL (16)
      • 기타 (5)
      • JSP (2)
      • SPRING (13)
      • SPRING BOOT (6)
      • Git&GitHub (1)
      • 시행착오 (2)
      • 개발일지 (35)
        • GreenMiniProject1 (12)
        • GreenMiniProject2 (9)
        • GreenFinalProject (14)
      • Flutter (5)
      • 자격증 (0)
        • SQLD (1)
      • AWS (2)
      • Linux (1)
      • 자료구조&알고리즘 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 태그
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    SQL
    링크
    AJAX
    input
    태그
    오블완
    java
    javascript
    HTML
    일지
    CSS
    JS
    link
    tag
    db
    JQuery
    개발자
    부트캠프
    티스토리챌린지
    자기계발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
라텐느
[java]배열 (Array)
상단으로

티스토리툴바