목록Study/Java (14)
기록중
//인터페이스 또한 다형성이 가능하다. Fightable f = (Fightable)new Fighter(); Fightable f = new Fighter(); //매개변수로 인터페이스 선언 가능 : 해당 인터페이스를 구현한 클래스의 인스턴스를 제공!! void attack(Fightable f) { //... } attack(new Fighter()); //매개변수의 리턴타입으로 인터페이스 선언 가능 : 해당 인터페이스를 구현한 클래스의 인스턴스를 반환!! Fightable method() { // ... return new Fighter(); }
class Exercise13_2 { public static void main(String[] args) { Thread2 t1 = new Thread2(); t1.run(); for(int i=0; i < 10; i++) System.out.print(i); } } class Thread2 extends Thread { public void run() { for(int i=0; i < 10; i++) System.out.print(i); } } run() : b. 01234567890123456789처럼 0부터 9까지의 숫자가 순서대로 출력된다. start() : a. 01021233454567689789처럼 0부터 9까지의 숫자가 섞여서 출력된다.
소수점 첫 번째 자리에서 반올림 (int)(getSum()/3f*10+0.5f) /10f 해당 문자열 몇 개 존재하는지 검색 while( (pos = str.indexOf(target, pos)) != -1){ count++; pos += target.length(); }
interface Movable { void move(int x, int y); } void attack(Movable f) { /* */ 내용 생략 } 이 메서드의 매개변수로 가능한 : null, Movable인터페이스를 구현한 클래스 또는 그 자손의 인스턴스
조상 클래스의 메서드를 자손 클래스에서 오버라이딩할 때 1. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다 2. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다 void add(int a, int b) throws InvalidNumberException, NotANumberException {} class NumberException extends Exception {} class InvalidNumberException extends NumberException {} class NotANumberException extends NumberException {} a. void add(int a, int b) throws InvalidNumberException, NotANum..
복합 할당 연산자는 왼쪽 변수의 타입으로 자동형변환한다. short x = 0; int i = 123456; x += i; // 자동형변환 x = x + i; // Compile Error. System.out.println(x); 결과: -7616 x += i 은 x = x+i 과 같지만, 왼쪽의 x변수의 타입인 short로 자동형변환 하기 때문에 '언더플로우' 자료 손실이 발생한다.
char x = 'X'; int i = 0; System,out.println( true? x : 0 ); System,out.println( false? i : x); 결과: X 88 1. 왼쪽 변수와 오른쪽 변수의 타입이 같다면, 해당 타입으로 결과를 나타낸다. 2. 피연산자 중 하나가 byte, short, char 타입인 경우, 다른 하나가 변환 가능한 int 상수라면 byte, short, char 타입으로 결과를 나타낸다. 3. 만약 위 두 경우도 아니라면, 이항 숫자 확산을 적용한다. 둘 중 큰 타입으로 결과를 나타낸다.
System.out.println(Integer.toBinaryString(1)); System.out.println(Integer.toBinaryString((byte)1)); System.out.println(Integer.toBinaryString(200)); System.out.println(Integer.toBinaryString((byte)200)); System.out.println((int)(char)(byte)-1); char c= 65535; System.out.println(c); System.out.println(Integer.toBinaryString(c)); System.out.println( (long)(int)(byte)-1 ); 11001000 1111111111111111..
'Eclipse’을(를) 열려면 레거시 Java SE 6 런타임을 설치해야 합니다. Mac: OS X EL Capitan 10.11.3 최신을 그냥 설치!http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html