Developer TABLE

    Arrays 클래스로 배열 다루기

    1. 문자열 비교 Arrays.equals() 1차원 배열 비교에 사용 Arrays.deepEquals() 다차원 배열 비교에 사용 String[][] sArr2D = new String[][] { {"ABC", "DEF"}, {"GHI", "GHI"} }; String[][] sArr2D2 = new String[][] { {"ABC", "DEF"}, {"GHI", "GHI"} }; System.out.println("equals: " + Arrays.equals(sArr2D, sArr2D2)); System.out.println("deepEquals: " + Arrays.deepEquals(sArr2D, sArr2D2)); 출력물 equals: false deepEquals: true 2. 문자열 출..

    2차원 배열 랜덤 값 중복 제거

    2차월 배열 랜덤 값 중복 제거 1~10 사이의 랜덤 값을 3행 3열 2차원 배열에 대입한다. 단, 랜덤 값에 중복을 제거해서 2차원 배열에 대입할 것 public void method3() { int[][] szArr = new int[3][3]; int[] nNum = new int[9]; int nIndex = 0; // 1차원 배열에 랜덤 값 대입 후 중복 확인 for(int i = 0; i < nNum.length; i++) { nNum[i] = (int)(Math.random()*10)+1;// 랜덤 값 대입 for(int j = 0; j < i; j++) { if(nNum[i] == nNum[j]) {// 인덱스의 값이 같을 경우 i--;// i를 감소시켜 다시 랜덤 값 대입 break; }..

    가변 배열

    가변 배열의 선언과 할당 2차원 배열 선언 시 열 크기를 지정하지 않고, 각각 따로 할당하여 생성 선언과 동시에 초기화 public void method2() { int[][] szArr2 = { {1, 2}, {3}, {4, 5, 6}, {7, 8, 9, 10} }; for(int i = 0; i < szArr2.length; i++) { for(int j =0; j < szArr2[i].length; j++) { System.out.printf("%d ", szArr2[i][j]); } System.out.println(); } } 출력물 1 2 3 4 5 6 7 8 9 10 가변 배열 길이 확인 public void method2() { int[][] szArr1 = new int[3][]; szA..

    2차원 배열

    2차원 배열 행과 열로 이루어진 테이블 형태로 데이터를 저장하기 위한 배열 2차원 배열 선언과 초기화 1번을 가장 많이 사용 // 1번 int[][] nNum = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 1-1번 int[][] nNum1 = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 2번 int[][] nNum2 = new int[][] { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; 2차원 배열 반복문을 이용한 초기화 public void method1() { int[][] szArr1 = new int[3][5]; int nNum = 1; for(int i = 0; i < szArr1.length; i++) { for(int..

    배열의 복사

    배열 복사의 종류 얕은 복사 깊은 복사 얕은복사 배열의 주소만을 복사 원본의 참조변수를 다른 배열의 참조변수에 저장 원본과 복사본 모두 같은 참조 주소를 가짐 원본이 변경되거나 복사본이 변경될 경우 참조되는 모든 참조변수의 값 변경 얕은 복사 종류 원본의 참조변수를 다른 배열의 참조변수에 저장 원본과 복사본 모두 같은 참조 주소를 가짐 원본이 변경되거나 복사본이 변경될 경우 참조되는 모든 참조변수의 값 변경 깊은 복사 동일한 새로운 배열을 하나 생성해서 실제 내부 값들을 복사 깊은복사 종류 반복문을 이용한 복사 System 클래스에서 제공하는 arraycopy() 메소드를 이용한 복사 Arrays 클래스에서 제공하는 메서드를 이용한 복사 copyOf() copyOfRange() clone() 메소드를 이..

    String 클래스

    String 클래스 char[]과 메서드(기능)를 결합한 것 String 클래스 = char[] + 메소드(기능) 내용을 변경할 수 없고 읽기만 가능(Read Only) String 클래스 메서드 메서드 설명 char charAt(int index) 문자열에서 해당 인덱스에 있는 문자반환 int length() 문자열의 길이 반환 String substring(int from, int to) 문자열에서 해당범위의 문자열 반환, to는 포함되지 않음 booleam equals(Object obj) 문자열의 내용이 같은지 비교, 같으면 true 다르면 false char[] toCharArray() 문자열을 문자배열로 변환하여 반환 String 클래스 메서드 예제 char charAt(index) publi..

    커맨드 라인을 통해 입력받기

    커맨드 라인을 통해 입력받기

    커맨드 라인 입력 커맨드 라인에 입력한 값이 문자열 배열에 담겨 전달 입력값을 참조변수 String[] args에 전달 public static void main(String[] args) { System.out.println("args Length: " + args.length); for(int i = 0; i < args.length; i++) { System.out.printf("args[%d]: %s\n", i, args[i]); } } 출력물 args Length: 3 args[0]: 123 args[1]: abc args[2]: Hello World

    배열(Array)

    배열 같은 타입의 여러 변수를 하나로 묶어 사용 e.g.) int nNum1, nNum2, nNum3; ➡ int[] nNum; 배열의 선언과 생성 e.g.) int[] nNum = new int[3]; 배열의 선언은 배열을 다루기 위한 참조변수(nNum) 선언 배열의 생성(new)과 함께 배열의 저장공간 생성(int[3]) 배열은 인덱스가 생성되며 번호는 0번부터 시작(nNum[0], nNum[1], nNum[2]) 참조변수는 인덱스의 0번 주소를 참조(nNum ➡ int nNum[0] , int nNum[1], int nNum[2]) 배열의 저장구조 참조변수는 Stack영역에 생성되며 Heap영역에 있는 인덱스의 0번 주소를 참조 참조변수의 크기는 주소를 담는 공간으로 OS비트 x32(4byte), ..

    분기문(break, continue)

    break switch 조건식과 반복문에서 사용 중첩 반복문에서는 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문 continue 반복문 내에서만 사용 가능 특정 조건을 건너뛸 때 주로 사용 자신이 포함된 반복문의 끝으로 이동하여 다음 반복으로 넘어감 for문의 경우 증감식으로 이동, while(do~while) 문은 조건식으로 이동 break문 예제1 사용자에게 문자열을 입력받고 문자열 길이 출력 exit 입력 시 프로그램 종료 public void method1() { String sInput = ""; Scanner s = new Scanner(System.in); while(true) { System.out.printf("Insert String: "); sInput = s.nextLine()..

    난수 생성 Math.random

    Math.random() 0.0 ~ 1.0 사이의 임의 double값 반환 유효범위는 0.0 ~ 0.99999... 로또 번호 생성, 음수 범위 난수 생성 public void method3() { int nNum = 0; for (int i = 1; i

    반복문 do ~ while

    do ~ while 문 스코프 { }를 최소한 한 번 이상 반복 사용자 입력을 받는 경우 주로 사용 do { // 처음 한 번은 무조건 실행 // 조건식이 만족할 시 반복 수행 } while (조건식); 1 ~ 임의의 수(1~10)까지 의 합계 public void method2() { int nRandom = ((int)(Math.random()*10)+1); int nSum = 0; int i = 0; do { i++; nSum += i; System.out.println("nRandom: " + nRandom); System.out.printf("i: %d, nSum: %d\n", i, nSum); } while(i < nRandom); System.out.println("Total: " + nSu..

    반복문 while

    while 문 조건을 만족시키는 동안 스코프 { }를 반복 수행 반복 횟수를 모를 때 주로 사용 while (조건식) { // 조건에 만족할 시 반복 수행 } exit 입력 시 프로그램 종료 public void method2() { String sInput = ""; Scanner s = new Scanner(System.in); while(sInput.equalsIgnoreCase("exit")) { System.out.printf("Insert String: "); sInput = s.nextLine(); System.out.println(sInput); } System.out.println("Bye~!"); } 출력물 Insert String: asdf asdf Insert String: EXIT..