Tue, 26th Oct 2021

package sec06.exam02_array_bynew_YJ;

public class ArrayCreateByNewExample {
	public static void main(String[] args) {
		int[] arr1 = new int[3]; //길이가 3인 정수타입의 arr1 배열 생성
		for(int i=0; i<arr1.length; i++) { 
			//배열의 인덱스는 0부터 시작하므로 배열의 마지막 인덱스는 배열 길이-1 이다.
			System.out.println("int arr1[" + i + "]: " + arr1[i]);
			//int arr1[0]: 0
			//int arr1[1]: 0
			//int arr1[2]: 0 -> int 타입 배열의 초기값은 0
		}
		System.out.println();
		arr1[0] = 10;
		arr1[1] = 20;
		arr1[2] = 30;
		for(int i=0; i<arr1.length; i++) {
			System.out.println("int arr1[" + i + "]: " + arr1[i]);
			//int arr1[0]: 10
			//int arr1[1]: 20
			//int arr1[2]: 30
		}
		System.out.println();
		double[] arr2 = new double[3]; //길이가 3인 실수타입의 arr2 배열 생성
		for(int i=0; i<arr2.length; i++) {
			System.out.println("double arr2[" + i + "]: " + arr2[i]);
			//double arr2[0]: 0.0
			//double arr2[1]: 0.0
			//double arr2[2]: 0.0 -> double 타입 배열의 초기값은 0.0
		}
		System.out.println();
		arr2[0] = 0.1;
		arr2[1] = 0.2;
		arr2[2] = 0.3;
		for(int i=0; i<arr2.length; i++) {
			System.out.println("double arr2[" + i + "]: " + arr2[i]);
			//double arr2[0]: 0.1
			//double arr2[1]: 0.2
			//double arr2[2]: 0.3
		}
		System.out.println();
		String[] arr3 = new String[3];
		for(int i=0; i<arr3.length; i++) {
			System.out.println("String arr3[" + i + "]: " + arr3[i]);
			//String arr3[0]: null
			//String arr3[1]: null
			//String arr3[2]: null -> String 타입 배열의 초기값은 null
		}
		System.out.println();
		arr3[0] = "10월";
		arr3[1] = "11월";
		arr3[2] = "12월";
		for(int i=0; i<arr3.length; i++) {
			System.out.println("String arr3[" + i + "]: " + arr3[i]);
			//String arr3[0]: 10월
			//String arr3[1]: 11월
			//String arr3[2]: 12월
		}
	}
}
package sec06.exam03_array_length_YJ;

public class ArrayLengthExample {
	public static void main(String[] args) {
		int[] scores = { 83, 90, 87 };
		
		int sum = 0;
		for(int i=0; i<scores.length; i++) {
			sum += scores[i];
		}
		System.out.println("총합: " + sum); //총합: 260
		
		double avg = (double) sum / scores.length;
		System.out.println("평균: " + avg); //평균: 86.66666666666667
	}
}
package sec06.exam04_main_argument_YJ;

public class MainStringArrayArgument {
	public static void main(String[] args) {
		//System.out.println("Argument Count: " + args.length); //Argument Count: 0
		if(args.length != 2) { //배열 args의 길이가 2가 아닐경우
			System.out.println("프로그래밍 사용법");
			System.out.println("C:\\JavaProgramming\\source\\chap05\\bin");
			System.out.println("java sec06.exam04_main_argument_YJ.MainStringArrayArgument num1 num2");
			System.exit(0); //빠져나오는 method
		}
		String strNum1 = args[0]; //10
		String strNum2 = args[1]; //20
		
		int num1 = Integer.parseInt(strNum1); //★Integer.parseInt(x) -> String 타입의 x를 int 타입으로 변환시 사용★
		int num2 = Integer.parseInt(strNum2);
		int result = num1 + num2; //10+20=30
		
		System.out.println(num1 + "+" + num2 + "=" + result);
	}
}

명령 프롬프트를 활용하여 배열값 지정

프로그래밍 사용법
C:\JavaProgramming\source\chap05\bin
java sec06.exam04_main_argument_YJ.MainStringArrayArgument num1 num2

 

package sec06.exam04_main_argument_YJ;

