JAVA
String배열
String배열
2022.03.23String배열의 선언과 생성 String[] name = new String[3];// 3개의 문자열을 담을 수 있는 배열을 생성한다. 이 문장이 실행되면, 이렇게 된다 참조변수 name이 있고, 3개의 문자열을 다룰 수 있는 저장공간이 생긴다. String은 기본형이 아니라 참조형이기 때문에, 참조형의 기본값인 null이 들어간다. 참고로 각 타입의 기본값은 아래 표와 같다. 대부분 0이고, boolean타입은 false인데, 참조형의 기본값은 null이다. name[0] = "Kim"; name[1] = "Park"; name[2] = "Yi"; 각 배열의 요소에 문자를 저장하는 방식으로 해도 되고, 아니면 아래와 같이 괄호를 이용해도 된다. String[] name = new String[] {"..
배열의 활용(3)~(4)
배열의 활용(3)~(4)
2022.03.22배열의 활용(3) 섞기(shuffle) 배열의 요소의 순서를 반복해서 바꾼다.(숫자 섞기, 로또번호 생성) [Ex5_4] import java.util.Arrays; public class Ex5_4 { public static void main(String[] args) { int[] numArr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; System.out.println(Arrays.toString(numArr)); for (int i = 0; i < 100; i = i + 1) { int n = (int)(Math.random() * 10); // 0~9중의 한 값을 임의로 얻는다. int tmp = numArr[0]; numArr[0] = numArr[n]; numArr[n] =..
배열의 활용(1)~(2)
배열의 활용(1)~(2)
2022.03.22배열의 활용(1) 총합과 평균 - 배열의 모든 요소를 더해서 총합과 평균을 구한다. [Ex5_2] public class Ex5_2 { public static void main(String[] args) { int sum = 0; // 총합을 저장하기 위한 변수 float average = 0f; // 평균을 저장하기 위한 변수 int[] score = {100, 88, 100, 100, 90}; for (int i = 0; i < score.length; i = i + 1) { sum = sum + score[i]; } average = sum / (float)score.length; // 계산 결과를 float타입으로 얻으려 형변환 System.out.println("총합 : "+ sum); Sys..
배열의 출력
배열의 출력
2022.03.22배열의 출력 int[] iArr = {100, 95, 80, 70, 60}; iArr[] length = 5이다. 이 배열의 모든 값을 출력하려면 어떻게 하면 될까? System.out.println(iArr);// [I@14318bb와 같은 형식의 문자열이 출력된다. 이 문장을 실행하면, iARR에 저장된 모든 값이 출력되면 좋겠지만 그렇지 않다. [I@14318bb와 같은 형식의 문자열이 출력되는데, [I의 뜻은 integer타입의 배열을 의미한다. @는 주소를 의미한다.(정확하게 주소는 아닌데 주소라고 이해하고 넘어가면 된다.) 아무튼, 이런 값이 나오는데, 이런값이 왜 나오는지는 나중에 공부할 9장에서 공부하도록 하자. 근데 예외가 있다. char[] chArr = {'a', 'b', 'c', '..
배열의 길이, 배열의 초기화
배열의 길이, 배열의 초기화
2022.03.22배열의 길이 배열이름.length - 배열의 길이(int형 상수) int[] arr = new int[5];// 길이가 5인 int배열 int tmp = arr.length;// arr.length의 값은 5이ㄱ tmp에 5가 저장된다. "배열은 한번 생성하면 일단 실행하면 그 길이를 바꿀 수 없다." 왜 길이를 못바꾸는가? 공간이 부족하면 어떻게 하는가? 위의 코드를 예로 들면 int[5]는 4byte * 5 즉, 20byte의 공간이 필요하다. 현재 보유하고 있는 메모리는 내부 공간을 보면, 사용되고 있는 공간이 있고, 비어있는 공간이 있을 것이다. 배열은 연속적이므로 메모리에서 20byte의 공간을 찾아야 한다. 비어있는 공간 중, 20byte짜리를 찾게되면, 해당 공간에 배열이 생성되고 해당 주소..
배열의 생성과 선언, 배열의 인덱스
배열의 생성과 선언, 배열의 인덱스
2022.03.21배열이란? "배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것" 예를 들어서 성적 처리 프로그램을 작성한다고 했을 때, 여러 학생의 점수를 다룰려면 어떻게 해야할까? 변수에 번호를 붙여서 이런식으로 저장을 해야하는데, int score1, score2, score3, score4, score5; 만약에 학생이 100명, 1000명이면 변수를 일일이 저장하기 까다롭다. 그래서 배열이 필요하다. 만약에, 변수를 선언하면, 저장공간은 아래와 같이 될 것이다. 변수의 이름을 통해서 이 저장공간을 읽어오고 할 것이다. 만약에, 배열을 선언하는 경우, 이와 같이 선언한다. int[] score = new int[5]; 이 문장이 무슨 뜻이냐면, int값 5개를 저장할 수 있는 배열을 만든다는 뜻이다. 이 ..