package com.array;
public class ArrayTest1 {
public static void main(String[] args) {
// 배열이란? 연관된 데이터 타입을 한번에 모아서 통으로 관리하기 위해 사용할 수 있다.
// 배열을 선언하는 문법
// 규칙 1.
// 배열은 반드시 먼저 몇 개의 데이터가 들어갈지 크기를 지정해야 사용할 수 있다.
// int[] numbers; // 배열의 선언
// numbers = new int[3]; // 4바이트 네모칸 3개 초기화
int[] numbers = new int[3]; // 데이터 타입에 대괄호 문법 허용
int intBoxes[] = new int[5]; // 변수 뒤에 대괄호 문법 허용
//[][][] <--- 값이 아직 안들어간 상태이다.
// 배열 선언과 동시에 값을 초기화 해보자.
int[] grade = new int[]{1, 2, 3};
// [1][2][3]
int[] grades = {1, 2, 3, 4, 5, 6};
// [1][2][3][4][5][6]
// 문제 1
// 5개의 크기를 가지는 double 타입 배열을 선언하시오.
double[] doubles = new double[5]; // 길이를 정해줘야한다.
doubles[0] = 1.0;
doubles[1] = 1.1;
doubles[2] = 1.2;
doubles[3] = 1.3;
doubles[4] = 1.4;
// 중요! 모든 프로그래밍 언어에 인덱스 번호는 0 부터 시작한다.
// doubles 배열 길이는 얼마일까? 5개
// doubles 인덱스 길이는 얼마일까? 4
//모든 인덱스 길이는 n - 1 이다.
// doubles[5] =1.5;
int[] array1 = new int[57];
// 배열의 길이 57
// 인덱스의 길이 56
int[] array2 = new int[157];
// 인덱스의 길이 156
// String 배열 선언 방법
String[] stringBox = new String[3];
stringBox[0] = "가";
stringBox[1] = "나";
stringBox[2] = "다"; // 인덱스 길이 조심
System.out.println("-------------------");
System.out.println(stringBox.length);
System.out.println(stringBox[0]);
System.out.println(stringBox[1]);
System.out.println(stringBox[2]);
for (int i = 0; i < stringBox.length; i++) {
// i = 0
// i = 1
// i = 2
System.out.println(stringBox[i]);
}
}
}
package com.array;
public class ArrayTest2 {
public static void main(String[] args) {
char[] alphabet = new char[26];
// char 타입은 원래 정수 값이다.
// 컴퓨터는 0,1 이진수로 데이터를 표현한다.
// 문자, 문자열을 아주 많이 다루고 있다.
// 컴퓨터에서 문자를 표현하기 위해서 문자표라는 것을 사용한다.
// 아스키코드, EUC-KR, 유니코드 - 문자표를 전세계 공통으로 사용하기 위해 만들었음
// 아스키코드 : 1바이트 안에 하나의 문자를 다 표현할 수 있다.
// [][][][][][][][] <---- 정수 0 ~ 127
// alphabet[0] = 'A';
// System.out.println((int) alphabet[0]);
//
// alphabet[1] = 'B';
// System.out.println((int) alphabet[1]);
// 인코딩
// 문자를 컴퓨터가 이해할 수 있는 숫자(코드값)로 바꾸는 과정
int code1 = (int) 'A';
// 디코딩
// 숫자(코드값)를 사람이 읽을 수 있는 문자로 바꾸는 과정
char code2 = (int) 66;
// 반복문을 통해서 알파벳 A ~ Z 출력
for (int i = 0; i < alphabet.length; i++) {
alphabet[i] = (char) ('a' + i);
System.out.println(alphabet[i]);
}
}
}
package com.array;
import java.util.Random;
public class ArrayTest3 {
public static void main(String[] args) {
// 난수 발생 기능 - 랜덤한 숫자를 하나 만들어 주는 도구
// 자바 개발자들이 미리 만들어 준 기능
Random random = new Random();
// 문서 <-- 구글링 <-- AI
// 0 ~ 44까지 랜덤한 숫자 하나 발생
// 배열과 for 문을 활용해서 코드를 수정
int ranInt1 = random.nextInt(45) + 1;
int ranInt2 = random.nextInt(45) + 1;
int ranInt3 = random.nextInt(45) + 1;
int ranInt4 = random.nextInt(45) + 1;
int ranInt5 = random.nextInt(45) + 1;
int ranInt6 = random.nextInt(45) + 1;
// 배열 규칙 - 배열을 미리 사용할 공간, 크기를 정해주어야 한다
// xxx.length 를 활용
int[] ranInt = new int[6];
for (int i = 0; i < ranInt.length; i++) {
ranInt[i] = random.nextInt(45) + 1;
System.out.println(ranInt[i]);
}
}
}
package com.array;
import java.util.Arrays;
import java.util.Random;
public class ArrayTest4 {
public static void main(String[] args) {
// 배열을 사용해서 랜덤한 숫자 6개 저장 출력
// 배열은 보통 for 반복문과 함께 많이 사용
// 랜덤한 숫자를 뽑아주는 도구 준비
Random random = new Random();
// 배열은 연관된 데이터 타입을 하나 통으로 관리하기 위해 사용
// 정수 값 6개를 담을 수 있는 배열 선언
int[] ranInt = new int[6];
for (int i = 0; i < ranInt.length; i++) {
// i = 0, ranInt[0] = 랜점 숫자 하나 저장
// i = 1, ranInt[1] = 랜점 숫자 하나 저장
// i = 2, ranInt[2] = 랜점 숫자 하나 저장
// i = 3, ranInt[3] = 랜점 숫자 하나 저장
// i = 4, ranInt[4] = 랜점 숫자 하나 저장
// i = 5, ranInt[5] = 랜점 숫자 하나 저장
ranInt[i] = random.nextInt(45) + 1;
System.out.println(ranInt[i]);
}
// 자바 개발자들이 만들어 준 정렬 기능 (배열)
Arrays.sort(ranInt);
System.out.println("-----------------");
for (int i = 0; i < ranInt.length; i++) {
// \ <-- 문자로 보지말고 명령어로 인식해 t <--- 탭 간격을 의미
System.out.print(ranInt[i] + "\t");
}
}
}
package com.array;
import java.util.Random;
public class ArrayTest5 {
public static void main(String[] args) {
// 1. 문자열 배열 선언 및 초기화
String[] fruits = {"apple", "banana", "orange", "mango"};
System.out.println(fruits.length);
// 랜덤한 숫자를 하나 뽑아서 해당하는 번호에 과일을 출력
Random random = new Random();
int choice = random.nextInt(4); // 0 ~ 3 까지 랜덤 숫자 출력
System.out.println("오늘의 과일은 : " + fruits[choice]);
}
}