FIF's 코딩팩토리

자바 기초 NCS교육과정(10)-배열 본문

Back-End/국비 NCS교과과정

자바 기초 NCS교육과정(10)-배열

FIF 2019. 7. 9. 08:56
반응형

이번 시간에는 배열에 관하여 공부해보겠습니다.

 

Java041_array.java

public class Java041_array {

	public static void main(String[] args) {
		int ko = 90;
		int en = 80;
		int jp = 40;
		
		
		//배열선언-메모리 생성안됨
		int[] jumsu;
		//배열생성-메모리 생성됨
		jumsu=new int[3];
		
		System.out.printf("ko=%d, en=%d, jp=%d\n",ko,en,jp);
		System.out.printf("[0]=%d, [1]=%d,[2]=%d\n",jumsu[0], jumsu[1],jumsu[2]);
		jumsu[0]=90;
		jumsu[1]=88;
		jumsu[2]=40;
		System.out.println(jumsu[0]);
		System.out.println(jumsu[1]);
		System.out.println(jumsu[2]);
		System.out.println("=========================");
		
		//length키워드 : 배열의 크기를 리턴한다.
		for(int index=0;index<jumsu.length;index++) {
			System.out.println(jumsu[index]);
		}
	}

}

Java042_array.java

public class Java042_array {

	public static void main(String[] args) {
		//배열선언-메모리 생성안됨
		/*int[] jumsu=new int[3];//배열선언 및 생성
		//배열생성-메모리 생성됨
		jumsu[0]=90;
		jumsu[1]=88;
		jumsu[2]=40;
		*/
		
		//배열생성할때 초기값을 할당하면 배열의 크기를 명시할수 없다.
		int[] jumsu=new int[] {90,80,40,684,5,5,5,4,6,4};
		for(int i=0;i<jumsu.length;i++) {
			System.out.println(jumsu[i]);
		}

	}

}

Java043_array.java


  num배열에 저장된 요소의 합계를 구하는 프로그램을 구현하시오
  
  [출력결과]
  합계:45
public class Java043_array {

	public static void main(String[] args) {
		int[] num = new int[] { 22, 3, 8, 12 };
		int sum = 0;
		for (int i = 0; i < num.length; i++) {
			sum += num[i];
		}
		System.out.printf("합계:%d",sum);

	}

}

Java044_array.java

[출력결과]
  짝수:42
  홀수:3 
public class Java044_array {

	public static void main(String[] args) {
		int[] num= new int[] {22,3,8,12};
		int even = 0; //짝수
		int odd = 0;//홀수
		
		for(int i=0; i<num.length;i++) {
			if(num[i]%2==0) {
				even += num[i];
			}else {
				odd += num[i];
			}
		}
		System.out.println("짝수:"+even);
		System.out.println("홀수:"+odd);
	}

}

Java045_array.java

public class Java045_array {

	public static void main(String[] args) {
		int[] data1 = new int[3];// 0기본값
		long[] data2 = new long[3]; // 0L
		float[] data3 = new float[3];// 0.0f
		double[] data4 = new double[3]; // 0.0
		char[] data5 = new char[3]; // \u0000
		boolean[] data6 = new boolean[3];// false
		String[] data7 = new String[3];// null

		for (int i = 0; i < data7.length; i++) {
			System.out.println(data7[i]);
		}
		System.out.println("========================");
		char a =' ';//String data="";
		char b='\u0020';
		char c='\u0000';
		
		System.out.println(a==b);
		System.out.println(a==c);
	}

}

Java046_array.java


  data배열에서 대문자의 갯구를 출력하는 프로그램을 구현하세요.
  출력결과
  대문자갯수 
public class Java046_array {

	public static void main(String[] args) {
		char[] data = new char[] { 'a', 'b', 'F', 'R', 'a' };
		int cnt = 0;// 대문자 객수를 저장하기 위한 변수
		for (int i = 0; i < data.length; i++) {
			if (data[i] >= 'A' && data[i] <= 'Z') {
				cnt++;
			}
		}
		System.out.println("대문자 갯수:"+cnt);

	}

}

Java047_array.java

public class Java047_array {

