자바 61

constructor, 생성자

1. 기본 생성자(매개변수 없는 생성자)2. 매개변수가 있는 생성자 기본생성자는 생성자가 없으면 자동으로 만들어지지만, 다른 생성자가 있으면 자동으로 만들어지지 않습니다. 생성자 이름은 클래스 이름과 동일하게 맞춰줍니다. 1. 기본 생성자 사용public class Constructor01 { String field1; int field2; public Constructor01() { }}  2. 매개변수가 있는 생성자 사용public class Constructor01 { String field1; int field2; // 파라미터, 매개변수 public Constructor01(String field1, int field2) { this.field1=field1; //이름이 같..

자바 2024.07.15

버블 소팅

배열 데이터 정렬할 때 쓰이는 방법중에는 버블 소팅이 있습니다. 버블소팅을 통해 배열에 있는 데이터를 하나하나씩 비교해서 오름차순 혹은 내림차순으로 정렬시킬 수 있습니다.  int [] arr = {90,80,70,69,50};int cnt=0; for(int i=0;i이렇게 하면 16번 반복실행하게 됩니다.버블소팅은 하나하나씩 다 실행해보기 때문에 속도가 느립니다.   int [] arr = {90,80,70,69,50};int cnt=0; for(int i=0;i하지만 이런식으로 이미 배열이 정렬돼있을 때 불필요한 비교를 줄여주는 역할을 하므로써 속도를 줄일 수 있습니다.  또한 정렬을 쉽게 하기 위해서는 Arrays.sort()를 사용하는 방법이 있는데 int [] arr = {68,75,42,..

자바 2024.07.12

배열 복사

1. shallow copy : 복사된 배열이나 원본 배열이 변경될 때 서로간의 값이 같이 변경됨(주소값 복사)int[] source = {1,2,3,4,5};int[] target = source; target[2] = 10; System.out.println("원본 배열"); for(int num : source) System.out.print(num+"\t");System.out.println(); System.out.println("복사된 배열");for(int num : target) System.out.print(num+"\t");System.out.println();  2. deep copy: 배열공간을 별도로 확보 1) 반복문 이용 -> 제일 간편int[] source = {1,..

자바 2024.07.12

필드

메소드 안이 아닌 클래스 영역 안에 있는 애들을 필드라고 합니다.  public class Student { String name; int kor; int eng; int math; int sum; double avg; }Student 클래스에 이런 틀을 정해주고 public class StudentMain { public static void main(String[] args) { Student st=new Student(); st.name="이순신"; st.kor=100; st.eng=90; st.math=100; st.sum=st.kor+st.math+st.eng; st.avg=st.sum/3.0; Student st2=new Student(); st2.name="홍길동"..

자바 2024.07.12

배열, 필드 데이터 담기

데이터 담을 수 있는 방법중에 하나가 배열이 있는데,배열의 단점은 int로 설정하면 int만, string으로 설정하면 string만 담을 수 있습니다.int [] arr = new int[3]; arr[0]=90;arr[1]=80;arr[2]=77; int sum=0;for(int i=0;i또한 arr[0]=90, arr[1]=80이런식으로 적어서 각각이 뭘 의미하는지 모른다는 단점이 있습니다.   데이터 담을 수 있는 방법중 또다른 하나가 필드인데필드는 어떤 타입을 넣어도 상관없습니다. (기존 FieldExample 클래스에서 이미 지정해줬기 때문에)FieldExample fe2 = new FieldExample(); // new라는 키워드를 쓰는 순간 힙 저장fe2.name = "홍길동";fe2..

자바 2024.07.12

이클립스 디버깅

확인하고싶은 변수가 있다면 해당 줄에 breakpoint를 잡고, 디버깅을 시작합니다.   오른쪽 위디버그 아이콘 선택 그럼 이런 창이 뜨는데 만약에 저 창이 안뜨면 저기에서 밑으로 쭉 나와있는  부분에서 창 아이콘 (restore)를 클릭합니다혹은 window - show view - variables에서 변수 확인 위에 바에서 디버그 아이콘을 누르면 실행이 되면서   variables에 이렇게 뜨는데 저기서 원하는 변수를 클릭하면 해당 변수의 값을 확인할 수 있습니다.  재생 단추를 누르거나 F6을 누르면서 next로 실행 과정 확인할 수 있습니다.   f11 누르면 디버깅 시작f8 누르면 빠져나옴  만약 변수에 private 있으면 외부 클래스에서 접근을 못하니까 디버깅 확인 못함 (디버깅하고싶으면..

자바 2024.07.10

배열

배열 선언할 때 세가지 방법이 있습니다.// 배열 선언int[] arr = new int[5]; //이 방법으로 쓰기int arr1[] = new int[5];int[] arr3 = {1,2,3,4,5};첫번째 방법으로 쓰는게 가장 좋은 방법입니다.참고로 앞에 int와 뒤에 있는 int는 같은 데이터타입으로 입력해줘야합니다. int [] arr= {80, 90, 87, 65, 82}; //최대값, 최소값 구하기 int max=Integer.MIN_VALUE;int min=Integer.MAX_VALUE; for(int i =0; iarr[i]) min =arr[i]; }System.out.println(max);System.out.println(min); max, min 초기값 설정할 때 int..

자바 2024.07.10