일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바 예외
- 크롤링 오류
- 생성자
- Doit입문SQL
- html
- 자바
- 크롤링
- DoitSQL
- SQL
- 함수 선언
- 함수
- 배열 3요소
- 숫자형식오류
- 웹브라우저 수용도
- 키-값 데이터베이스
- 예외
- R1C3
- 예제
- 우아한테크
- 페이지분석
- 숫자 형식
- 데이터베이스
- DoitSQL입문
- 웹 브라우저 전쟁
- DoIt
- HTML역사
- dbms
- 배열 예제
- 자바 오류
- SQL입문
Archives
- Today
- Total
프로그래밍
[자바 기초] day03 : 배열(array) 본문
728x90
반응형
2023.05.04.목
배열
서로 관련된 데이터들을 한 공간에 저장하고 싶을때 사용한다
배열의 3요소
1) 관련된 요소여야 한다
2) 데이터들의 자료형이 일치해야 한다
3) 데이터들의 개수를 알고있어야 한다 (공간의 크기를 알아야 함)
배열 선언
//할당&초기화 없이 선언
int[] arr;
int arr[];
//선언과 동시에 배열 크기 할당
int[] arr = new int[5];
int arr[]
//기존 배열 초기화 할당
int[] arr;
arr = new int[5] //5의 크기를 가진 초기값 0의 채워진 배열
//선언과 동시에 배열 크기 지정 및 값 초기화
int[] arr = {1,2,3,4,5};
int[] arr = new int[] {1,3,5,2,4};
int[] odds = {1,3,5,7,9};
String[] weeks = {"월","화","수","목","금","토","일"};
// 2차원 배열 선언
int[][] arr = new int[4][3]; //3의 크기의 배열을 4개 가질 수 있는 2차원 배열 할당
int[][] arr9 = { {2, 5, 3}, {4, 4, 1}, {1, 7, 3}, {3, 4, 5}};
// 객체(Class) 배열 선언
Student[] StudentArr = new Student[5]; //초기값이 null이다
배열 예제
예제1)
public static void main(String[] args) {
for(int a=0; a<3; a++) {//총 3줄이므로 3번 반복한다
for(int i=0; i<2-a; i++) {//공백 찍기
System.out.print(" ");
}
for(int b=0; b<a*2+1; b++) {//별 찍기 근데 홀수
System.out.print("*");
}
System.out.println();
}
}
예제2)
public static void main(String[] args) {
int[] data = new int[4];
data[0]=5;
data[1]=2;
data[2]=3;
data[3]=100;
for(int i=0; i<data.length; i++)
{
System.out.println("음료"+(i+1)+"은 "+data[i]+"개 있습니다.");
}
}
예제3)
학생 6명의 점수가 순서대로 29, 99, 30, 22, 87, 57(순서대로 1번, 2번, ...) 일때
다음을 구하여 출력하라
평균점수
평균을 넘긴 학생 수
6등의 번호, 짝수번째 학생들의 총점
평균을 못넘긴 학생들의 번호
public static void main(String[] args) {
//배열 선언
int[] stu = new int[6];
//랜덤 점수 생성법
Random rand = new Random();
for(int i=0; i<stu.length;i++) {
stu[i]=rand.nextInt(101);//0~100
System.out.print(stu[i]+ " ");
}
System.out.println();
학생들의 점수 데이터 입력
stu[0]=29;
stu[1]=99;
stu[2]=30;
stu[3]=22;
stu[4]=87;
stu[5]=57;
//1. 평균
int sum = 0;
for(int i=0; i<stu.length; i++) {
//전체 학생들의 점수 총합
sum+=stu[i];
}
double avg =sum*1.0/stu.length;
//2.평균 넘긴 학생 수
//5. 평균 못 넘긴 학생들의 번호
int num=0;
for(int i=0; i<stu.length; i++) {
if(stu[i]>avg) {
num++;
}
else {
System.out.println((i+1)+"번 학생은 평균을 넘기지 못했습니다.");
}
}
System.out.println("평균을 넘긴 학생 수는 "+num+"명입니다.");
//3. 6등의 번호(최소값 찾기)
int min=stu[0];
int minIndex=0;
for(int i=0; i<stu.length; i++) {
if(min>stu[i]) {
min=stu[i];
minIndex=i;
}
}
System.out.println("6등의 번호는 "+(minIndex+1)+"번입니다.");
//4.짝수번째 학생들의 총점
int res=0;
for(int i=0; i<stu.length; i++) {
if(i%2!=0) {
res+=stu[i];
}
}
System.out.println("짝수번째 학생들의 총점은 "+res+"점입니다.");
}
728x90
반응형
'자바 > 자바 기초' 카테고리의 다른 글
[자바 기초] day04 : 자판기 프로그램 만들기 (0) | 2023.05.08 |
---|---|
[자바 기초] day03 : 난수 생성하기(Random 클래스 활용) (0) | 2023.05.06 |
[자바 기초] day02 : 이중 반복문(예제 중심) (0) | 2023.05.03 |
[자바 기초] day02 : 제어문 (0) | 2023.05.03 |
[자바 기초] day01 : 연산자 (0) | 2023.05.03 |
Comments