1.Wrapper
1) Wrapper설명
2) Wrapper 예제
3) 박싱 언박싱
2.ForEach
1) ForEach문 설명
2) ForEach문 예제
3) ForEach문 문제, 정답
1.Wrapper
Wrapper?
Wrapper는
기본 타입의 자료형을 다루기 위해
만들어진 클래스이며
따로 Wrapper라는 클래스가
존재하는 건 아니다
기본 타입 - (Wrapper클래스)
byte ( Byte )
short ( Short )
int ( Integer )
long ( Long )
char ( Charater )
float ( Float )
double ( Double )
boolean ( Boolean )
목적?
Wrapper를 이용하면
정수를 문자열로 하거나
문자열을 정수형으로 저장하거나
등의 기본 자료형을 다루기 위함이다.
예제
Ex) WrapperTest.java
각 Wrapper 자료형을
기본 자료형 String형에 담아보기
각 기본자료형(문자열)
에 Wrapper 정수, 실수, 문자, 논리 형
값을 담고 출력해보았다.
pirntf 문의 서식 문자가 % s여도
정상적으로 출력되는 걸로 보아
다 문자열 화가 된 것으로 간주한다.
예제 사용법
기본자료형 변수명 = Wrapper자료형. toString( 값 );
예제
Ex) WrapperTest_2
각 기본자료형에 맞춰 문자열 담아보기
Ex )
int x = "1234"
서식 문자 별로 값이 잘 출력됨.
이 처럼 기본자료형과 Wrapper를
이용하여 문자열을 정수화 시키기도
정수를 문자열로 담을 수도 있다.
[ 박싱, 언박싱 ]
-오토 박싱, 오토 언 박싱
박싱이라 하면 뭔가 박스로 포장하는
느낌이 드는데 아래 예제와 같이
[ 박싱 ]
Integer 형 변수 ix에
integer 형으로 값 3을 포장 중이다
근데 코드가 귀찮고 길기도 하고..
그래서 굳이 뒤에 Integer.value()를
붙일 필요 없이
[ 오토 박싱 ]
Integer iy = 3 이야 끝!
이게 오토 박싱
언박싱, 오토 언박싱에는
그 반대의 설명이 되겠다
2.For Each
배열의 전체 출력 시
for문을 활용하여 출력하던 거
기억하시나요?
이젠 그럴 필요 없습니다.
For Each문이 있기 때문이죠
과일 3개가 있는 fuits 배열이 있다고 봅시다
String fruits [ ] = { 사과, 포도, 키위 }
fruits [ 0 ]은 사과겠죠?
fruits[ 2 ]는 키위고요
배열은 인덱싱 번호를 사용하여
배열 요소들을 불러올 수 있었습니다
그래서 배열 전체를 부를 때는
for ( int i=0; i < fruits.length; i++){
system.out.println( fruits [ i ] );
}
라고 해야
i가 일씩 증가하며
fruits.length 만큼을
반복하고 그 i로 인덱싱 먹여서
출력하는 이런 귀찮은 과정으로
배열 값을 보여주죠
for each문은
위 배열을 전체 출력한다면
이겁니다
for ( String f : fruits ){
system.out.println(f);
}
끝!
for 조건 괄호 안에
새로운 변수를 명을 자료형과 함께
지정해주고 : 배 열명
을 해주면 그 변수는
: 배열의 전체 요소를
순회하는 변수가 되는 겁니다
예제 올리겠습니다
forEach문 활용 문제
*keypoint
-매게 변수 생성자
-객체 배열
-toString 오버 라이딩
<문제>
학생의 이름과 java, python
두 과목의 점수를 저장할
클래스를 만들고
성적을 기록할 학생의 수
이름, 점수를 입력받아
객체 배열로 저장하며
이를 foreach문으로
출력하라
< 정답 예시 >
1. 클래스
Student 클래스를 만들고
멤버 변수로는
이름을 담는 name
성적을 담는 각각
PS
JS
가있다
생성자 메서드로는
매개변수 name, JS, PS를 받고
그 변수들을 멤버 변수에 대입한다
오버 라이딩 메서드로는
toStrrng 메서드를
재정의하여 메인에서
쓸 foreach 문에서
별다른 메서드 이용 없이도
성적을 정리해서 보여주는 메서드를
만들었다(. toString이 생략되는 걸 이용하여)
toString 오버 라이딩에
대해서는
참조 부탁드립니다
그다음 메인 부분이다
2.Main
1. 학생수를 입력받을 index 변수
2.index 변숫값을 크기로 하여금
객체 배열 생성
3.for문을 활용하여 입력받은 변수를
매개변수로 주어 객체 배열에 객체 생성
4.forEach문을 확 용 하여 출력
'Java > JAVA 문법' 카테고리의 다른 글
자바 기초 배우기 27일차 [ Math클래스, Calendar클래스 ] (0) | 2020.01.05 |
---|---|
자바 기초 배우기 26일차 [ String, StringBuffer, StringTokenizer / StringClass 3종세트 ] (0) | 2020.01.05 |
자바 기초 배우기 24일차 [ 모듈, 패키지, 클래스, API, java.lang, ObjectClass ] (0) | 2020.01.05 |
자바 기초 배우기 23일차 [ 추상클래스,인터페이스클래스, 추상메서드 정리 ] (0) | 2020.01.05 |
자바 기초 배우기 22일차 [ 추상클래스, 인터페이스, 익명클래스 ] (0) | 2020.01.04 |