Java 11장. 패키지와 주요 클래스 public class SumTest {

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
12장 문자열 12.1 문자열의 개요 12.2 String 클래스 12.3 StringBuffer 클래스
자바 키워드 & 문자열 다루기 인터넷 프로그래밍 강의자료 3 (1, 3반) 한용재
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
제 9 장 구조체와 공용체.
표준 API(클래스라이브러리)의 기본 클래스 활용
3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.
7장 배열 ②.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
5장 배열 작성자 : 변재현.
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Chap09 패키지와 주요 클래스 9.1 패키지 개요와 패키지의 사용 9.2 java.lang 패키지의 개요
Lesson 6. 형변환.
제 11 장 java.lang 패키지 제 12 장 문자열 제 13 장 유틸리티 제 14 장 입출력 제 15 장 네트워킹
5장. 참조 타입.
Heesang kim PL/SQL 3 Heesang kim.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
3장 자바의 기본문법(2).
Java 6장. 클래스 : 속성 public class SumTest {
자바 5.0 프로그래밍.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
12장 문자열 12.1 문자열의 개요 12.2 String 클래스 12.3 StringBuffer 클래스.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
JA A V W. 03.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
인터넷응용프로그래밍 JavaScript(Intro).
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
자바 5.0 프로그래밍.
Power Java 제11장 상속.
Chapter 02. 자바 기본 문법.
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
CHAP 21. 전화, SMS, 주소록.
객체기반 SW설계 팀활동지 4.
[ 단원 04 ] 반복과 배열.
데이터 동적 할당 Collection class.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
7주차: Functions and Arrays
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Chapter 10 데이터 검색1.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
어서와 C언어는 처음이지 제21장.
7 생성자 함수.
6 객체.
3장 자바의 기본문법(2).
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

Java 11장. 패키지와 주요 클래스 public class SumTest { 11장. 패키지와 주요 클래스 Java public class SumTest { public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다 System.out.println("두수의 합은 " + sum + "입니다"); }

학습목표 패키지의 개념과 사용방법을 학습한다. 자바의 기본 패키지인 java.lang 패키지의 클래스를 학습한다. 주요 포장(Wrapper) 클래스를 학습한다. String 클래스와 StringBuffer 클래스의 메소드 사용방법을 학습한다. 유틸리티 패키지의 Random, Arrays 클래스 사용 방법을 학습한다.

목차 section 1 패키지 개요와 패키지의 사용 section 2 java.lang 패키지의 개요 section 3 Object 클래스 section 4 포장(Wrapper) 클래스 4-1 Integer 클래스 4-2 Character 클래스 4-3 Byte 클래스 4-4 Short 클래스 4-5 Long 클래스

목차 section 5 문자열의 개요 section 6 String 클래스 section 7 StringBuffer 클래스 6-1 문자열의 길이 6-2 문자열에서의 문자 추출 6-3 문자열 비교 6-4 문자열 탐색 6-5 문자열의 변환 section 7 StringBuffer 클래스 section 8 유틸리티 패키지 개요 section 9 Random 클래스 section 10 Arrays 클래스

1 패키지 개요와 패키지의 사용 패키지 비슷한 종류의 클래스나 인터페이스들을 하나의 집단으로 묶어 놓은 것

JDK에서 제공되는 주요 패키지 패키지 이름 설명 1 패키지 개요와 패키지의 사용 java.lang 프로그램에서 지정하지 않아도 묵시적으로 포함되는 패키지로서, 자바 프로그램의 기본적인 기능을 제공하는 패키지이다. 자바 프로그램의 최상위 클래스인java.lang.Object 클래스가 이 패키지에 포함되어 있다. java.util 자바 프로그래밍에 유용한 유틸리티 클래스를 포함하는 패키지이다. java.io 입출력 기능을 제공하는 패키지로서 스트림을 다양한 형태로 처리할 수 있는 기능을 제공한다. java.net 네트워킹과 관련된 기능을 제공하는 패키지로서 telnet, ftp, http와 같은 프로토콜을 사용할 수 있는 클래스를 제공한다. java.awt 그래피컬 사용자 인터페이스(GUI)를 구축하기 위한 다양한 컴포넌트를 제공하는 패키지로서 사용자는 이 패키지를 이용하여 원하는 인터페이스를 구축할 수 있다. java.awt.event AWT 컴포넌트들의 이벤트를 제어하는 패키지이다. java.applet 웹 검색기에서 수행되는 애플릿 프로그램을 작성하기 위해 필요한 클래스를 제공하는 패키지

패키지를 사용하는 가장 일반적인 방법 1 패키지 개요와 패키지의 사용 import문을 사용 import java.util.Date; ...... Date date = new Date(); java.util.Date 클래스만을 사용 import java.util.*; ....... Date date = new Date(); Random random = new Random(); Stack stack = new Stack(); Hashtable hashtable = new Hashtable(); ........... ............ java.util 패키지 java.util 패키지의 모든 클래스를 사용

java.lang 패키지 2 java.lang 패키지의 개요 “import” 문을 사용하여 포함시키지 않아도 자동적으로 포함되는 패키지

2 java.lang 패키지의 개요 java.lang 패키지의 클래스 345 page

java.lang.Object 클래스 3 Object 클래스 이 패키지의 최상위 클래스이면서 모든 자바 프로그램의 최상위 클래스

boolean equals (Object object) java.lang.Object 클래스의 주요 메소드 메소드 설명 Ojbect clone() 객체를 복제하기 위해 사용하는 메소드 boolean equals (Object object) 두 개의 객체가 같은지를 비교하여 같으면  true, 아니면  false를 반환 void finalize() 자바에서는 객체가 더 이상 사용되지 않으면 자동적으로 쓰레기 수집(garbage collection)기능을 수행한다. finalize() 메소드는 쓰레기 수집 기능이 수행되기 전에 호출되며 객체가 점유하고 있던 자원들을 해제하는데 사용되는 메소드 Class getClass() 객체의 클래스 명을 Class형의 객체로 반환 int hashCode() 호출한 객체와 연관된 hash 코드를 얻는다. String toString() 현재 객체의 문자열 표현을 반환한다. void notify() 대기 중인 스레드 중 하나의 스레드를 다시 시작시킨다. void notifyAll() 대기 중인 모든 스레드를 다시 시작시킨다. void wait() 스레드의 실행을 중지하고 대기 상태로 간다.

기본 자료형을 객체로 사용한다는 의미 포장(wrapper) 클래스 4 포장(Wrapper) 클래스 기본 자료형과 관련된 클래스를 제공한다는 의미 포장(wrapper) 클래스 기본 자료형 객체를 지원하기 위해, 각각의 자료형과 관련된 클래스들을 제공 class ValueandWrapper { public static void main(String args[]) { int num1 = 20; Integer num2 = new Integer(30) int total = num1 + num2.intValue(); System.out.println("두수의 합은 : " + total); } Integ Integer num2 = 30;의 형태로 사용 가능  Integer 클래스의 intValue() 메소드로 정수 값을 추출 

4-1 Integer 클래스 Integer 클래스 형식 4 포장(Wrapper) 클래스 정수 값을 포장하는 클래스 nteger(int n) nteger(String str) 형식

4-1 Integer 클래스 Integer 클래스의 주요 메소드 타입 설명 4 포장(Wrapper) 클래스 byte byteValue() 현 객체의 값을 byte 값으로 변환하여 반환 double doubleValue() 현 객체의 값을 double 값으로 변환하여 반환 float floatValue() 현 객체의 값을 float 값으로 변환하여 반환 int intValue() 현 객체의 값을 int 값으로 변환하여 반환 long longValue() 현 객체의 값을 long 값으로 변환하여 반환 short shortValue() 현 객체의 값을 short 값으로 변환하여 반환 String toString() 현 객체의 값을 문자열로 변환하여 반환 boolean equals(Object IntegerObj) 현 객체와 IntegerObj로 지정된 객체의 값이 같으면 true,  다르면 false를 반환 static  Integer decode(String  str)  throws NumberFormatException 문자열 str에 해당하는 Integer 객체를 반환 static  int  parseInt(String  str)  throws NumberFormatException 문자열 str에 해당하는 int 값을 반환

4-1 Integer 클래스 Integer 클래스의 주요 메소드 타입 설명 4 포장(Wrapper) 클래스 static int parseInt(String str, int  radix) throws NumberFormatException 문자열  str에 해당하는  int 값을  radix로 지정된 진법으로 반환 static String toBinaryString(int num) num으로 지정된 정수 값의 2진법 표현을 가지는 String 객체를 반환 static String toHexString(int num) num으로 지정된 정수 값의 16진법 표현을 가지는 String 객체를 반환 static String toOctalString(int num) num으로 지정된 정수 값의 8진법 표현을 가지는 String 객체를 반환 static  Integer  valueOf(String  str)  throws NumberFormatException 문자열 str에 해당하는 Integer 객체를 반환 static Integer valueOf(String str, int radix) throws NumberFormatException 문자열 str에 해당하는 Integer 객체를 radix로 지정된 진법으로 반환

4-1 Integer 클래스 실습예제 4 포장(Wrapper) 클래스 IntegerTest1.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 public class IntegerTest1 { public static void main(String args[]) { Integer num1 = new Integer(13); Integer num2 = 25; int hap = num1.intValue() + num2.intValue(); System.out.println("num1이 포장하고 있는 정수는 : " + num1.intValue()); System.out.println("num2가 포장하고 있는 정수는 : " + num2.intValue()); System.out.println("두수의 합 = " + hap); System.out.println("합의 2진 표현 : " + Integer.toBinaryString(hap)); System.out.println("합의 8진 표현 : " + Integer.toOctalString(hap)); System.out.println("합의 16진 표현 : " + Integer.toHexString(hap)); Integer 객체 생성 직접 값을 지정하여 객체 생성 두 객체가 가진 값을 더한다 클래스 메소드 호출

4-1 Integer 클래스 실습예제 4 포장(Wrapper) 클래스 IntegerTest1.java 17 18 19 20 21 22 System.out.println("if(num1 == num2) 는 : " + num1.equals(num2)); Integer num3 = new Integer("444"); System.out.println("문자열 '444'의 값은 : " + num3.intValue()); }

4-1 Integer 클래스 프로그램 설명 4 포장(Wrapper) 클래스 00 : new 연산자를 사용하지 않고, 직접 값을 지정하여 객체를 생성할 수 있다. 00 : 객체가 가진 값을 더하기 위해 intValue() 메소드를 이용하여 정수 값을 가져와 덧셈을수행하였다. 00~00 : 클래스 이름을 이용하여 클래스 메소드를 호출하였다. 정수 값을 2진수, 8진수, 16진수로 나타내었다. 00 : 문자열을 이용하여 Integer 객체를 생성하였다. Integer 클래스는 문자열로 Integer 객체를 생성하는 생성자를 제공하고 있다.

4 포장(Wrapper) 클래스 4-1 Integer 클래스

4-2 Character 클래스 Character 클래스 형식 4 포장(Wrapper) 클래스 char형의 값을 저장 Character(char c) 형식

4-2 Character 클래스 Character 클래스의 주요 메소드 메소드 설명 4 포장(Wrapper) 클래스 static boolean isDefined(char ch) ch가 Unicode이면 true 아니면 false를 반환 static boolean isDigit(char ch) ch가 숫자이면 true 아니면 false를 반환 static boolean isLetter(char ch) ch가 문자이면 true 아니면 false를 반환 static boolean isLetterOrDigit(char ch) ch가 문자 또는 숫자이면 true 아니면 false를 반환 static boolean isLowerCase(char ch) ch가 소문자이면 true 아니면 false를 반환 static boolean isSpace(char ch) ch가 공백문자이면 true 아니면 false를 반환 static boolean isUpperCase(char ch) ch가 대문자이면 true 아니면 false를 반환 static char toLowerCase(char ch) ch로 지정된 문자를 소문자로 변환하여 반환 static char toUpperCase(char ch) ch로 지정된 문자를 대문자로 변환하여 반환

4-2 Character 클래스 실습예제 4 포장(Wrapper) 클래스 CharacterTest1.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 class CharacterTest1 { public static void main(String args[]) { char a[] = {'a', ' ', '?', 'C', '5', 'A'}; for(int i=0; i<a.length; i++) { System.out.println("a[" + i + "] 번째 요소 = " + a[i]); if(Character.isDigit(a[i])) System.out.println(" 숫자입니다."); if(Character.isLetter(a[i])) System.out.println(" 문자입니다."); if(Character.isSpace(a[i])) System.out.println(" 공백문자입니다."); if(Character.isUpperCase(a[i])) System.out.println(" 대문자입니다."); if(Character.isLowerCase(a[i])) System.out.println(" 소문자입니다."); } 문자 배열을 선언 각 문자를 클래스 메소드로 검사 

4-2 Character 클래스 실습예제 프로그램 설명 4 포장(Wrapper) 클래스 03 : 문자 배열을 선언하였다. 03 : 문자 배열을 선언하였다. 04~16 : 문자 배열의 각 문자를 Character 클래스의 클래스 메소드를 이용하여 검사하여 결과를 출력하였다. 17 : 문자 배열의 첫 번째 문자가 유니코드인지 검사하는 isDefined() 메소드를 수행하였다. CharacterTest1.java 17 18 19 20 21 22 23 if(Character.isDefned(a[0])) { System.out.println("a[0] 번째 요소 = " + a[0]); System.out.println(" 유니코드입니다."); } 유니코드인지 검사

4 포장(Wrapper) 클래스 4-2 Character 클래스

4-3 Byte 클래스 Byte 클래스 형식 4 포장(Wrapper) 클래스 byte형의 값을 저장 MAX_VALUE와 MIN_VALUE 상수를 제공 Byte(byte b) Byte(String s) throws NumberFormatException 형식

4-3 Byte 클래스 Byte 클래스의 주요 메소드 메소드 설명 4 포장(Wrapper) 클래스 byte byteValue() 현 객체의 값을 byte 값으로 변환하여 반환 double doubleValue() 현 객체의 값을 double 값으로 변환하여 반환 float floatValue() 현 객체의 값을 float 값으로 변환하여 반환 int intValue() 현 객체의 값을 int 값으로 변환하여 반환 long longValue() 현 객체의 값을 long 값으로 변환하여 반환 short shortValue() 현 객체의 값을 short 값으로 변환하여 반환 String toString() 현 객체의 값을 문자열로 변환하여 반환 boolean equals(Object BytesObj) 현 객체가 가지고 있는 값과 BytesObj로 지정된 객체가가지고 있는 값이 같으면 true, 다르면 false를 반환 static Byte decode(String str) throws  NumberFormatException str로 지정된 문자열에 해당하는 Byte 객체를 반환 static byte parseByte(String str)  throws NumberFormatException str로 지정된 문자열에 해당하는 byte 값을 반환 static byte parseByte(String str, int radix)  throws NumberFormatException str로 지정된 문자열에 해당하는 byte 값을 radix로 지정된 진법으로 반환

4-3 Byte 클래스 실습예제 4 포장(Wrapper) 클래스 ByteTest.java 01 02 03 04 05 06 07 08 09 10 11 public class ByteTest { public static void main(String args[]) { Byte b1 = new Byte("126"); byte b2 = Byte.parseByte("1"); byte btotal1 = (byte)(b1.byteValue() + b2); System.out.println("byte 덧셈의 결과 1 : " + btotal1); Byte b3 = 1; byte btotal2 = (byte)(b3.byteValue() + btotal1); System.out.println("byte 덧셈의 결과 2 : " + btotal2); } "126" 문자열로 Byte 객체 생성 byte형 변수 초기화(클래스 메소드 이용)  정수(int) 연산 수행 후  (byte) 형변환 직접 숫자를 지정하여 Byte 객체 생성

4-3 Byte 클래스 프로그램 설명 4 포장(Wrapper) 클래스 03 : Byte 클래스의 객체를 문자열 값을 지정하여 생성하였다. 이때 지정되는 문자열은byte 값이 표현 가능한 범위의 문자열이어야 한다. “128”이나 “kim”과 같은 문자열로는 Byte 객체를 생성할 수 없다. 04 : Byte 클래스의 클래스 메소드를 이용하여 byte형의 변수를 초기화하였다. 이 경우에도 문자열은 byte 값이 표현할 수 있는 범위 내에 있어야 한다. 05 : 자바는 모든 연산을 int형으로 수행한다. 두 개의 피연산자가 모두 byte형이라 자바는 int형 덧셈을 수행하므로, 덧셈의 결과를 byte형의 변수에 저장하기 위해서는 반드시 (byte)로 형변환을 수행해야 한다. 07 : 직접 숫자를 지정하여 Byte 객체를 생성할 수 있다. 09 : 출력문에서 -128이 출력된 이유는 덧셈의 결과가 128이 되어 8번째 비트가 1이 되었기 때문이다. byte형으로 출력되면 8번째 비트가 1일 경우 음수로 취급되어 -128이 출력되게 된다.

4 포장(Wrapper) 클래스 4-3 Byte 클래스

4-4 Short 클래스 Short 클래스 형식 4 포장(Wrapper) 클래스 short형의 값을 저장 MAX_VALUE와 MIN_VALUE 상수를 제공 Short(short s) Short(String str) throws NumberFormatException 형식

4-4 Short 클래스 Short 클래스의 주요 메소드 메소드 설명 4 포장(Wrapper) 클래스 byte byteValue() 현 객체의 값을 byte 값으로 변환하여 반환 double doubleValue() 현 객체의 값을 double 값으로 변환하여 반환 short longValue() 현 객체의 값을 long 값으로 변환하여 반환 float floatValue() 현 객체의 값을 float 값으로 변환하여 반환 int intValue() 현 객체의 값을 int 값으로 변환하여 반환 short shortValue() 현 객체의 값을 short 값으로 변환하여 반환 String toString() 현 객체의 값을 문자열로 변환하여 반환 boolean equals(Object ShortObj) 현 객체가 가지고 있는 값과 ShortObj로 지정된 객체가  가지고 있는 값이 같으면 true, 다르면 false를 반환 static  Short  decode(String  str)  throws  NumberFormatException str로 지정된 문자열에 해당하는 Short 객체를 반환 static short parseShort(String str) throws  str로 지정된 문자열에 해당하는 short 값을 반환 static  short  parseShort(String  str,  int  radix) throws NumberFormatException str로 지정된 문자열에 해당하는 short 값을 radix로 지정 된 진법으로 반환

4-4 Short 클래스 실습예제 4 포장(Wrapper) 클래스 ShortTest.java 01 02 03 04 05 06 07 08 public class ShortTest { public static void main(String args[]) { Short s1 = new Short((short)30); short s2 = Short.parseShort("20"); short stotal = (short)(s1.intValue() + s2); System.out.println("short 덧셈의 결과 : " + stotal); } 숫자를 short형으로 형변환하여 객체 생성

4-4 Short 클래스 프로그램 설명 4 포장(Wrapper) 클래스 03 : Short 클래스로부터 직접 숫자를 지정하여 객체를 생성하는 경우에는 숫자를 short형으로 형변환해야 한다. 자바에서 모든 수식의 계산은 int형으로 수행한다.

4-5 Long 클래스 Long 클래스 형식 4 포장(Wrapper) 클래스 long형의 값을 저장 MAX_VALUE와 MIN_VALUE 상수를 제공 Long(long l) Long(String str) throws NumberFormatException 형식

4-5 Long 클래스 Long 클래스의 주요 메소드 메소드 설명 4 포장(Wrapper) 클래스 byte byteValue() 현 객체의 값을 byte 값으로 변환하여 반환 double doubleValue() 현 객체의 값을 double 값으로 변환하여 반환 float floatValue() 현 객체의 값을 float 값으로 변환하여 반환 short shortValue() 현 객체의 값을 short 값으로 변환하여 반환 int intValue() 현 객체의 값을 int 값으로 변환하여 반환 long longValue() 현 객체의 값을 long 값으로 변환하여 반환 String toString() 현 객체의 값을 문자열로 반환 boolean equals(Object LongObj) 현 객체가 가지고 있는 값과 LongObj로 지정된 객체가  가지고 있는 값이 같으면 true, 다르면 false를 반환 static long parseLong(String str) throws  NumberFormatException str로 지정된 문자열에 해당하는 long 값을 반환 static long parseLong(String str, int radix)  throws NumberFormatException str로 지정된 문자열에 해당하는 long 값을 radix로 지정 된 진법으로 반환 static String toBinaryString(long num) num의 2진 표현을 문자열로 반환

4-5 Long 클래스 Long 클래스의 주요 메소드 메소드 설명 4 포장(Wrapper) 클래스 static String toHexString(long num) num의 16진 표현을 문자열로 반환 static String toOctalString(long num) num의 8진 표현을 문자열로 반환 static  Long  valueOf(String  str)  throws  NumberFormatException str로 지정된 값을 가지는 Long 객체를 반환

4-5 Long 클래스 실습예제 4 포장(Wrapper) 클래스 LongTest.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 public class LongTest { public static void main(String args[]) { Long a = new Long(Long.MAX_VALUE); System.out.println ("Long의 최댓값(10진법) : " + a.longValue()); ("Long의 최댓값(2진법) : " + Long.toBinaryString(a.longValue())); ("Long의 최댓값(8진법) : " + Long.toOctalString(a.longValue())); ("Long의 최댓값(16진법) : " + Long.toHexString(a.longValue())); ("=========================================="); a = new Long(Long.MIN_VALUE); ("Long의 최솟값(10진법) : " + a ); Long 최댓값 객체 생성 long 최댓값 출력 Long 최솟값 객체 생성 long 최솟값 출력

4-5 Long 클래스 실습예제 프로그램 설명 4 포장(Wrapper) 클래스 03 : Long 클래스에 제공되는 상수 MAX_VALUE를 이용하여 객체를 생성하였다. 64비트로 표현 가능한 최댓값은 9223372036854775807이다 04~11 : 최댓값을 2진수, 8진수, 16진수로 나타내었다. LongTest.java 17 18 19 20 21 22 23 24 System.out.println ("Long의 최솟값(2진법) : " + Long.toBinaryString(a)); ("Long의 최솟값(8진법) : " + Long.toOctalString(a)); ("Long의 최솟값(16진법) : " + Long.toHexString(a)); }

4 포장(Wrapper) 클래스 4-5 Long 클래스

문자열(String) 5 문자열의 개요 자바 프로그램에서 많이 사용되는 요소 자바는 문자열을 객체로 취급 계속 변하는 문자열을 사용할 때 : StringBuffer 클래스

String 클래스 형식 6 String 클래스 변하지 않는 문자열 상수 문자열을 위해 사용 문자열을 생성하고 조작할 수 있도록 다양한 생성자와 메소드를 제공 String() String(char chars[]) String(char chars[], int startindex, int numChars) String(String strObj) String(byte asciiChars[], byte highOrderByte) String(byte asciiChars[], byte highOrderByte, int startindex, int numChars) String(byte asciiChars[]) String(byte asciiChars[], int startIndex, int numChars) 형식

String 클래스의 주요 메소드 메소드 설명 6 String 클래스 int length() 문자열의 길이를 반환 문자열의 길이를 반환 char charAt(int I) i번째 문자를 반환 void getChars(int sourceStart, int  sourceEnd, char target[], int targetStart) 문자열의 일부를 문자 배열(target[])로 작성 byte[] getBytes() 현재의 문자열을 바이트 배열로 반환 boolean equals(Object str) 현재의 문자열과 str로 지정된 문자열이 같으면 true, 다 르면 false를 반환 boolean equalsIgnoreCase(String str) 르면 false를 반환. 단, 비교 시 대소문자를 무시 boolean startsWith(String str) 현재의 문자열이 str로 시작하면 true, 아니면 false를 반환 boolean endsWith(String str) 현재의 문자열이 str로 끝나면 true, 아니면 false를 반환 int compareTo(String str) 두 개의 문자열을 비교하여 결과로 양수, 음수, 0의 값 을 반환 int indexOf(char ch) 현재의 객체가 가지고 있는 문자열 내에서 ch로 지정된  문자의 첫 번째 인덱스를 반환 int indexOf(String str) 문자열 str의 첫 번째 인덱스를 반환

String 클래스의 주요 메소드 메소드 설명 6 String 클래스 int indexOf(int ch, int startIndex) 인덱스 startIndex 이후의 문자 ch의 첫 번째 인덱스를 반환 int indexOf(String str, int startIndex) 인덱스 startIndex 이후의 문자열 str의 첫 번째 인덱스 를 반환 String intern() 문자열의 canonical 문자열을 반환 int lastindexOf(char ch) 문자 ch의 마지막 인덱스를 반환 int lastindexOf(String str) 문자열 str의 마지막 인덱스를 반환 int lastindexOf(int ch, int startIndex) 인덱스  startIndex 이전의 문자  ch의 마지막 인덱스를 반환 int lastindexOf(String str, int startIndex) 인덱스 startIndex 이전의 문자열 str의 마지막 인덱스를 반환 String substring(int startindex) startIndex로부터 시작하는 부분 문자열을 반환 String substring(int startIndex, int endIndex) startIndex와 endIndex 사이의 부분 문자열을 반환 String concat(String str) 현재의 문자열에 str로 지정된 문자열을 결합 String replace(char original,  char replacement) original로 지정된 문자를 replacement로 지정된 문자로 대치

String 클래스의 주요 메소드 메소드 설명 6 String 클래스 String trim() 문자열의 앞뒤 공백(whitespace)을 제거 static String valueOf(double num) num을 문자열로 변환하여 반환 static String valueOf(long num) static String valueOf(Object obj) 객체가 가지고 있는 데이터를 문자열로 변환하여 반환 static String valueOf(char chars[]) 문자 배열을 문자열로 변환하여 반환 static String valueOf(char chars[], int startIndex, int numChars) 문자 배열의 일부를 문자열로 변환하여 반환 String toLowerCase() 문자열을 모두 소문자로 변환하여 반환 String toUpperCase() 문자열을 모두 대문자로 변환하여 반환

실습예제 6 String 클래스 StringTest1.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 public class StringTest1 { public static void main(String args[]) { char a[] = { 'C','o','m','p','u','t','e','r' }; String s1 = new String(a); String s2 = new String(a,3,2); String s3 = new String("배우기 쉬운 자바"); String s4 = "canonical 문자열"; System.out.println("문자열 s1 : " + s1); System.out.println("문자열 s1의 길이 : " + s1.length()); System.out.println("문자열 s2 : " + s2); System.out.println("문자열 s3 : " + s3); System.out.println("문자열 s4 : " + s4); } 배열을 이용하여 객체 생성 배열의 특정 부분을 이용하여 객체 생성 문자열을 지정하여 객체 생성 문자열의 길이 출력

프로그램 설명 6 String 클래스 04 : 문자 배열을 이용하여 String 객체를 생성하였다. 07 : 문자열을 직접 지정하여 String 객체를 생성하였다. 이러한 문자열을 canonical 문자열이라고 한다. 09 : String 클래스의 length() 메소드를 이용하여 문자열의 길이를 출력하고 있다.

canonical 문자열 6 String 클래스 자바는 편리한 문자열의 사용을 위해 단축(shorthand) 초기화를 허용 단축 초기화 과정을 거쳐 생성된 문자열 String name = "kim" name = "park"

실습예제 6 String 클래스 StringTest2.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 public class StringTest2 { public static void main(String args[]) { String s1 = "Java Korea"; String s2 = new String("Java Korea"); String s3 = s2.intern(); String s4 = "Java Korea"; String s5 = new String("Java Korea"); System.out.println("s1과 s2가 같은가? : " + (s1 == s2)); System.out.println("s2와 s3가 같은가? : " + (s2 == s3)); System.out.println("s1과 s3가 같은가? : " + (s1 == s3)); System.out.println("s1과 s4가 같은가? : " + (s1 == s4)); System.out.println("s2와 s5가 같은가? : " + (s2 == s5)); System.out.println("s1 : " + s1); System.out.println("s2 : " + s2); System.out.println("s3 : " + s3); System.out.println("s4 : " + s4); System.out.println("s5 : " + s5); } canonical 문자열 객체 생성 일반 문자열 객체 생성 intern() 메소드를 이용하여  canonical 문자열 객체 생성

프로그램 설명 6 String 클래스 03 : 문자열을 직접 지정하여 canonical 문자열 객체를 생성하였다. 04 : new 문장을 사용하여 일반 문자열 객체를 생성하였다. 05 : String 클래스의 intern() 메소드를 사용하여 canonical 문자열 객체를 생성하였다. 10~11 : canonical 문자열을 저장하고 있는 객체 변수의 값(주소)이 같은가를 비교하였다. 두 객체 변수는 같은 기억장소를 가리키고 있다. 12 : 같은 문자열을 가진 일반 객체가 같은가를 비교하였다. 두 개의 객체는 서로 다른 객체로 생성되었기 때문에 false를 출력한다.

6 String 클래스

6-1 문자열의 길이 문자열 길이 메소드 형식 6 String 클래스 int length() 6-1 문자열의 길이 문자열 길이 메소드 int length() 형식 char chars[] = {'K', 'o', 'r', 'e', 'a'}; String s = new String(chars); System.out.println(s.length());

6-2 문자열에서의 문자 추출 문자열 추출 메소드 형식 6 String 클래스 6-2 문자열에서의 문자 추출 문자열 추출 메소드 charAt() 메소드 : 문자열의 특정 위치에 있는 문자를 반환 getChars() 메소드 : 문자열의 일부를 문자 배열로 제공 char charAt(int i) void getChars(int sourceStart, int sourceEnd, char target[], int targetStart) 형식

6-2 문자열에서의 문자 추출 시습예제 6 String 클래스 StringExtract.java 01 02 03 04 05 6-2 문자열에서의 문자 추출 시습예제 StringExtract.java 01 02 03 04 05 06 07 08 09 public class StringExtract { public static void main(String args[]) { String a1 = "WorldCup Korea"; System.out.println("추출된 문자 : " + a1.charAt(2)); char buff[] = new char[3]; a1.getChars(5,8,buff,0); System.out.println(buff); } 문자열의 2번째(0부터 시작) 문자를 출력 문자열의 5-7번 문자를 출력

6-2 문자열에서의 문자 추출 프로그램 설명 6 String 클래스 6-2 문자열에서의 문자 추출 프로그램 설명 04 : charAt() 메소드는 문자열에서 특정 위치의 문자를 반환하는 메소드이다.  06 : getChars() 메소드는 문자열의 지정된 위치에 있는 다수 개의 문자를 문자 배열로 반환하는 메소드이다. 

6-3 문자열 비교 문자열 비교 메소드 형식 6 String 클래스 6-3 문자열 비교 문자열 비교 메소드 equals() 메소드 : 현재의 문자열과 str로 지정된 문자열이 같으면 true, 다르면 false를 반환 equalsIgnoreCase() 메소드 : equals() 메소드와 같으나 대소문자를 구분하지 않고 비교 compareTo() 메소드 : 두 개의 문자열을 비교하여 문자열이 다른 문자열보다 작으면 음수 값을, 같으면 0 값을, 크면 양수 값을 반환 startsWith(), endsWith() 메소드 : str로 지정된 문자열로 시작하거나 끝나면 true를 그렇지 않으면 false를 반환 boolean equals(Object str) boolean equalsIgnoreCase(String str) int compareTo(String str) boolean startsWith(String str) boolean endsWith(String str) 형식

6-3 문자열 비교 실습예제 6 String 클래스 EqualsTest.java 01 02 03 04 05 06 07 08 6-3 문자열 비교 실습예제 EqualsTest.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 class EqualsTest { public static void main(String args[]) { String s1 = "알기쉽다" ; String s2 = "Apple"; String s3 = "APPLE"; String s4 = new String("알기쉽다"); System.out.println ("s1과 s2가 동일한 문자열? : " + s1.equals(s2)); ("s2와 s3가 동일한 문자열?(대소문자 무시) : " + s2.equalsIgnoreCase(s3)); if (s1 == s4) ("s1과 s4를 \"==\" 연산자로 비교한 결과는 같다"); else equals() 메소드로 비교 대소문자 무시 비교 객체 변수가 가진 값(주소) 비교

6-3 문자열 비교 실습예제 6 String 클래스 EqualsTest.java 16 17 18 19 20 21 22 23 6-3 문자열 비교 실습예제 EqualsTest.java 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 System.out.println ("s1과 s4를 \"==\" 연산자로 비교한 결과는 같지 않다"); if (s1.equals(s4)) ("s1과 s4를 \"equals()\" 메소드로 비교한 결과는 같다"); else ("s1과 s4를 \"equals()\" 메소드로 비교한 결과는 같지 않다"); ("s1문자열은 \"알기\"로 시작하는가? " + s1.startsWith("알기")); ("s1문자열은 \"ple\"로 끝나는가? " + s2.endsWith("ple")); } 객체 변수가 지정하는 문자열 비교 문자열 시작과 끝을 비교

6-3 문자열 비교 프로그램 설명 6 String 클래스 6-3 문자열 비교 프로그램 설명 07, 08 : 두 개의 문자열을 equals() 메소드로 비교한다. 두 객체 변수가 가리키는 문자열의 내용을 비교하는 메소드이다. 09~11 : 문자열 비교 시 대소문자를 무시하고 비교한다. 12 : “==”연산자를 사용하여 객체 변수를 비교하면 객체 변수가 가진 값을 비교한다. 객체 변수는 객체가 저장된 주소를 가지므로 주소가 동일한지를 비교하게 된다. 18 : equals() 메소드는 객체 변수가 가리키는 객체의 내용이 같은지를 비교하는 메소드이다.  24~28 : startsWith() 메소드와 endsWith() 메소드는 문자열이 특정 문자로 시작하고 끝나는가를 비교해서 이진값을 반환하는 메소드이다.

6 String 클래스 6-3 문자열 비교

6-3 문자열 비교 실습예제 6 String 클래스 CompareTest.java 01 02 03 04 05 06 07 08 6-3 문자열 비교 실습예제 CompareTest.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 public class CompareTest { static String array1[] = {"IMF", "제주도", "자바도사", "한글나라", "Computer", "모카", "JAVA", "인터넷탐색", "초롱초롱", "come", "바람", "스크립터", "군고구마", "도서", "their", "country" }; public static void main(String args[]) { System.out.println("======= 정렬 전 데이터 =========="); for(int k = 0; k < array1.length; k++) System.out.print(array1[k] + " "); System.out.println(); System.out.println("======= 정렬 후 데이터 =========="); for(int i = 0; i < array1.length; i++) { for(int j = i + 1; j < array1.length; j++) { if(array1[i].compareTo(array1[j]) > 0) { String t = array1[i]; array1[i] = array1[j]; array1[j] = t; 문자열의 배열을 클래스 객체 변수로 선언 정렬 전 데이터를 출력 두 개의 문자열 비교 두 개의 문자열 교환

6-3 문자열 비교 실습예제 6 String 클래스 CompareTest.java 18 19 20 21 22 23 } 6-3 문자열 비교 실습예제 CompareTest.java 18 19 20 21 22 23 } System.out.print(array1[i] + " ");

6-3 문자열 비교 프로그램 설명 6 String 클래스 6-3 문자열 비교 프로그램 설명 02 : 문자열의 배열을 클래스 객체 변수로 선언하였다. 클래스 변수로 선언하는 이유는 이변수를 사용할 mail() 메소드가 클래스 메소드이기 때문이다. 클래스 메소드에서 사용할 수 있는 외부 변수들은 반드시 클래스 변수이어야 한다. 08, 09 : 반복문을 이용하여 정렬하기 전의 데이터들을 출력하였다. 09~10 : 두 개의 반복문을 이용하여 배열의 요소를 비교한다. 14 : 두 개의 요소를 비교하여 결과 값이 0보다 크면 앞의 값이 더 크다는 의미이다. 앞의 값이 더 크다는 의미는 알파벳 순으로 뒤에 있다는 의미이기 때문에 두 값을 교환한다. 내포된 반복문을 1번 반복하면, 배열의 가장 첫 번째 값은 가장 작은 값이 된다. 계속해서 두 번째 값과 세 번째 값을 비교하여 다시 내포된 반복문이 한 번 더 수행되면, 배열의 두 번째 값은 배열에서 두 번째로 작은 값이 된다. 이 부분이 반복 수행되면 모든 정렬이 완료된다.

6 String 클래스 6-3 문자열 비교

6-4 문자열 탐색 문자열 탐색 메소드 형식 6 String 클래스 6-4 문자열 탐색 문자열 탐색 메소드 indexOf() 메소드 : 문자열에서 특정 문자나 문자열을 탐색하여 위치를 반환하는 메소드 lastindexOf() 메소드 : 문자열에서 특정 문자나 문자열을 마지막 위치부터 거꾸로 탐색하여 위치를 반환하는 메소드 int indexOf(String str) int indexOf(int ch, int startIndex) int indexOf(String str, int startIndex) int lastindexOf(String str) int lastindexOf(int ch, int startIndex) int lastindexOf(String str, int startIndex) 형식

6-4 문자열 탐색 실습예제 6 String 클래스 StringIndexTest.java 01 02 03 04 05 06 07 6-4 문자열 탐색 실습예제 StringIndexTest.java 01 02 03 04 05 06 07 08 09 10 11 12 public class StringIndexTest { public static void main(String args[]) { String s = "1234567890JAVA1234567890java"; System.out.println(s); System.out.println ("문자열의 길이 : " + s.length()); ("indexOf(J) = " + s.indexOf('J')); ("lastIndexOf(9) = " + s.lastIndexOf('9')); ("indexOf(5, 5) = " + s.indexOf('5', 5)); ‘J’ 문자의 처음 위치 ‘9’ 문자의 마지막 위치 5번째 이후 ‘5’ 문자의 처음 위치

6-4 문자열 탐색 실습예제 6 String 클래스 StringIndexTest.java 13 14 15 16 17 18 19 6-4 문자열 탐색 실습예제 StringIndexTest.java 13 14 15 16 17 18 19 20 System.out.println ("lastIndexOf(5, 18) = " + s.lastIndexOf('5', 17)); ("indexOf(java, 10) = " + s.indexOf("java", 10)); ("lastIndexOf(Java, 40) = " + s.lastIndexOf("Java", 23)); } 17번째 이전 ‘5’ 문자의 위치 10번째 이후 “java” 문자열의 위치 23번째 이전 “Java” 문자열의 위치

6-4 문자열 탐색 프로그램 설명 6 String 클래스 6-4 문자열 탐색 프로그램 설명 07~10 : 특정 문자를 이용하여 문자열을 탐색한다. 특정 문자가 처음 나온 위치와 마지막 나온 위치를 반환한다. 11~14 : 문자열의 특정 위치를 지정하여 그 위치 다음 또는 그 위치 이전 부분으로 탐색한다. 15~18 : 문자열에서 특정 문자열을 탐색한다.

6-5 문자열의 변환 문자열 변환 메소드 형변환 메소드 형식 형식 6 String 클래스 6-5 문자열의 변환 문자열 변환 메소드 형변환 메소드 String substring(int startIndex, int endIndex) String concat(String constr) String replace(char original, char replacement) String trim() 형식 static String valueOf(double num) static String valueOf(long num) static String valueOf(Object obj) static String valueOf(char chars[]) static String valueOf(char chars[], int startIndex, int numChars) 형식

6-5 문자열의 변환 대소문자 변환 메소드 형식 6 String 클래스 String toLowerCase() 6-5 문자열의 변환 대소문자 변환 메소드 String toLowerCase() String toUpperCase() 형식

6-5 문자열의 변환 실습예제 6 String 클래스 SubStringTest.java 01 02 03 04 05 06 07 6-5 문자열의 변환 실습예제 SubStringTest.java 01 02 03 04 05 06 07 08 09 10 11 12 13 public class SubStringTest { public static void main(String args[]) { String str = "알기쉽게 해설한 자바"; System.out.println("인덱스 5부터 8이전까지의 문자열 : " + str.substring(5,8)); System.out.println(str.concat("와 예제 프로그램")); System.out.println(str.replace('한','된')); str = " " + str + " "; System.out.println("공백 추가 str의 길이 : " + str.length()); str = str.trim(); System.out.println("공백 제거 str의 길이 : " + str.length()); } 5부터 8 이전까지의 문자열 문자열 연결 특정 문자를 치환 문자열 양쪽의 공백 제거

6-5 문자열의 변환 프로그램 설명 6 String 클래스 6-5 문자열의 변환 프로그램 설명 04, 05 : 위치를 지정하여 문자열의 부분 문자열을 구하는 메소드이다.  06 : 두 개의 문자열을 연결하는 메소드이다. 07 : 문자열에서 특정 문자를 다른 문자로 치환하는 메소드이다. 10 : 문자열 양쪽에 있는 공백 문자들을 제거하는 메소드이다.

6-5 문자열의 변환 실습예제 6 String 클래스 ConvertStringTest.java 01 02 03 04 05 06 6-5 문자열의 변환 실습예제 ConvertStringTest.java 01 02 03 04 05 06 07 08 09 10 11 12 13 public class ConvertStringTest { public static void main(String args[]) { int a = 2002 ; char b[] = {'W','o','r','l','d','c','u','p'}; System.out.println(String.valueOf(a) + " " + String.valueOf(b) + " in Korea"); String s1 = String.valueOf(b); s1.toUpperCase() + " in Korea"); String.valueOf(b).toUpperCase() + " in Korea"); } 정수 2002를 문자열로 변환 문자 배열을 문자열로 변환 문자열을 대문자로 변환 연결 메소드 사용

6-5 문자열의 변환 프로그램 설명 6 String 클래스 6-5 문자열의 변환 프로그램 설명 00, 00 : 자바 프로그램에서는 “.” 연산자를 이용하여 메소드를 연결하여 사용할 수 있다. 왼쪽부터 연산이 이루어지며, 왼쪽 연산의 결과를 가지고 오른쪽 연산을 수행한다. 위와 같은 경우는 우선 String.valueOf(b)의 결과를 구한다. 그 결과가 String 클래스의 객체이므로 다시 String 클래스의 메소드를 적용할 수 있다. 07~09번에서 사용된 형태를 하나의 문장으로 표현한 것이다.  자바에서 메소드의 연결은 횟수에 제한을 두지 않는다. 즉 다음과 같은 사용이 가능하다 String.valueOf(b).toUpperCase().concat("java").replace('j','p')

StringBuffer 클래스 생성자 형식 7 StringBuffer 클래스 StringBuffer(int size) 생성자 : size로 지정된 문자를 저장할 수 있는 객체를 생성 StringBuffer(String str) 생성자 : str로 지정된 문자열과 추가로 16개의 문자를 더 저장할 수 있는 객체를 생성 StringBuffer() StringBuffer(int size) StringBuffer(String str) 형식

StringBuffer 클래스의 주요 메소드 설명 StringBuffer append(boolean b) b를 현재의 문자열 끝에 첨부 StringBuffer append(char ch) ch를 현재의 문자열 끝에 첨부 StringBuffer append(double d) d를 현재의 문자열 끝에 첨부 StringBuffer append(float f) f를 현재의 문자열 끝에 첨부 StringBuffer append(int i) i를 현재의 문자열 끝에 첨부 StringBuffer append(long l) l을 현재의 문자열 끝에 첨부 StringBuffer append(Object obj) obj가 가진 문자열을 현재의 문자열 끝에 첨부 StringBuffer append(String str) str을 현재의 문자열 끝에 첨부 int capacity() 현재의 문자열 버퍼의 크기를 반환 char charAt(int i) 번째 인덱스에 해당하는 문자를 반환 StringBuffer delete(int start, int end) 문자열의 start에서 end까지를 삭제

StringBuffer 클래스의 주요 메소드 설명 StringBuffer insert(int i, boolean b) i번째 인덱스 전에 b를 삽입 StringBuffer insert(int i, char ch) i번째 인덱스 전에 ch를 삽입 StringBuffer insert(int i, int j) i번째 인덱스 전에 j를 삽입 StringBuffer insert(int i, long l) i번째 인덱스 전에 l을 삽입 StringBuffer insert(int i, Object obj) i번째 인덱스 전에 obj를 삽입 StringBuffer insert(int i, String str) i번째 인덱스 전에 str을 삽입 int length() 문자열 버퍼에 있는 문자의 개수를 반환 StringBuffer reverse() 문자열을 역순의 문자열로 변환하여 반환 void setCharAt(int i, char ch) i번째 문자를 ch로 설정 void setLength(int len) 버퍼의 크기를 len 크기로 설정 String toString() 현재의 문자열을 String 객체로 반환 String substring(int s, int e) 문자열의 s부터 e까지를 string 객체로 반환

실습예제 7 StringBuffer 클래스 StringBufferTest1.java 01 02 03 04 05 06 07 08 09 10 11 12 public class StringBufferTest1 { public static void main(String args[]) { StringBuffer str1 = new StringBuffer("Hello JAVA"); StringBuffer str2 = new StringBuffer("안녕하세요 자바"); System.out.println("문자열 => " + str1); System.out.println("문자열 길이 => " + str1.length()); System.out.println("버퍼를 포함한 길이 => " + str1.capacity()); System.out.println("문자열 => " + str2); System.out.println("문자열 길이 => " + str2.length()); System.out.println("버퍼를 포함한 길이 => " + str2.capacity()); } 버퍼를 포함한 용량

프로그램 설명 7 StringBuffer 클래스

실습예제 7 StringBuffer 클래스 StringBufferTest2.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 public class StringBufferTest2 { public static void main(String args[]) { StringBuffer str1 = new StringBuffer("안녕 자바"); System.out.println("버퍼에 들어있는 내용 => " + str1); System.out.println("문자열 끼워넣기 => " + str1.insert(3,"Power ")); System.out.println("버퍼의 5번째 문자 => " + str1.charAt(4)); str1.setCharAt(0, '정'); System.out.println("0번째 값을 '정'으로 변경 => " + str1); str1.setLength(8); System.out.println("버퍼의 새로운 값 => " + str1); System.out.println("문자열의 역순출력하기 => " + str1.reverse()); } 3번째 위치에 문자열 삽입 4번째 위치에 문자열 삽입 0번째 위치의 문자를 ‘정’으로 치환 문자열의 길이를 8로 조정 문자열을 역순으로 출력

7 StringBuffer 클래스 프로그램 설명 00 : 현재의 문자열의 길이를 강제로 조정한다. 뒷부분의 문자열이 손실된다.

8 유틸리티 패키지 개요 java.util 패키지의 주요 클래스 384 page

8 유틸리티 패키지 개요 java.util 패키지의 주요 클래스 384 page

Random 클래스 Random 클래스 생성자 형식 9 Random 클래스 난수 발생 기능을 제공 double, float, int, long 등 다양한 형태 Random 클래스 생성자 Random() 생성자 : 현재의 시간을 초깃값으로 하는 난수 발생기를 생성 Random (long seed) 생성자 : seed 값을 초깃값으로 하는 난수 발생기를 생성 Random() Random(long seed) 형식

Random 클래스의 주요 메소드 메소드 설명 9 Random 클래스 void nextBytes(byte buffer[]) float nextFloat() float형의 난수를 반환 int nextInt() int형의 난수를 반환 long getLong() long형의 난수를 반환 double nextDouble() double형의 난수를 반환 double nextGaussian() Gaussian형의 난수를 double 값으로 반환 void setSeed(long newseed) 난수 발생기의 seed 값을 newseed 값으로 설정

실습예제 9 Random 클래스 RandomTest.java 01 02 03 04 05 06 07 08 09 10 11 12 import java.util.*; public class RandomTest { public static void main(String args[]) { Random rangen = new Random(); for(int i = 1 ; i <= 5 ; i++) { foat a = rangen.nextFloat(); System.out.print("Float형 난수 : " + a); int b = rangen.nextInt(); System.out.println(" Int형 난수 : " + b); } java.util 패키지를 포함 Random 객체 생성 실수형의 난수 생성 정수형의 난수 생성

9 Random 클래스 프로그램 설명 01 : java.util 패키지에 속한 클래스를 사용하기 위해 java.util 패키지를 import 시켰다. 04 : Random 클래스로부터 객체를 생성하였다. 06, 08 : 실수형과 정수형의 난수를 생성하였다.

Arrays 클래스의 객체 Arrays 클래스의 주요 메소드 메소드 설명 10 Arrays 클래스 자바에서 배열은 객체로 취급하며, 사용하는 모든 배열 Arrays 클래스의 주요 메소드 메소드 설명 static List asList(Object[] a) 배열 a를 List형의 객체로 반환 static int binarySearch(int[] a, int key) 배열 a에서 key로 지정된 값을 찾아 반환. boolean을 제외 한 7가지 기본 자료형과 Object형도 사용 가능. 이 메소드 는 배열 요소들이 정렬된 후에 사용해야 한다. static boolean equals(int[] a, int[] b) 배열 a와 b가 같은지를 비교하여 결과를 반환. 8개의 기본 자료형과 Object형도 사용 가능 static void fill(int[] a, int value) 배열 a의 모든 요소를 value 값으로 설정한다. 8개의 기본 static void fill(int[] a, int from, int to,  int value) 배열 a의 from부터 to까지를 value 값으로 설정한다. 8개의 기본 자료형과 Object형도 사용 가능 static void sort(int[] a) 배열 a의 요소들을 정렬. boolean을 제외한 7가지 기본 자 료형과 Object형도 사용 가능 static void sort(int[] a, int from, int to) 배열 a의 from부터 to까지를 정렬. boolean을 제외한 7가 지 기본 자료형과 Object형도 사용 가능 static String toString(int[] a) 배열 a의 요소들을 문자열로 반환한다. 이 메소드는 모든 자료형에 적용 가능

실습예제 10 Arrays 클래스 ArraysTest1.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 import java.util.*; public class ArraysTest1 { public static void main(String[] args) { int[] int1 = {0,1,2,3,4,5,6,7,8,9}; System.out.println("초기배열 : " + Arrays.toString(int1)); Arrays.fll(int1, 3, 5, 33); System.out.println("fll() 수행 후 : " + Arrays.toString(int1)); Arrays.sort(int1); System.out.println("sort() 수행 후 : " + Arrays.toString(int1)); System.out.println("33은 배열의 " + Arrays.binarySearch(int1,33) + "번째 요소"); int[] int2 = {5,4,3,2,1}; System.out.println("두 번째 배열 : " + Arrays.toString(int2)); System.out.println("두 개의 배열이 같은가? " + Arrays.equals(int1, int2)); } 배열의 요소를 문자열로 출력 배열의 특정 위치 값을 치환 배열 요소 정렬 배열 요소 2진 탐색 배열이 같은지 검사

10 Arrays 클래스 프로그램 설명 05 : toString() 메소드는 배열의 요소를 문자열로 출력하는 메소드이다. 모든 종류의 배열을 문자열로 출력할 수 있다. 06 : 배열의 특정 위치의 값을 특정 값으로 치환하는 메소드이다.  3, 4번 위치의 값을 33으로 치환하였다. 08 : 배열의 요소를 오름차순으로 정렬하였다. 10~11 : 배열에서 특정 요소를 검색하여 배열의 위치를 반환한다. 검색은 2진 탐색기법을 사용한다.  15 : 두 개의 배열 요소가 같은지를 검사한다.

10 Arrays 클래스

실습예제 10 Arrays 클래스 ArraysTest2.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 import java.util.Arrays; public class ArraysTest2 { static String array1[] = {"IMF", "제주도", "자바도사", "한글나라", "Computer", "모카", "JAVA", "인터넷탐색", "초롱초롱", "come", "바람", "스크립터", "군고구마", "도서", "their", "country" }; public static void main(String args[]) { System.out.println("======= 정렬 전 데이터 =========="); System.out.println(Arrays.toString(array1)); Arrays.sort(array1); System.out.println("======= 정렬 후 데이터 =========="); } 배열의 요소를 정렬

10 Arrays 클래스 프로그램 설명 10 : 배열의 요소를 정렬한다.

학습정리 패키지 개요와 패키지 사용 java.lang 패키지의 개요 Object 클래스 JDK는 클래스들의 특성에 따라 클래스들을 패키지로 구분하여 제공하고 있다. import문을 사용하여 원하는 패키지를 포함하여 클래스를 작성할 수 있다. java.lang 패키지의 개요 자바의 기본 패키지로서 import문을 사용하여 포함시키지 않아도 자동으로 포함되는 패키지이다. Object 클래스 모든 자바 클래스의 최상위 클래스이다. Object 클래스는 extends로 지정하지 않아도 상속되는 클래스이다. Object 클래스에서 선언된 메소드는 모든 자바 프로그램에서 사용이 가능하다.

학습정리 포장(Wrapper) 클래스 문자열의 개요 java.util 패키지 자바에서 사용되는 8개의 기본 자료형에 대해 포장 클래스를 제공한다. 포장 클래스를 사용함으로써 클래스에서 제공되는 다양한 기능의 메소드를 쉽게 사용할 수 있다. 문자열의 개요 자바는 문자열을 위해 String 클래스와 StringBuffer 클래스를 제공하고 있다. 한번 생성된 다음에 변하지 않는 문자열, 즉 상수 문자열을 사용할 때는 String 클래스를 이용하고, 프로그램에서 계속 변하는 문자열을 사용할 때는 StringBuffer 클래스를 이용한다. java.util 패키지 자바는 다양한 기능을 가진 클래스들을 java.util 패키지로 제공하고 있다. Random 클래스는 난수를 발생시키는 클래스로서, 다양한 형태의 난수를 생성할 수 있다. Arrays 클래스는 배열을 나타내는 클래스로서, 다양하고 편리한 메소드를 제공하고 있다.

11장. 패키지와 주요 클래스 수고하셨습니다. 질문 있습니까?