[22.12.23] 44일차 [백엔드]

W·2022년 12월 23일
0

국비

목록 보기
64/119

배열

예제1)

package test;

public class Test1 {

	public static void main(String[] args) {
		int score1 = 80;
		int score2 = 100;
		int score3 = 50;
		int score4 = 90;
		int score5 = 77;
		
		// 배열 : 같은형 기억장소를 여러개 만들어서 사용
		
		int [] score = new int[5];
		score [0] = 80;
		score [1] = 100;
		score [2] = 50;
		score [3] = 90;
		score [4] = 77;
		
		int sum=0;
		for(int i=0;i<score.length;i++) {
			System.out.println(score[i]);
			sum+=score[i];
		}
			System.out.println("점수의 합 : " + sum);
			System.out.println("점수의 평균 : " + sum/(double)score.length);
			
		// 점수의 최대값
			
		int max = 0;
		for(int i=0;i<score.length;i++) {
			if (max<score[i]) {
				max=score[i];
			}
		}
		System.out.println("점수의 최대값 : " + max);
		
		
		// 실수형 데이터 heights 3개
		// 155.3 178.2 193.6
		double [] heights = {155.3, 178.2, 193.6};
		
		for(int i=0;i<heights.length;i++) {
			System.out.println(heights[i]);
		}
		
		// 학생 5명 이름을 저장하는 배열
		// "홍길동" "이순신" "강감찬" "이몽룡" "성춘향"
		String [] name = {"홍길동", "이순신", "강감찬", "이몽룡", "성춘향"};
		
		for(int i=0;i<name.length;i++) {
			System.out.println(name[i]);
		}
	
	}

}
[출력]
80
100
50
90
77
점수의 합 : 397
점수의 평균 : 79.4
점수의 최대값 : 100
155.3
178.2
193.6
홍길동
이순신
강감찬
이몽룡
성춘향

예제2)

  • Student 클래스
package test;

public class Student {
	// Student 클래스
	// 멤버변수 int num, String name
	// set, get
	private int num;
	private String name;
	
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}
  • StudentDAO 클래스
package test;

public class StudentDAO {

		// StudentDAO 클래스 정의
		// 리턴할형 없음 insertStuent(학생 여러명 저장하는 배열변수) 메서드 정의
		// for 학생정보 출력	
	
	public void insertStudent(Student [] ss) {
		for(int i=0;i<ss.length;i++) {
		System.out.println(ss[i].getNum()+". " + ss[i].getName());
		}
	}
}
package test;

public class Test2 {

	public static void main(String[] args) {
		// Student 클래스
		// 멤버변수 int num, String name
		// set, get
		
		
		// 1. 홍길동
		// 2. 이길동
		
		Student s1 = new Student();
		s1.setNum(1);
		s1.setName("홍길동");
		
		Student s2 = new Student();
		s2.setNum(2);
		s2.setName("이길동");
		
		Student [] ss = new Student[2];
		ss[0]=s1;
		ss[1]=s2;
		
		for(int i=0;i<ss.length;i++) {
			System.out.println(ss[i].getNum()+". "+ss[i].getName());
		}
	
		
		// StudentDAO 클래스 객체생성
		// insertStudent(학생 여러명 전달하는 주소) 메서드 호출
		
		StudentDAO SD = new StudentDAO();
		SD.insertStudent(ss);
		
	}

}
[출력]
1. 홍길동
2. 이길동
1. 홍길동
2. 이길동

ArrayList 클래스

ArrayList 클래스 => 자바 내장객체

  • 배열의 단점을 보완해서 만든 클래스 ArrayList
  • 10개 정의 => 데이터 추가 => 자동으로 10개씩 기억장소 추가
  • .add() 배열에 데이터 추가(순서대로)
    .size() 배열 크기
    .get(i) i번째 내용 가져오기
		// ArrayList 객체생성
		// 크기 지정하지 않으면 10개 크기 지정
		// 자료형 지정하지 않으면 모든형 저장 가능
		ArrayList jum = new ArrayList();
		jum.add(80);
		jum.add(100);
		jum.add(50);
		jum.add(90);
		jum.add(77);
//		jum.add("안녕");
//		jum.add(3.4);
//		jum.add('A');
		
		
		System.out.println("배열 크기 : " + jum.size());
		for(int i=0;i<jum.size();i++) {
			System.out.println(jum.get(i));
		}
[출력]
배열 크기 : 5
80
100
50
90
77
		// String[] name =
		// {"홍길동", "이순신", "강감찬", "이몽룡", "성춘향"};
		
		ArrayList<String> name = new ArrayList<String>();
		name.add("홍길동");
		name.add("이순신");
		name.add("강감찬");
		name.add("이몽룡");
		name.add("성춘향");
		System.out.println("배열주소:"+name);
		System.out.println("배열크기:"+name.size());
		for(int i=0;i<name.size();i++) {
			System.out.println(name.get(i));
		}
[출력]
배열주소:[홍길동, 이순신, 강감찬, 이몽룡, 성춘향]
배열크기:5
홍길동
이순신
강감찬
이몽룡
성춘향

예제)

  • student 클래스에 값을 받는 생성자 추가
package test;

public class Student {
	private int num;
	private String name;
	
	public Student() {

	}
	public Student(int num, String name) {
		this.num = num;
		this.name = name;
	}

	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}
		Student s1 = new Student(1,"홍길동");
		Student s2 = new Student(2,"김길동");
		Student s3 = new Student(3,"이길동");
		
		// ArrayList 배열선언 <Student> 형 3명 저장
		
		ArrayList<Student> sss = new ArrayList<Student>();
		sss.add(s1); // == sss.add(new Student(1,"홍길동");
		sss.add(s2);
		sss.add(s3);
		System.out.println("배열주소:"+sss);
		System.out.println("배열크기:"+sss.size());
		for(int i=0;i<sss.size();i++) {
			System.out.println(sss.get(i).getNum()+". "+sss.get(i).getName());
	}
[출력]
배열주소:[test.Student@7c30a502, test.Student@49e4cb85, test.Student@2133c8f8]
배열크기:3
1. 홍길동
2. 김길동
3. 이길동

예제)

  • Member 클래스
package test;

public class Member {
	private String id;
	private String pass;
	private String name;
	
	public Member() {
		
	}
	
	
	public Member(String id, String pass, String name) {
		super();
		this.id = id;
		this.pass = pass;
		this.name = name;
	}


	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass; 
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}
package test;

import java.util.ArrayList;

public class Test4 {

	public static void main(String[] args) {
		
		// Member 3명 준비 => 객체생성
		// ArrayList 배열 저장
		// for 출력
		
		ArrayList<Member> mm = new ArrayList<Member>();
		mm.add(new Member ("id1", "pass1", "홍길동"));
		mm.add(new Member ("id2", "pass2", "김길동"));
		mm.add(new Member ("id3", "pass4", "이길동"));
		
		for(int i=0;i<mm.size();i++) {
			System.out.println(mm.get(i).getId()+", "+mm.get(i).getPass()+", "+mm.get(i).getName());
		}
		
		

	}

}
[출력]
id1, pass1, 홍길동
id2, pass2, 김길동
id3, pass4, 이길동

0개의 댓글