	public static void main(String[] args) {
		// 3행 2열의 배열
		int[][] num = new int[3][2];
		num[0][0] = 1;
		num[0][1] = 2;
		num[1][0] = 3;
		num[1][1] = 4;
		num[2][0] = 5;
		num[2][1] = 6;

		System.out.printf("%4d", num[0][0]);
		System.out.printf("%4d\n", num[0][1]);
		System.out.printf("%4d", num[1][0]);
		System.out.printf("%4d\n", num[1][1]);
		System.out.printf("%4d", num[2][0]);
		System.out.printf("%4d\n", num[2][1]);
		System.out.println();

		for (int row = 0; row < 3; row++) {
			System.out.printf("%4d", num[row][0]);
			System.out.printf("%4d\n", num[row][1]);
		}
		System.out.println();

		// num.length : 행의갯수
		// num[row].length : 열의갯수
		for (int row = 0; row < num.length; row++) {
			for (int col = 0; col < num[row].length; col++) {
				System.out.printf("%4d", num[row][col]);
			}
			System.out.println();
		}
		System.out.println("////////////////////////////////////");
		// 1 3 5
		// 2 4 6
		for (int col = 0; col < 2; col++) {
			for (int row = 0; row < num.length; row++) {
				System.out.printf("%4d", num[row][col]);
			}
			System.out.println();
		}

	}

}

Java048_array.java

public class Java048_array {

	public static void main(String[] args) {
		// 3행 2열
		int[][] num = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
		for (int row = 0; row < num.length; row++) {
			for (int col = 0; col < num[row].length; col++) {
				System.out.printf("%4d", num[row][col]);
			}
			System.out.println();
		}
	}
}

Java049_array.java

  [데이타]
  홍길동 90 85 40
  갑동이 100 35 75
  
  [출력결과]
  홍길동 90 85 40 215 71.7
  갑동이 100 35 75 210 70.0
 
public class Java049_array {

	public static void main(String[] args) {
		String[] name = new String[] { "홍길동", "갑동이" };
		int[][] jumsu = new int[][] { { 90, 85, 40 }, { 100, 35, 75 } };

		int total = 0;
		for (int i = 0; i < jumsu.length; i++) {
			total=0;
			System.out.printf("%8s",name[i]);
			for (int j = 0; j < jumsu[i].length; j++) {
				System.out.printf("%4d",jumsu[i][j]);
				total = total + jumsu[i][j];
			}
			System.out.printf("%4d %.1f\n",total,total/3.0);
		}
////////////////////////////////////////////////////////////////////////////////////////
		int sum = 0;
		for (int row = 0; row < jumsu.length; row++) {
			System.out.printf(name[row]);
			for (int col = 0; col < jumsu[row].length; col++) {
				System.out.printf("%4d", jumsu[row][col]);
				sum += jumsu[row][col];

			}
			System.out.printf("%4d %.1f\n", sum, sum / 3.0);
			sum = 0;
		}

	}

}

Java050_array.java

  1  2  3  4  5
  6  7  8  9  10
  11 12 13 14 15
  16 17 18 19 20
  
  num배열에서 아래와 같이 출력이 되도록 프로그램을 구현하시오.
  1  2  *  4  5
  *  7  8  *  10
  11 * 13 14 *
  16 17 * 19 20
public class Java050_array {

	public static void main(String[] args) {
		int[][] num = new int[4][5];
		int cnt = 1;
		for (int row = 0; row < num.length; row++) {
			for (int col = 0; col < num[row].length; col++) {
				num[row][col] = cnt++;

			}
		}
		/////////////////////
		for (int row = 0; row < num.length; row++) {
			for (int col = 0; col < num[row].length; col++) {
				if (num[row][col] % 3 == 0) {
					System.out.printf("%4c", '*');
				} else {
					System.out.printf("%4d", num[row][col]);
				}

			}
			System.out.println();
		}

	}
}

Java051_array.java

public class Java051_array {

	public static void main(String[] args) {
		// 가변배열을 생성할때는 제일 마지막의 배열크기는 지정하지 않는다.
		// 메모리 손실을 최소화 하도록 가변배열을 제공한다.
		int[][] num = new int[3][];//
		num[0] = new int[2]; // 0행2열
		num[1] = new int[3]; // 1행 3열
		num[2] = new int[4]; // 2행 4열

		int[][] data = new int[][] { {1,2}, {3,4,5}, {6,7,8,9} };
		for(int row=0; row<data.length;row++) {
			for(int col=0; col<data[row].length;col++) {
				System.out.printf("%4d",data[row][col]);
			}
			System.out.println();
		}

	}

}
반응형
Comments