728x90
반응형
1. 1차원 배열
- 배열 선언 및 생성
자료형[] 배열명 = new 자료형[배열의 크기];
또는
자료형 배열명[] = new 자료형[배열의 크기];
int[] score; //배열명을 score를 선언한다. int score[]라고 해도 된다.
score = new int[5] // 배열 score 공갼 5개를 실제로 만든다.
- 배열 초기화
int[] score = {90, 85, 92, 75, 88};
int[] score = new int[]{90, 85, 92, 75, 88};
잘못된 초기화
int[] scroe;
socre = {90, 85, 92, 75, 88}; //에러
올바른 초기화
int[] score;
score = new int[] {90, 85, 92, 75, 88};
- 배열 출력하기
public class Code_64 {
public static void main(String[] args)
{
int[] score = {90, 85, 92, 75, 88};
for (int i = 0; i < score.length; i++)
System.out.println("score[" + i + "] = " + score[i]);
}
}
//결과값
score[0] = 90
score[1] = 85
score[2] = 92
score[3] = 75
score[4] = 88
- score.length는 배열 score의 크기를 말한다. 즉 배열. length라고 하면, 배열의 길이를 알려준다.
import java.util.Arrays;
public class Code_65 {
public static void main(String[ ] args) {
int[ ] score = {90, 88, 95, 82, 75, 100, 85};
System.out.println(Arrays.toString(score));
}
}
//결과값
[90, 88, 95, 82, 75, 100, 85]
- import.java.util.Arrays;를 추가하면 Array.toString() 메소드를 수행하며, 이 메소드를 수행하면 루프를 이용하지 않고 배열을 통째로 출력할 수 있다.
- 한 줄에 배열 여러 개 선언하기
int[] data;
int data[];
- 배열을 선언할 때 배열 기호[]를 배열명 앞에 붙이거나 뒤에 붙이거나 같은 표현이다.
//data1, data2, data3 모두 정수 배열로 선언한다.
int[] data1, data2, data3;
int[] data1;
int[] data2;
int[] data3;
//data1만 배열로 선언하고, data2와 data3은 정수가 된다.
int data1[], data2, data3;
int[] data1;
int data2;
int data3;
- 배열의 참조값 이해하기
public class Code_66 {
public static void main(String[ ] args)
{
int[] score = new int[5];
System.out.println(score);
double[] data = new double[7];
System.out.println(data);
}
}
//결과값
[I@757942a1
[D@66d1af89
- 출력문에 배열명을 넣었을 때 나오는 값을 참조값이라고 한다.
- 출력된 결과에 [I는 정수 배열이라는 의미고, [D는 double 자료형 배열임을 알려준다.
- 배열 복사하기
import java.util.Arrays;
public class Code_67 {
public static void main(String[] args) {
int[] original = {4, 2, 9, 7, 10, 3};
int[] destination = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
System.arraycopy(original, 2, destination, 4, 3);
System.out.println(Arrays.toString(original)); // original 배열 출력
System.out.println(Arrays.toString(destination)); // destination 배열 출력
}
}
//결과값
[4, 2, 9, 7, 10, 3]
[0, 1, 2, 3, 9, 7, 10, 7, 8, 9]
- System.arraycopy()를 이용하면 하나의 배열에서 다른 배열로 간단하게 복사할 수 있다.
- 배열에 배열 대입하기
public class Code_68 {
public static void main(String[] args)
{
int data1[ ] = {4, 2, 9, 10, 1};
int data2[ ];
data2 = data1;
System.out.println("data1 : " + data1);
System.out.println("data2 : " + data2);
}
}
//결과값
data1 : [I@757942a1
data2 : [I@757942a1
- 결과를 보면 data1과 data2가 같은 참조값을 갖는 것을 볼 수 있다.
import java.util.Arrays;
public class Code_69 {
public static void main(String[] args)
{
int data1[ ] = {4, 2, 9, 10, 1};
int data2[ ];
data2 = data1; // 하나의 배열을 공유한다.
data1[2] = 5000;
System.out.println("data1 : " + Arrays.toString(data1));
System.out.println("data2 : " + Arrays.toString(data2));
}
}
//결과값
data1 : [4, 2, 5000, 10, 1]
data2 : [4, 2, 5000, 10, 1]
- data1을 수정하면 data2가 같이 수정되는 결과를 볼 수 있다.
2. 다차원 배열
- 2차원 배열
자료형[][] 배열명 = new 자료형[행 크기][열 크기]
public class Code_70 {
public static void main(String[] args)
{
int[][] data = {{3, 1, 7, 8},
{9, 2, 2, 5},
{1, 3, 5, 7}};
for (int i = 0; i < 3 ; i++) {
for (int j = 0; j < 4 ; j ++) {
System.out.print(data[i][j] + " ");
}
System.out.println();
}
}
}
//결과값
3 1 7 8
9 2 2 5
1 3 5 7
- 가변 배열
public class Code_71 {
public static void main(String[] args)
{
int data[ ][ ] = new int[3][ ];
data[0] = new int[4];
data[1] = new int[5];
data[2] = new int[3];
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++)
System.out.print(data[i][j] + " ");
System.out.println( );
}
}
}
//결과값
0 0 0 0
0 0 0 0 0
0 0 0
- 다차원 배열에는 불규칙적인 배열 형태가 있다.
3. for-each 스타일 반복문
for(자료형 변수 : 변수) {
반복 처리할 문장
}
public class Code_72 {
public static void main(String[] args)
{
int data[ ] = {4, 2, 9, 10, 1};
for (int x : data) {
System.out.println(x);
}
}
}
//결과값
4
2
9
10
1
public class Code_73 {
public static void main(String[] args)
{
double[ ] score = {90.5, 88.3, 70.8, 67.2, 92.4, 80.7};
double total = 0.0;
double average;
for (double s : score)
total += s;
average = total / score.length;
System.out.println("average : " + average);
}
}
//결과값
average : 81.65
public class Code_74 {
public static void main(String[] args)
{
char alpha[ ] = {'A', 'B', 'C', 'D', 'E'};
for (char x : alpha) {
System.out.println(x + ":" + (char)(x + 32));
}
}
}
//결과값
A:a
B:b
C:c
D:d
E:e
public class Code_75 {
public static void main(String[] args)
{
int numbers[ ][ ] = {{10, 30, 20, 15},
{11, 5, 2, 9},
{7, 8, 1, 13}};
for (int[ ] num : numbers) {
for (int x : num)
System.out.print(x + " ");
System.out.println( );
}
}
}
//결과값
10 30 20 15
11 5 2 9
7 8 1 13
- 2차원 배열에 대한 for-each 반복문은 다음과 같이 적을 수 있다.
4. 문자열(String)
public class Code_76 {
public static void main(String[] args)
{
String s1 = "hello";
String s2 = new String("world");
System.out.println(s1);
System.out.println(s2);
}
}
//결과값
hello
world
public class Code_77 {
public static void main(String[] args)
{
String s1 = new String("hello");
String s2 = new String("hello");
if (s1 == s2)
System.out.println("same");
else
System.out.println("different");
}
}
//결과값
different
- 문자열을 비교할 때 '==' 기호를 사용하지 말고 반드시 equals()를 사용해야 한다.
public class Code_78 {
public static void main(String[] args)
{
String s1 = new String("hello");
String s2 = new String("hello");
if (s1.equals(s2))
System.out.println("same");
else
System.out.println("different");
}
}
//결과값
same
- 문자열의 길이를 알고 싶을 때는 문자열. length()를 이용한다.
public class Code_79 {
public static void main(String[] args)
{
String name = "Alice";
String emptyString = "";
String space = " ";
System.out.println(name.length( ));
System.out.println(emptyString.length( ));
System.out.println(space.length( ));
}
}
//결과값
5
0
1
- 문자열들을 연결하려면 '+' 기호를 사용한다.
public class Code_80 {
public static void main(String[] args)
{
String s1 = "Hello";
String s2 = "World";
String str1;
str1 = s1 + s2;
System.out.println(str1);
String str2;
str2 = s1 + " " + s2;
System.out.println(str2);
}
}
//결과값
HelloWorld
Hello World
728x90
반응형
'Framwork > Java기초' 카테고리의 다른 글
Chapter 7. 클래스와 객체(1) (0) | 2022.10.30 |
---|---|
Chapter 6. 메소드 (0) | 2022.10.26 |
Chapter 4. 조건문과 반복문 (0) | 2022.10.09 |
Chapter 3. 계산을 위한 연산자 (0) | 2022.10.04 |
Chapter 2. 변수, 자료형, 주석 (1) | 2022.09.24 |