본문 바로가기
Java/JAVA 문법

자바 기초 배우기 25일차 [ Wrapper, ForEach문, 객체배열, toStinrg(), 박싱,언박싱, 오토박싱 ]

by lchit 2020. 1. 5.

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문을 활용하여 출력하던 거

기억하시나요?

https://lchit.tistory.com/31

 

자바 기초 배우기 9,10일차 [ 배열,이중배열 ]

1. 배열 ​ 1) 배열이란? ​ 2) 생성, 불러오기, for문 활용 출력하기 ​ 3) 크기지정생성, 값 추가하기, 입력받아 값 추가하기 for문 활용출력하기 ​ ​ ​ 2. 이중 배열 1) 이중 배열이란? ​ 2) 초기화 생성,..

lchit.tistory.com

이젠 그럴 필요 없습니다.

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 오버 라이딩에

대해서는

https://lchit.tistory.com/40

 

자바 기초 배우기 24일차 [ 모듈, 패키지, 클래스, API, java.lang, ObjectClass ]

[ 모듈, 패키지, 클래스 ] ​ 모듈? 자바(객체지향)에서는 '모듈'이라는 것이 있다 이 모듈이란 패키지들을 묶어 관리는 것이다. ​ 자바에서는 기본적으로 제공하는 수많은 메서드가 있다 우리가 매일 쓰던 print..

lchit.tistory.com

참조 부탁드립니다

그다음 메인 부분이다

2.Main

1. 학생수를 입력받을 index 변수

2.index 변숫값을 크기로 하여금

객체 배열 생성

3.for문을 활용하여 입력받은 변수를

매개변수로 주어 객체 배열에 객체 생성

4.forEach문을 확 용 하여 출력