자바 배열과 문자열 실습 예제 모음 🔍|모음 개수 세기부터 배열 평균까지
배열과 문자열, 자바에서 가장 자주 쓰이는 두 가지를 한 번에 실습해볼 수 있는 기회! 자바 초보자분들, 지금 이 실습으로 개념 정리하고 실력도 키워보세요 😊
안녕하세요! 오늘은 자바(Java)의 핵심 중 하나인 배열과 문자열 처리를 실제 코딩 예제를 통해 익혀보는 시간을 가져보려 합니다. 우리가 자바를 배우면서 가장 처음 만나게 되는 자료형 중 하나가 바로 문자열과 배열이죠. 각각 따로 배웠던 개념을 이번에는 한 번에 묶어서, 모음 개수 세기, 배열 요소 평균 및 최대값 구하기 같은 간단하면서도 꼭 필요한 예제를 실습해볼 거예요. 복잡한 알고리즘보다 자바 문법을 자연스럽게 익히는 데에 초점을 맞췄으니, 특히 자바 입문자라면 끝까지 따라와 보세요! 그럼 시작해볼까요? 😎
목차
1. 문자열에서 모음 개수 세기 🅰️
프로그래밍을 시작하면 누구나 한 번쯤은 만나게 되는 문자열 처리 문제! 그중에서도 가장 기본적인 문제 중 하나가 바로 모음 개수 세기입니다. 이 문제는 문자열 순회, 조건문, 문자 비교 등의 다양한 개념을 복습할 수 있는 아주 유용한 예제예요.
예제 코드: 문자열에서 모음 개수 찾기
public class VowelCounter {
public static void main(String[] args) {
String input = "Java is Awesome!";
int count = 0;
char[] vowels = {'a', 'e', 'i', 'o', 'u'};
for (int i = 0; i < input.length(); i++) {
char ch = Character.toLowerCase(input.charAt(i));
for (char v : vowels) {
if (ch == v) {
count++;
break;
}
}
}
System.out.println("모음 개수: " + count);
}
}
이 코드는 문자열 input
에서 모음을 찾아 그 개수를 출력하는 간단한 예제입니다. Character.toLowerCase()
로 대소문자 구분을 없애고, 배열 vowels
로 모음을 비교해요.
💡 꼭 기억할 개념 정리
-
charAt(i)
로 문자열에서 한 글자씩 꺼낼 수 있어요 -
Character.toLowerCase()
를 사용해 대소문자를 무시하고 비교 가능 - 배열을 이용하면 다수의 조건을 한 번에 비교할 수 있어서 코드가 간결해져요
📌 연습 문제 팁
문자열에 포함된 자음 개수도 세보는 응용 문제를 스스로 만들어 보는 것도 추천드려요! 조건문 익히기에 아주 좋아요.
2. 배열 요소의 평균과 최대값 구하기 📊
이번에는 배열(Array)을 활용한 실습으로 넘어가볼게요. 실생활에서 자주 쓰이는 배열 처리 중 가장 기본은 평균 구하기와 최대값 찾기입니다. 자바에서 반복문과 조건문을 어떻게 활용하는지 익힐 수 있는 좋은 기회죠!
예제 코드: 배열 평균과 최대값 구하기
public class ArrayStats {
public static void main(String[] args) {
int[] scores = {70, 85, 90, 65, 100};
int sum = 0;
int max = scores[0];
for (int score : scores) {
sum += score;
if (score > max) {
max = score;
}
}
double average = (double) sum / scores.length;
System.out.println("배열 평균: " + average);
System.out.println("최대값: " + max);
}
}
이 코드는 정수 배열 scores
에서 전체 합계를 구하고, scores.length
로 나눠 평균을 계산합니다. 동시에 if
조건문을 이용해 최대값도 찾고 있죠. 반복문 하나로 두 가지 처리를 함께 할 수 있어 효율적입니다!
📌 꼭 짚고 넘어가야 할 포인트
-
scores.length
는 배열의 크기를 동적으로 알 수 있어서 매우 유용해요 -
max = scores[0]
처럼 배열의 첫 요소로 초기화해 놓고 비교하는 방식은 자주 사용돼요 - 평균을 구할 때
(double)
형변환을 하지 않으면 정수형으로 잘려나가요!
💬 잠깐! 이런 실수 조심하세요
sum / scores.length
처럼 계산하면 결과가 정수로 나와서 평균이 잘못될 수 있어요. 꼭 double 형변환을 해주세요!
실제로 실무에서도 평균과 최대값 구하는 로직은 통계나 데이터 처리 등 여러 분야에서 빈번하게 활용돼요. 그러니까 이번 기회에 확실하게 익혀두는 걸 추천드립니다 😊
3. 문자열과 배열을 함께 활용하는 팁 💡
앞서 각각 실습한 문자열 처리와 배열 연산을 이제는 하나의 프로그램에 통합해볼 시간이에요. 왜냐하면, 실제 개발을 하다 보면 문자열을 배열로 바꾸거나, 배열을 이용해 문자열을 가공하는 일이 정말 많거든요. 그러니까 두 가지를 동시에 다루는 감각을 익히는 게 중요해요.
예제 코드: 문자열을 배열로 변환하여 처리
public class CharArrayDemo {
public static void main(String[] args) {
String message = "Hello Java";
char[] chars = message.toCharArray();
int vowelCount = 0;
for (char c : chars) {
if ("aeiouAEIOU".indexOf(c) != -1) {
vowelCount++;
}
}
System.out.println("문자열 길이: " + chars.length);
System.out.println("모음 개수: " + vowelCount);
}
}
위 예제에서는 String.toCharArray()
를 사용해서 문자열을 문자 배열로 바꾸고, 이를 반복문으로 순회하면서 모음을 체크했어요. 문자열과 배열을 자유롭게 오가며 사용하는 연습을 해보는 데 아주 좋죠!
🔍 자주 쓰이는 String ↔ Array 변환
변환 방향 | 사용 메서드 | 예시 |
---|---|---|
문자열 → 문자 배열 | toCharArray() |
"abc".toCharArray() |
문자열 → 문자열 배열 | split() |
"a,b,c".split(",") |
문자 배열 → 문자열 | new String(char[]) |
new String(chars) |
자바에서 문자열과 배열은 서로 변환이 자유롭기 때문에, 이 개념을 정확히 알고 있어야 응용력이 높아집니다!
이제 실습에서 문자열과 배열을 어떻게 함께 활용하는지 감이 오셨죠? 그럼 다음 섹션에서는 직접 실습 프로젝트를 진행해보면서 개념을 굳혀볼게요 💪
4. 실습 예제 따라 해보기 ✍️
지금까지 배운 내용을 한데 모아, 실제 프로그램을 만들어 볼 시간이에요. 이번 실습은 다음 두 가지 기능을 한 번에 구현해보는 거예요:
- 사용자에게 문자열 입력을 받아 모음 개수를 세기
- 숫자 배열을 만들어 평균과 최대값을 출력
실습 코드 전체 예시
import java.util.Scanner;
public class CombinedPractice {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 문자열 처리: 모음 개수 세기
System.out.print("문자열을 입력하세요: ");
String input = scanner.nextLine();
int vowelCount = 0;
for (char ch : input.toCharArray()) {
if ("aeiouAEIOU".indexOf(ch) != -1) {
vowelCount++;
}
}
System.out.println("모음 개수: " + vowelCount);
// 배열 처리: 평균과 최대값
int[] nums = {15, 29, 31, 8, 22};
int sum = 0;
int max = nums[0];
for (int num : nums) {
sum += num;
if (num > max) {
max = num;
}
}
double average = (double) sum / nums.length;
System.out.println("배열 평균: " + average);
System.out.println("배열 최대값: " + max);
scanner.close();
}
}
이 예제에서는 사용자에게 문자열을 입력받고, Scanner
클래스를 이용해 모음 개수를 출력합니다. 이어서 정해진 배열에서 평균과 최대값도 함께 출력하는 복합 실습이에요.
💎 실습을 더 풍부하게 만드는 꿀팁
- 입력받은 문자열에서 자음 개수도 세보세요
- 배열을 사용자 입력으로 만들어보세요
- 최소값도 함께 구해보면 더 좋겠죠?
단순한 실습 같지만, 이 안에 조건문, 반복문, 배열, 문자열, 입력 처리까지 자바의 핵심 문법이 모두 담겨 있어요!
5. 초보자가 자주 하는 실수와 해결법 🛠️
코딩 실습을 하다 보면 사소한 실수 하나 때문에 실행이 안 되거나, 원하는 결과가 나오지 않아 당황하는 경우가 많아요. 특히 배열과 문자열을 다룰 때는 자바 문법 특성상 주의해야 할 부분들이 꽤 있어요. 여기, 제가 직접 경험했던 실수와 그 해결법을 소개할게요 😅
1️⃣ 문자열 관련 실수
- 대소문자 비교 시
equals()
를 쓰지 않고==
사용 → 비교 오류 발생 -
toCharArray()
를 쓰지 않고 문자열을 반복하려고 함 →charAt(i)
사용을 잊음
2️⃣ 배열 관련 실수
-
ArrayIndexOutOfBoundsException
발생 → 배열의 크기를 벗어나는 인덱스를 잘못 참조 -
max
초기화를0
으로 해버림 → 음수가 있는 배열일 경우 잘못된 최대값 도출
🚨 실수를 줄이기 위한 팁
- 문자열 비교는 항상
equals()
또는equalsIgnoreCase()
사용 - 배열의 크기는
.length
로 동적으로 확인 - 디버깅 시
System.out.println()
을 자주 활용해보세요!
처음엔 실수하는 게 당연해요. 중요한 건 실수에서 배워서 코드를 점점 탄탄하게 다듬는 거랍니다 💪
6. 오늘의 실습 정리 및 다음 단계 안내 🔁
여기까지 따라오셨다면 정말 수고 많으셨습니다! 😊 오늘은 자바의 기본 중에서도 특히 중요한 문자열과 배열을 함께 다루는 실습을 통해, 이 두 자료형이 실제로 어떻게 연결되어 있는지를 실감해보셨을 거예요.
처음엔 어렵게 느껴졌던 charAt()
, toCharArray()
, for-each
문, 그리고 if
조건문까지... 이제는 익숙해지셨겠죠? 코드는 많이 작성해볼수록 감이 생겨요. 오늘 만든 실습 예제를 기반으로 해서 여러분만의 프로그램도 만들어보면 훨씬 기억에 오래 남을 거예요.
🧭 다음에 해보면 좋은 연습
- 문자열에서 자주 쓰이는 단어의 등장 횟수 세기 (ex. "the" 개수 세기)
- 사용자 입력을 받아 정수 배열을 만들고, 최소값과 최대값 구하기
- 문자열을 뒤집는 함수 구현해 보기 (배열로 변환한 후 처리)
이런 연습들이 쌓이면, 나중에 알고리즘 문제도 훨씬 쉽게 풀 수 있어요! 자바 기초 튼튼히 다지고, 자신감도 함께 쑥쑥 키워가시길 바랄게요 💙
다음 글에서는 StringBuilder를 활용해 문자열을 효율적으로 다루는 방법을 다룰 예정이니 기대해 주세요! 그럼 오늘도 멋진 코딩 하시고, 다음 글에서 또 만나요 🙌
🔚 마무리하며
오늘 포스팅에서는 자바 배열과 문자열을 활용해 꼭 필요한 실습 예제들을 살펴봤어요. 문자열에서 모음 개수를 세고, 배열에서 평균과 최대값을 구하는 간단한 예제지만, 이 안에 자바의 기본기가 다 담겨 있었죠.
코드를 직접 작성하고 출력해보며 ‘왜 이렇게 되는 걸까?’를 스스로 생각해보는 습관이 중요합니다. 실수해도 괜찮아요. 오히려 그 과정에서 얻는 게 더 많아요. 작은 실습에서 자신감을 얻고, 점점 더 큰 프로그램에 도전해보세요. 🙌
다음 포스트에서는 StringBuilder
와 같이 성능 향상에 도움이 되는 문자열 클래스에 대해 더 자세히 알아볼 예정이에요. 블로그 구독하고 계속 함께 공부해요 💡
'JAVA' 카테고리의 다른 글
자바 문자열 함수 완전정복 💡 String과 StringBuilder 완벽 가이드 (2) | 2025.06.12 |
---|---|
자바 String 클래스 완전정복: 불변객체와 메모리 구조까지 한눈에! (2) | 2025.06.11 |
파이썬 2차원 배열 완전정복: 행렬과 좌석 배치 예제로 쉽게 배우기 (1) | 2025.06.10 |
4.2 배열 원소 접근과 반복문 활용법 완전정복 🔄 초보자를 위한 자바 배열 처리 가이드 (1) | 2025.06.09 |
4.1 배열의 개념과 선언: 배열 선언과 초기화부터 인덱스까지 쉽게 배우기 (1) | 2025.06.05 |