목록프로그래밍/java (49)
쌓고 쌓다
Math 클래스 기본 연산 메소드를 제공한다. 모든 메소드는 static으로 선언되어 있어 클래스 이름으로 호출한다. 각 메소드마다 오버로딩이 되어있어 인자 종류별로 실행하는 함수가 다름 Math 주요 메소드 사용 예제 public class Hongong { public static void main(String args[]){ double a = Math.PI; System.out.println(Math.PI); System.out.println(Math.ceil(a)); // (ceil : 올림) System.out.println(Math.floor(a)); // floor : 내림 System.out.println(Math.sqrt(9)); // sqrt : 제곱근 System.out.printl..
StringTokenizer 구분 문자를 기준으로 문자열을 분리 구분 문자 : 문자열을 구분할 때 사용되는 문자 토큰(token) : 구분 문자로 분리된 문자열 문자열 str을 "="로 구분해 분리해보자. String str = "Hello=world!=very=Good"; StringTokenizer st = new StringTokenizer(str,"=") 토큰 개수와 다음 토큰 구하기. int count = st.countTokens(); String token = st.nextToken(); // "hello"가 먼저 들어감 분리된 문자열 출력 import java.util.StringTokenizer; public class Hongong { public static void main(Stri..
StringBuffer 가변 스트링을 다루는 클래스이다. String 클래스와 달리 문자열 변경이 가능하다. ( String 객체의 변경은 실제로 변경되는 것이 아닌 새로 String객체를 만들어 반환함 ) -> garbage가 많이 발생 가변 크기의 버퍼를 가지고 있어 문자열 수정 가능 문자열의 수정이 많을때 적합 StringBuffer 예제 코드 public class Hongong { public static void main(String args[]){ StringBuffer sb = new StringBuffer("This"); sb.append(" is pencil."); // 문자열 뒤에 " is pencil." 추가 System.out.println(sb); // sb.toString()으..
String -> java.lang.String String 생성자 String() 빈 스트링 객체 생성 String(char[] c) char 배열에 있는 문자들을 스트링 객체로 생성 String(String str) 매개변수로 주어진 문자열과 동일한 스트링 객체 생성 String(StringBuffer buffer) 매개변수로 주어진 스트링 버퍼의 문자열로 객체 생성 생성자 예제 코드 public class Hongong { public static void main(String args[]){ char[] c = {'a', 'b', 'c', 'd'}; String str1="abcd"; String str2=new String(c); String str3=new String("abcd"); Syst..
Wrapper 클래스 : 자바 기본 타입을 클래스화 한 것 -> 유용한 메소드가 제공됨 -> JDK의 많은 클래스는 대부분 객체만 다룬다 -> 그래서 클래스화 기본 타입 byte short int long char float double boolean Wrapper 클래스 Byte Short Integer Long Character Float Double Boolean -> ex) java.lang.Integer, java.lang.Character Wrapper 객체 생성 ( 기본 타입으로 ) public class Hongong { public static void main(String args[]){ Integer i = Integer.valueOf(10); Character c = Characte..
모든 자바 클래스는 Object 클래스를 상속받는다. 즉, 모든 클래스의 슈퍼 클래스이며 모든 객체는 Object 클래스의 메소드를 가진다. 그중 몇 가지 메소드에 대해서만 정리한다. 메소드 설명 boolean equals(Object obj) obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true Class getClass() 현 객체의 런타임 클래스를 리턴 int hashCode() 현 객체에 대한 해시 코드 값 리턴 String toString() 현 객체에 대한 문자열 표현을 리턴 hashCode() 객체의 해시코드 값(객체의 주소, 고유값)을 리턴 "이 객체의 고유값은?"을 의미하는 hashCode()로 오버라이딩 가능 ( 상속 객체가 오버로딩도 가능 ) 실행 코드 public class..
1번 문제 import java.util.Scanner; class TV{ private int size; public TV(int size) { this.size = size; } protected int getSize() { return size; } } class ColorTV extends TV { int color; public ColorTV(int size, int color) { super(size); this.color=color; } public void printProperty() { System.out.println(getSize()+"인치 "+color+"컬러"); } } public class Extest{ public static void main(String[] args) { ..
추상 클래스 : GameObject public abstract class GameObject{ protected int distance; // 한번 이동 거리 protected int x, y; // 현재 위치 public GameObject(int startX, int startY, int distance) { this.x=startX; this.y=startY; this.distance=distance; } public int getX() { return x; } public int getY() { return y; } public boolean collide(GameObject p) { //이 객체가 객체 p와 충돌했으면 true 리턴 if(this.x==p.getX()&&this.y==p.get..