8일차 수업 ( 문자열 , 예외처리 )
1. 문자열 생성방법
가. String 클래스 이용
- 한번 생성된 문자열은 변경안된다.
- 메소드를 사용하여 가공하면 새로운 문자열이 생성된다.
따라서 문자열 조작이 적은 경우에 사용한다.
- 리터럴 이용
예> String str = "hello";
String str3 = "hello";
=> literal pool 메모리에 생성된다.
기존 문자열이 존자하면 재사용 한다.
- new 이용
예> String str2 = new String("hello");
String str4 = new String("hello");
=> heap 메모리에 생성된다. 매번 생성된다.
- 메소드 정리
나. StringBuffer 클래스 이용
- 한번생성된 문자열이 변경된다. 따라서 문자열 조작이 많은 경우에 사용된다.
- new 이용
예> StringBuffer buffer = new StringBuffer("hello");
다. toString 메소드 이용
=> 정수를 문자열로 변경
String str = Integer.toStirng(123);
String str2 = Float.toStirng(123.4F);
라. + (연결 연산자) 이용
=> 문자열과 다른 데이터형이 + 만나면 자동으로 문자열로 변경된다.
예> System.out.println( 1 + 2 ); // 3
System.out.println(1+ " " + 2); 1 2
int x = 123;
String str = x+""; // 권장 안함.
String str2 = Integer.toStirng(123);
String str3 = String.valueof(123);
<문자열의 다양한 처리방법>
String str = "SJgood";
//1. 모든 문자열을 대문자로 만들기
System.out.println(str.toUpperCase()); //SJGOOD
//2. 모든 문자열을 소문자로 만들기
System.out.println(str.toLowerCase()); //sjgood
//3. 문자열 부분 출력
System.out.println(str.substring(0,2)); //SJ
System.out.println(str.substring(2,6)); //good
2. 예외처리
예외( exception )?
=> 일반적으로 '에러'라고 부른다.
( '예외가 발생' 한다고 부른다. )
=> 예외가 발생되면 '프로그램이 비정상' 종료된다. (****)
예>
문장1;
문장2;
문장3;
...
문장100;
system.out.println("프로그램 정상종료");
}.//end main
순차문이기 때문에 한번 실행된 문장을 다시 실행할 수 없다.
(반복문 제외)
<예외 처리 하는 방법>
Try ~ catch문 사용하기!
문법 :
try{
//예외발생코드
}catch{예외클래스 변수명){
//예외처리 코드
}
* 다중 catch문
- try 블럭안에 여러개의 문장이 지정 가능하다.
이 문장들이 서로 다른 예외가 발생가능하기 때문에 catch문도 여러개가 필요하다.
try{
문장1; => ArithmeticException
문장2; => NullPointerException
문장3; => ClassCastException
}catch(ArithmeticException e){
}catch(NullPointerException e){
}catch(ClassCastException e){
}
* finally 문
=> 예외가 발생유무와 상관없이 항상 실행되는 문장.
=> System.exit(0) 제외하고는 어떤 상황에서도 반드시 수행된다.
=> 주요용도: 파일 또는 데이터베이스와 같은 외부자원을 사용하고 close 하는 작업에 사용된다.
try{
}catch(){
}finally{
//반드시 수행되는 문장
}
====수업 내용======
가. String 클래스 이용
- 한번 생성된 문자열은 변경안되.ㅁ
메소드를 사용하여 가공하면 새로운 문자열이 생성된다.
따라서 문자열 조작이 적은 경우에 사용한다.
예> String str = "hello";
String str3 = "hello";
=> literal pool 메모리에 생성된다.
기존 문자열이 존자하면 재사용 한다.
- new 이용
예> String str2 = new String("hello");
String str4 = new String("hello");
=> heap 메모리에 생성된다. 매번 생성된다.
- 메소드 정리
나. StringBuffer 클래스 이용
- 한번생성된 문자열이 변경된다. 따라서 문자열 조작이 많은 경우에 사용된다.
-
- new 이용
예> StringBuffer buffer = new StringBuffer("hello");
=> 정수를 문자열로 변경
String str = Integer.toStirng(123);
String str2 = Float.toStirng(123.4F);
=> 문자열과 다른 데이터형이 + 만나면 자동으로 문자열로 변경된다.
예> System.out.println( 1 + 2 ); // 3
System.out.println(1+ " " + 2); 1 2
String str = x+""; // 권장 안함.
String str2 = Integer.toStirng(123);
String str3 = String.valueof(123);
--------------------------------------
byte Byte
short Short
int Integer
long Long
double Double
문자 --> 숫자
int 범위 ?
문자 대문자? 소문자?
: 기본형 -------> Wrapper ( auto boxing )
Wrapper -------> 기본형 ( auto unboxing )
4. Random 클래스
* 랜덤값 얻는 2가지 방법
가. Math.random();
0.0 <= <1.0
: nextInt(n) ==> 0 ~ n-1 의 임의의 정수값 리턴
Date
Calendar
- 예외( exception )?
=> 일반적으로 '에러'라고 부른다.
( '예외가 발생' 한다고 부른다. )
=> 예외가 발생되면 '프로그램이 비정상' 종료된다. (****)
문장1;
문장2;
문장3;
...
system.out.println("프로그램 정상종료");
}.//end main
(반복문 제외)
ArithmeticException
ArrayIndexOutbounds
ClassCastException
문법 :
//예외발생코드
}catch{예외클래스 변수명){
//예외처리 코드
}
* 다중 catch문
- try 블럭안에 여러개의 문장이 지정 가능하다.
이 문장들이 서로 다른 예외가 발생가능하기 때문에 catch문도 여러개가 필요하다.
문장1; => ArithmeticException
문장2; => NullPointerException
문장3; => ClassCastException
}catch(ArithmeticException e){
=> 예외가 발생유무와 상관없이 항상 실행되는 문장.
=> System.exit(0) 제외하고는 어떤 상황에서도 반드시 수행된다.
=> 주요용도: 파일 또는 데이터베이스와 같은 외부자원을 사용하고 close 하는 작업에 사용된다.
try{
//반드시 수행되는 문장
}
'프로그래밍 > Java' 카테고리의 다른 글
자바 [JAVA]10일차 수업 ( 컬렉션/Hashset/ArrayList/제네릭 ) (0) | 2017.08.19 |
---|---|
자바 [JAVA] 9일차 수업 ( 예외처리 ) (0) | 2017.08.19 |
자바 [JAVA] 7일차 수업 ( 인터페이스, 추상클래스) (0) | 2017.08.18 |
자바 [JAVA] 6일차 수업 (다형성) (0) | 2017.08.18 |
자바 [JAVA] 5일차 수업 ( Argument로 정수및 문자형 받아오기 ) (0) | 2017.08.18 |