반응형
배열 Array
index, length
위치 길이
배열은 객체
객체는 기본적으로 속성과 메소드를 가지고있다.
배열만 유일하게 속성만 가지고 있다.
배열은 동일(유사)한 타입의 데이터를 하나의 묶음 형태로 관리하기 위해 사용되는 자료구조
속성은 배열의 길이를 나타내는 length 객체의 속성과 메소드 등을 호출할때는 .(점)을 이용한다.
배열의 선언
int[] arr01 = new int[10]; //int 타입의 길이가 10인 배열 선언
double[] dArr01 = new double[5]; // doulbe 타입의 길이가 5인 배열 선언
char[] cArr01 = new char[15]; // char타입의 길이가 15인 배열 선언
//int arr02[] = new int[5]; // 사용가능
int[] arr02 = new int[5]; // 길이는 생성할때만 사용
//생성식 = 바로 값을 넣기 가능
int[] arr02 = new int[] {10, 11, 12, 13, 14, 15, 16, 17};
int[] arr03 = {100, 200, 300, 400, 500};
배열 출력
Arrays.toString() 함수
Arrays.toString(변수명);
arr02[0] = 10; //index 값 호출, 대입 할때만 사용
// 1 2 3 4 5 = 길이 length
// 0 1 2 3 4 = 위치 index
// 10
System.out.println(arr02[0]); //10
System.out.println(arr02[1]); //?
System.out.println(arr02[2]); //?
System.out.println(arr02[3]); //?
System.out.println(arr02[4]); //?
//System.out.println(arr02[5]); // index 밖으로 컴파일 에러
System.out.println(arr02);//배열 주소값 [I@53bd815b
System.out.println(Arrays.toString(arr02));//[10, 0, 0, 0, 0]
배열의 길이
변수명.length
int length = arr02.length; //동일
System.out.println(arr02.length);// 길이는 int
//arr01에 1부터 10까지 저장
for (int i = 0; i < arr01.length; i++) {
arr01[i]= i+1;
}
System.out.println(Arrays.toString(arr01));//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for(int i = 0; i<arr01.length; i++) {//역순 저장
arr01[i]= arr01.length-i;
}
// int cnt =0;
// for (int i = 10; i > 0; i--){
// arr01[cnt++] = i;
// }
System.out.println(Arrays.toString(arr01));//[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
foreach문
향상된 for문
for (int i = 0; i < arr03.length; i++) {
System.out.println(arr03[i]); //index에 넣어서
}
System.out.println("foreach문");
for (int i : arr03) { //어떤 집합을 열어서 그 요소를 반환
System.out.println(i);
}
double[] dArr = new double[5];
for (double d : dArr) {
System.out.println(d);
}
시저 암호는, 고대 로마의 황제 줄리어스 시저가 만들어 낸 암호인데, 예를 들어 알파벳 A를 입력했을 때, 그 알파벳의 n개 뒤에 오는(여기서는 예를 들 때 3으로 지정하였다)알파벳이 출력되는 것이다. 예를 들어 바꾸려는 단어가 'CAT"고, n을 5로 지정하였을 때 "HFY"가 되는 것이다.
import java.util.Arrays;
import java.util.Scanner;
public class Array03 {
public static void main(String[] args) {
char[] cat = { 'A', 'Z', 'Y' };
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
input = input%26; // 1회전 이상시 대비
for (int i = 0; i < cat.length; i++) {
cat[i] = (char) (cat[i] + input);
if (cat[i] > 'Z') {
cat[i] =(char) (cat[i] - 26);
}
}
System.out.println(Arrays.toString(cat));
sc.close();
}
}
스캐너로 입력받은 문자열 배열로 넣기
char[] 변수명 = 변수명.toCharArray();
//스캐너로 입력받은 문자열 배열로 넣기
System.out.println("문자열 입력 : ");
String input2 = sc.next();
char[] string2Char = input2.toCharArray();
//문자열을 하나하나 분해하여 넣는다
System.out.println(Arrays.toString(string2Char));
반응형
'프로그래밍 > Java 공부' 카테고리의 다른 글
이차원 배열, 성적 입력 프로그램, 모스부호 해독 (0) | 2021.05.27 |
---|---|
배열, 이차원 배열 (0) | 2021.05.26 |
for문(별찍기), switch문, while문, do~while문 (0) | 2021.05.24 |
조건문(if), 반복문(for) (0) | 2021.05.21 |
연산자, 조건문(if, else if) (0) | 2021.05.20 |