JAVA

이것이 자바다 11장 확인 문제 풀이 (기본 API 클래스)

Adev 2022. 9. 8. 20:41

1. Object 클래스 - 자바의 최상위 부모 클래스에 해당한다.
답 : 4
Object의 toString() 메소드는 객체를 문자열로 표현한 값을 리턴한다.



2. 
답: hashCode(), equals()

 


3. 

package verify.exam03;

public class Student2 {
	private String studentNum;
	
	public Student2(String studentNum) {
		this.studentNum = studentNum;
	}

	public String getStudentNum() {
		return studentNum;
	}
	
@Override
public boolean equals(Object obj) {
	if(obj instanceof Student) {
		Student student = (Student) obj;
		if(studentNum.equals(student.getStudentNum())) {
			return true;
		}
	}
	return false;
}

@Override
public int hashCode() {
	return studentNum.hashCode();

 

 

4.

package verify.exam04;

public class Member2 {
	private String id;
	private String name;
	
	public Member2(String id, String name) {
		this.id = id;
		this.name = name;
	}
	
	@Override
	public String toString() {
		return id+":"+name;
	}
}

 

 

5. Class 객체 - Class는 생성자를 감추고 있기 때문에 new 연산자로 객체를 만들 수 없고, Object 클래스가 가지고 있는 getClass() 메소드나 정적 메소드인 forName()을 이용해야 한다. 
답 : 4
newInstance()의 리턴 타입은 Object이므로 원래 클래스 타입으로 변화해야 메소드를 사용할 수 있다.

 

 

6. 바이트 배열을 문자열로 변화시키기

package verify.exam06;

public class BytesToStringExample2 {
	public static void main(String[] args) {
		byte[] bytes = { 73, 32, 108, 111, 118, 101, 32, 121, 111, 117 };
		String str = new String(bytes);
		System.out.println(str);
			}
}

 

 

7. 문자열 찾기, 문자열 대치

package verify.exam07;

public class FindAndReplaceExample2 {
	public static void main(String[] args) {
		String str = "모든 프로그램은 자바 언어로 개발될 수 있다.";
		int index = str.indexOf("자바");
		if(index == -1) {
			System.out.println("자바 문자열이 포함되어 있지 않습니다.");
		} else {
			System.out.println("자바 문자열이 포함되어 있습니다.");
			str = str.replace("자바", "JAVA");
			System.out.println("-->" + str);
		}
	}
}

 

 

8. String의 split() 메소드 또는 StringTokenizer를 이용해서 문자열 분리하기

package verify.exam08;

import java.util.StringTokenizer;

public class SplitExample2 {
	public static void main(String[] args) {
		String str = "아이디,이름,패스워드";
		
		//방법1(splict() 메소드 이용)
		String[] names = str.split(",");
		for(String name : names) {
		System.out.println(name);
	    }
		System.out.println();
		
		//방법2(StringTokenizer 이용 -for문)
		StringTokenizer st = new StringTokenizer(str, ",");	
	    int countTokens = st.countTokens();
	    for(int i=0; i<countTokens; i++) {
	    	String token = st.nextToken();
	    	System.out.println(token);
	    }
	    
	    System.out.println();
	    
	    //방법2(StringTokenizer 이용 -while문)
	    st = new StringTokenizer(str, ",");
	    while(st.hasMoreTokens()) {
	    	String token = st.nextToken();
	    	System.out.println(token);
	    }
	}
}

 

 

9. StringBuilder - java.lang 패키지의 StringBuffer 또는 StringBuilder 클래스를 사용하여 문자열을 변경한다.

package verify.exam09;

public class StringBuilderExample2 {
	public static void main(String[] args) {
		String str = "";
		for(int i=1; i<=100; i++) {
			str += i;
		}
		System.out.println(str);
		
		StringBuilder sb = new StringBuilder();
		for(int i=1; i<=100; i++) {
			sb.append(i);
		}
		String result = sb.toString(); 
		System.out.println(result);
		}
}

 

 

10. 정규표현식 - 문자 또는 숫자 기호와 반복 기호가 결합된 문자열이다.

package verify.exam10;

import java.util.regex.Pattern;

public class PatternMatcherExample2 {
	public static void main(String[] args) {
		String id = "5Angel1004";
		String regExp = "[a-zA-Z]{1}[a-zA-Z_0-9]{7,11}";
		boolean isMatch = Pattern.matches(regExp, id);
		if(isMatch) {
			System.out.println("ID로 사용할 수 있습니다.");
		} else {
			System.out.println("ID로 사용할 수 없습니다.");
		}
	}
}

 

 

11. Wrapper 클래스 Boxing - 기본 타입의 값을 포장 객체로 만드는 과정이다.
포장 객체의 내부 값을 ==연산자로 비교할 시 [-128~127] 범위가 정해져 있다. 100은 범위값이기 때문에 true이고 300은 초과값이기 때문에 false로 실행된다.
//내부 값만 비교하려면 언박싱한 값을 얻어 비교해야 한다. 그러나 int 타입 값의 범위가 [-128~127]인 경우 등 자바 언어 명세에 정해진 규칙이 있는 경우에는 ==와 != 연산자로 내부 값을 바로 비교할 수 있다. 

 

 

12. 문자열에서 정수로, 숫자에서 문자열로 변환하기

package verify.exam12;

public class StringConvertExample2 {
	public static void main(String[] args) {
		String strData1 = "200";
		int intData1 = Integer.parseInt(strData1);
				
		int intData2 = 150;
		String strData2 = String.valueOf(intData2);
	}
}

 

 

13. SimpleDateFormat 클래스 - 날짜를 원하는 형식, 특정 문자열로 표현한다.

package verify.exam13;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DatePrintExample2 {
	public static void main(String[] args) {
		Date now = new Date();
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 E요일 HH시 mm분");
		System.out.println(sdf.format(now));
	
	}
}