public class MainStringArrayArgument {
	public static void main(String[] args) {
		//System.out.println("Argument Count: " + args.length); //Argument Count: 0
		if(args.length != 2) { //배열 args의 길이가 2가 아닐경우
			System.out.println("프로그래밍 사용법");
			System.out.println("C:\\JavaProgramming\\source\\chap05\\bin");
			System.out.println("java sec06.exam04_main_argument_YJ.MainStringArrayArgument num1 num2");
			System.exit(0); //빠져나오는 method
		}
		String strNum1 = args[0]; //10
		String strNum2 = args[1]; //20
		
		int num1 = Integer.parseInt(strNum1); //★Integer.parseInt(x) -> String 타입의 x를 int 타입으로 변환시 사용★
		int num2 = Integer.parseInt(strNum2);
		int result = num1 + num2; //10+20=30
		
		System.out.println(num1 + "+" + num2 + "=" + result);
	}
}

이클립스 내 Run Configurations -> Arguments

10+20=30
package sec06.exam05_array_in_array_YJ;

public class ArrayInArrayExample {
	public static void main(String[] args) {
		int[][] mathScores = new int[2][3]; 
		for(int i=0; i<mathScores.length; i++) { //mathScores.length = 2
			for(int k=0; k<mathScores[i].length; k++) {
				System.out.println("mathScores[" + i + "][" + k + "]= " + mathScores[i][k]);
			}
		}
		System.out.println();
		
		int[][] englishScores = new int[2][]; //배열의 길이 = 2
		englishScores[0] = new int[2]; //0번 행에(index=0) new int[2](길이가 2인(i=0,1) 배열)대입
		englishScores[1] = new int[3]; //1번 행에(index=1) new int[3](길이가 3인(i=0,1,2) 배열)대입
		for(int i=0; i<englishScores.length; i++) { //englishScores.length = 2
			for(int k=0; k<englishScores[i].length; k++) {
				System.out.println("englishScores[" + i + "][" + k + "]= " + englishScores[i][k]);
			}
		}
		System.out.println();
		
		int[][] javaScores = { {95, 80}, {92, 96, 80} };
								//0행                  1행
		for(int i=0; i<javaScores.length; i++) {
			for(int k=0; k<javaScores[i].length; k++) {
				System.out.println("javaScores[" + i + "][" + k + "]= " + javaScores[i][k]);
			}
		}
	}
}
mathScores[0][0]= 0
mathScores[0][1]= 0
mathScores[0][2]= 0
mathScores[1][0]= 0
mathScores[1][1]= 0
mathScores[1][2]= 0

englishScores[0][0]= 0
englishScores[0][1]= 0
englishScores[1][0]= 0
englishScores[1][1]= 0
englishScores[1][2]= 0

javaScores[0][0]= 95
javaScores[0][1]= 80
javaScores[1][0]= 92
javaScores[1][1]= 96
javaScores[1][2]= 80
package sec06.exam06_array_reference_object_YJ;

public class ArrayReferenceObjectExample {
	public static void main(String[] args) {
		String[] strArray = new String[3];
		strArray[0] = "java";
		strArray[1] = "java";
		strArray[2] = new String("java");
		
		System.out.println(strArray[0] == strArray[1]); //true
		System.out.println(strArray[0] == strArray[2]); //false
		System.out.println(strArray[0].equals(strArray[1])); //true //x.equals(y) : x와 y의 문자열 비교
		System.out.println(strArray[0].equals(strArray[2])); //true
	}
}
package sec06.exam07_array_copy_YJ;

public class ArrayCopyByForExample {
	public static void main(String[] args) {
		int[] oldIntArray = { 1, 2, 3 };
		int[] newIntArray = new int[5];
		
		for(int i=0; i<oldIntArray.length; i++) { //oldIntArray.length = 3
			newIntArray[i] = oldIntArray[i]; //newIntArray에 oldIntArray를 복사해넣기
		}
		for(int i=0; i<newIntArray.length; i++) { //newIntArray.length = 5
			
			if(i == newIntArray.length - 1) { //newIntArray.length - 1 => 마지막 인덱스
				System.out.print(newIntArray[i]); //마지막 인덱스엔 "," 붙이지 않는다
			} else {
				System.out.print(newIntArray[i] + ",");
			}
			//System.out.print(newIntArray[i] + ","); //1, 2, 3, 0, 0,
		}
	}
}
1,2,3,0,0
package sec06.exam07_array_copy_YJ;

