본문 바로가기

자바

(28)
PHP 에서 str_pad와 같은 일을 자바에서 할려면... str_pad는 문자열을 지정한 만큼의 길이가 안되면 지정한 문자로 채우는 것입니다. $number = 123; $str = str_pad($number,5,"0",STR_PAD_LEFT) // "00123" 자바에서는 다음과 같이 하면된다. int number = 123; String str = String.format("%05d",number); // "00123"
숫자를 문자열로 변환 메소드를 이용한 방법 int abc = 11; String str = Integer.toString(abc); 다른 방법 int abc = 11; String str = abc+"";
UpCasting & DownCasting 조금 헷갈리던 UpCasting 과 DownCasting 이 이제야 이해가 되고 있네요; 위와 같이 Class가 있다고 하면.. Animal ani_1 = new Dog(); Animal ani_2 = new Cat(); Animal ani_3 = new Bird(); ani_1.move(); ani_1.run(); // 오류 발생 ani_2.sleep(); // Cat 의 sleep() 실행 ani_2.run(); // 오류 발생 ani_3.move(); // Bird의 move() 실행 ani_3.sleep(); ani_3.fly(); // 오류 발생 UpCasting을 하게되면 Animal class의 Memory 크기에 Dog, Cat, Bird의 Memory를 넣게 된다 그래서 UpCasting..
배열 참조와 2차원 배열의 선언 배열 참조 C에서 배열의 이름이 그 배열의 포인터를 가르키는 것과 같이 Java에는 배열의 이름이 참조값을 가진다. 그러므로 다음과 같이 사용하면 두개의 변수로 하나의 배열을 다룰수 있다. int[] num = {1,2,3,4,5}; int[] num_1 = num; int[] num_2 = num_1; 위의 세 변수 num, num_1, num_2는 모두 같은 참조값을 가지고 있기 때문에 하나의 배열이라고 볼수 있다. 만약 하나의 변수이름으로 값을 수정하게 되면 3개의 값이 다 바뀌는것 같을 것이다. num_2[0] = 9; for(i=0;i
배열 선언, 복사 자바에서의 배열 선언은 C와는 조금 다르다. C에서는 int num[10]; int num2[]={1,2,3}; 이런식으로 하였다면 자바는 int[] num = new int[10]; int[] num2 = new int[]{1,2,3}; int[] num3 = {1,2,3}; 이렇게 3가지 방법이 있다. 2,3 번째는 초기화를 같이 해주는 것이다. 자바와 C의 배열의 다른점은 자바에서는 배열을 만들고 메모리를 할당해 줘야 한다는건데 int, float등 기본 데이터형은 자동으로 메모리가 할당되지만 객체인 경우는 그렇지 않다. 그래서 직접 할당을 해줘야 한다. 안그러면 NULL값이 있게 된다. Person[] yoon = new Peson[10]; 이렇게 한다고 배열에 메모리가 할당되지 않는다. 값을 출..
클래스 기초 클래스 = 구조체 + 함수 클래스를 간단하게 말하자면 저렇게도 말할수있지 않을까 한다. 클래스는 객체이고 객체지향이며 생성자, 소멸자를 포함하고 있으...... 물론 그렇지만 간단하게 얘기하자면 저렇다는 것이다. 클래스에는 구조체처럼 여러타입의 여러개의 변수를 클래스라는 범위안에 넣을수 있다. 그리고 그안에 있는 변수를 자유롭게 접근할수 있는 클래스안의 함수를 매소드(method)라고 한다. public class Dog{ public int age; public int getAge(){ return age; } } 위는 아주 간단한 클래스이다. Dog 라는 이름의 클래스이며 int형의 age라는 변수가 있으며 getAge() 라는 메소드가 포함되어있다. getAge는 단순히 age를 리턴하는 메소드이다..
데이터 타입 ※ 기본 데이터 타입 정수형 실수형 불형 1 byte byte boolean 2 byte short, char 4 byte int float 8 byte long double ※ 애매할수 있는 데이터를 표현하는 방법 10 : int 10L, 10l : long 3.14 : double 3.14F, 3.14f : float 3.14D, 3.14d : double 'A' : char "ABC" : String 0xA : 16진수 (앞에 0x 를 붙인다) 0123 : 8진수 (앞에 0을 붙인다)
병합정렬 (Merge Sort) 테스트 파일은 삽입정렬과 같지만 인스턴스생성해주는 부분만 바뀌었습니다. 두 조각으로 계속 나누다가 마지막에 하나가 남으면 다시 위로 병합하면서 정렬하는 병합정렬 이번에는 삽입정렬과는 다르게 생성자를 따로 만들지 않았다. 정렬할때 매개변수로 바로 입력값을 넣게 하였다. 실제로 사용자가 쓸수 있는 메소드는 단 하나 sort 메소드 테스트는 수업시간에 나온 예제 숫자입니다. 삽입정렬과 같은 숫자네;; 9 1 3 2 7 5 4 8