자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog

java for 문에서 마지막 콤마 제거하는 방법

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
railgun172021. 4. 18. 20:59

for 문을 사용해서 숫자나 문자를 나열하다 보면

1,2,3,4,5...

이렇게 나열하고 싶은데

1,2,3,4,5,

이렇게 출력될 때가 있다. 이런 상황에서 어떻게 하면 콤마를 제거할 수 있을까?

배열을 사용한다면 조건문을 사용하면 쉽게 해결할 수 있다.

if(i < arr.lenght -1)

System.out.print(", ");

위와 같은 문장을 사용하게 되면 배열의 크기보다 하나 적게 콤마를 출력하게 된다

package Chpater4; import java.util.Arrays; public class Q14 { public static void main(String[] args) { /* * Arrays 클래스의 sort()를 사용하면 배열 요소들을 크기 순으로 정렬할 수 있다. * 또 Arrays 클래스의binarySearch()을 이용하면 특정한 값을 탐색할 수 있다. * { 9, 8, 7, 6, 5, 4, 3, 2, 1 }의 값을 가지는 * 배열을 생성하고 배열을 정렬하고 3을 탐색하는 코드를 작성해보자. */ int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1}; Arrays.sort(arr); for(int i=0; i<arr.length; i++) { System.out.print(arr[i]); if (i < arr.length - 1) { // 마지막 배열에서 콤마를 출력하지 않는다. System.out.print(", "); } } System.out.println("\n3의 위치: "+Arrays.binarySearch(arr, 3)); } }

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog

자바 왕기초배열배열

배열에서 마지막 출력 i 값 확인 부탁드립니다.

2021년 5월 3일

740 조회

답변 2

applehch

LV

8

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog

applehch

LV

8

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog

질문 지켜보기를 시작하면 질문에 답변, 댓글이 달릴 때 알림을 받을 수 있어요.

댓글 0개

0

DevJonny

2021년 5월 3일

LV

37

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog

댓글 1개

1

2021년 5월 5일

답변 너무 감사합니다 잘 이해되었어요!

도도0122

2021년 5월 4일

LV

23

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog

댓글 1개

1

2021년 5월 5일

답변 너무 감사합니다! 원리를 한번 더 이해하려 했는데 너무 잘 이해되었어요!

질문 지켜보기

질문 지켜보기를 시작하면 질문에 답변, 댓글이 달릴 때 알림을 받을 수 있어요.

자바 반복문에 대해서 알아보자.

프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문이라고 하며, 제어문에는 조건문과 반복문이 있다.

반복문은 조건에 따라 문장이 반복 수행되도록 한다.

for문

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
for문 구조

for문의 구조는 위와 같으며, 조건식이 참인동안 괄호 안의 문장들을 반복하다 거짓이 되면 반복문을 벗어난다. 처음엔 초기값(변수에 최초의 값을 저장)을 실행하며, 조건식에 참일 동안 괄호 안에 문장을 반복 실행한다. 

초기치 >> 반복문에 사용될 변수를 초기화하는 부분이며 처음에 한번만 수행된다.

for(int i=1;i<=10;i++){  } //int타입 변수 i의 값을 1로 선언 및 초기화한다.

for(int i=1, j=1;i<=10;i++){  } //int타입 변수 i와 j를 선언 및 초기화한다.

조건식 >> 조건식의 값이 참일동안 반복을 계속하고, 거짓이면 반복을 중단해 for문을 벗어난다.

for(int i=1;i<=10;i++){  } //i<=10일 동안 괄호안의 문장을 반복 수행한다.

증감식 >> 반복문을 제어하는 변수의 값을 증가 또는 감소시킨다. 문장이 1번 실행될 때마다 변수의 값이 증감되어 나중에 조건식이 거짓이 되어 for문을 벗어난다.

for(int i=1;i<=10;i++){  }  // i가 1씩 증가된다.

for(int i=10;i>=1;i--){  }  // i가 1씩 감소된다.

for(int i=1;i<=10;i+=2){  }  // i가 2씩 증가된다. (i+=2 > i=i+2)

세 가지 요소들은 쉼표를 이용해서 두 문장 이상을 하나로 연결해서 쓸 수있다. 또한 이 요소들은 필요하지 않으면 생략할 수 있으며, 모두 생략도 가능하다. >> for( ; ; ) { } 으로 무한반복문이 된다.

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
for문 예제 1

위의 예제를 보면, for문에서 i=0으로 선언 및 초기화를 하며, 조건식이 i<5로 i가 0~4일 때까지 총 5번 반복하게된다. 출력 결과로는 "Hello java"라는 문장이 5번 출력된다.

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
for문 예제 2

위의 예제를 보면, for문에서 i=2로 선언 및 초기화를 하며, 조건식이 i<=10으로 i가 2~10일 때까지 총 5번 반복하게된다. (왜냐하면 증감식에서 i가 2씩 증가되므로 i=2, 4, 6, 8, 10이 된다.) 출력 결과로는 변수 sum에 i의 값이 계속 더해지면서 2+4+6+8+10으로 "짝수들의 누적합 =30"이 출력된다.

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
for문 예제 3

위의 예제를 보면, 일단 Scanner 클래스에서 반복횟수를 입력 받으며, 이 반복횟수는 변수 num에 대입된다. 아래 for문에서는 i=0으로 선언 및 초기화를 하며, i<num으로 아까 입력받은 반복횟수 미만으로 만약 num=5가되면 i는 0,1,2,3,4로 총 5번 아래 문장이 실행되어 "#####"가 출력된다.


확장 for문 (향상된 for문) >>JDK1.5 이상

확장 for문은 JDK 1.5이상 부터 배열과 컬렉션에 저장된 요소에 기존 for문 보다 접근하기 편리한 방법으로 처리할 수 있도록 새롭게 추가되었다.

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
확장 for문 구조

확장 for문의 구조는 위와 같으며, 세미콜론(;)이 아닌 콜론(:)으로 구분한다. 변수명 : 배열명으로 선언한 뒤, 변수명을 출력하면 해당 인덱스대로 배열원소값이 출력된다. 확장 for문은 일반적인 for문과 달리 배열과 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용할 수 있다.

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
확장 for문 예제 1

위의 예제를 보면, k변수를 선언하고, score 배열에 대한 원소값을 출력하는 확장 for문이다. 또는 sum변수를 선언하고, sum+=k; 문장을 추가해 score변수의 원소값의 누적합들도 구할 수 있다.

자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
확장 for문 예제 2
자바 for문 마지막 값만 출력 - jaba formun majimag gabsman chullyeog
출력

위의 예제를 보면, str변수를 선언하고, names 배열에 대한 원소값을 출력하는 확장 for문이다. 추가로 rev변수를 선언해서 rev=str+rev;문장으로 원소값들을 거꾸로 출력되게 할 수 있다. print(str+" ");에서 배열 원소값 그대로 "김 Park Yi"가 출력되며, println("\n"+rev);에서는 배열 원소값이 거꾸로 출력되어 "YiPark김"이 출력된다.