public class ArrayCopyExample {
	public static void main(String[] args) {
		String[] oldStrArray = {"java", "array", "copy"}; //길이 3
		String[] newStrArray = new String[5]; //길이 5
		
		System.arraycopy(oldStrArray, 0, newStrArray, 0, oldStrArray.length);
		//배열 복사 method
		//System.arraycopy(원본 배열, 원본 배열에서 복사할 항목의 시작 인덱스, 새 배열, 새 배열에 붙여넣을 시작 인덱스, 복사할 개수)
				
		for(int i=0; i<newStrArray.length; i++) {
			System.out.print(newStrArray[i] + ", "); //java, array, copy, null, null, 
		}
	}
}
package sec06.exam07_array_copy_YJ;

public class AdvancedForExample {
	public static void main(String[] args) {
		int[] scores = { 95, 71, 84, 93, 87 };
		
		int sum = 0;
		
		for(int score : scores) { //for(타입 변수 : 배열) {}
			sum = sum + score;
		}
		System.out.println("점수 총합: " + sum); //점수 총합: 430
		
		double avg = (double) sum / scores.length;
		System.out.println("점수 평균: " + avg); //점수 평균: 86.0			
	}
}
package sec07.exam01_enum_YJ;

public enum Week {
	MONDAY, //0
	TUESDAY, //1
	WEDNEDAY, //2
	THURSDAY, //3
	FRIDAY, //4
	SATURDAY, //5
	SUNDAY //6
}
package sec07.exam01_enum_YJ;

import java.util.Calendar;

public class EnumWeekExample {
	public static void main(String[] args) {
		Week today = null; //열거타입 변수 선언
		
		Calendar cal = Calendar.getInstance(); //Calendar method
		int week = cal.get(Calendar.DAY_OF_WEEK); //.get(Calendat.DAY_OF_WEEK) : 일(1)~토(7)까지의 숫자를 리턴
		
		switch(week) {
			case 1:
				today = Week.SUNDAY; break; //열거 상수 대입
			case 2:
				today = Week.MONDAY; break;
			case 3:
				today = Week.TUESDAY; break;
			case 4:
				today = Week.WEDNEDAY; break;
			case 5:
				today = Week.THURSDAY; break;
			case 6:
				today = Week.FRIDAY; break;
			case 7:
				today= Week.SATURDAY; break;
		}
		System.out.println("오늘 요일: " + today);
		
		if(today == Week.SUNDAY) {
			System.out.println("일요일에는 운동을 합니다.");
		} else {
			System.out.println("열심히 자바 공부합니다.");
		}
	}
}
오늘 요일: TUESDAY
열심히 자바 공부합니다.
package sec07.exam01_enum_YJ;

public class EnumMethodExample {
	public static void main(String[] args) {
		//name() 메소드 : 열거 객체(열거 상수)의 문자열을 리턴
		Week today = Week.SUNDAY; //today == Week.SUNDAY -> true
		String name = today.name();
		//System.out.println(today.name()); //SUNDAY
		System.out.println(name);
		System.out.println();
		
		//ordinal() 메소드 : 열거 객체(열거 상수)의 순번을 리턴
		int ordinal = today.ordinal(); //SUNDAY 순번 = 6
		System.out.println(ordinal);
		System.out.println();
		
		//x.compareTo(y) 메소드 : x 순번 - y 순번
		Week day1 = Week.MONDAY; //Week 내 MONDAY 순번 = 0
		Week day2 = Week.WEDNEDAY; //Week 내 WEDNESDAY 순번 = 2
		int result1 = day1.compareTo(day2);
		int result2 = day2.compareTo(day1);
		System.out.println(result1); //MON(0)-WED(2) = -2
		System.out.println(result2); //WED(2)-MON(0) = 2
		System.out.println();
		
		//valueOf 메소드 : 매개값으로 주어지는 문자열과 동일한 문자열을 가지는 열거 객체를 리턴(문자열 -> 열거 객체로 변환)
		Week weekDay = Week.valueOf("SUNDAY"); //SUNDAY를 리턴
		if(weekDay == Week.SATURDAY || weekDay == Week.SUNDAY) {
			System.out.println("주말이군요"); //주말이군요
		} else {
			System.out.println("평일이군요");
		}
		System.out.println();
		
		//values() 메소드 : 모든 열거 객체들을 배열로 리턴
 		Week[] days = Week.values();
		for(Week day : days) {
			System.out.println(day);
		}
	}
}
SUNDAY

6

-2
2

주말이군요

MONDAY
TUESDAY
WEDNEDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY

+ Recent posts