이 글에서는 Java에서 ArrayList를 함수의 인수(argument)로 전달하는 방법을 단계별로 알아봅니다. ArrayList 클래스는 크기가 자동으로 늘어나고 줄어드는 동적 배열(resizable array)로, java.util 패키지에 포함되어 있습니다. 일반 배열과 ArrayList의 가장 큰 차이점은 다음과 같습니다. 일반 배열: 선언 시 크기가 고정되며 이후 변경할 수 없습니다. ArrayList: 요소를 추가하거나 삭제할 때마다 크기가 유동적으로 변합니다. 함수에 ArrayList를 인수로 넘기면 하나의 데이터
이번 글에서는 자바(Java)에서 람다식(Lambda Expression)을 활용해 ArrayList를 반복하는 방법을 예제 코드와 함께 단계별로 살펴보겠습니다.ArrayList 클래스는 크기가 자동으로 늘어나거나 줄어드는 가변 크기 배열(resizable array)로, java.util 패키지에 포함되어 있습니다. 자바의 기본 배열과 ArrayList의 가장 큰 차이점은 기본 배열은 한 번 생성하면 크기를 변경할 수 없지만, ArrayList는 요소를 자유롭게 추가·삭제할 수 있어 훨씬 유연하다는 점입니다.예제 미리 보기입력 −
이 글에서는 Java를 사용하여 달력의 날짜를 여러 가지 형식으로 출력하는 방법을 알아보겠습니다. Java에는 기본적으로 내장된 Date 클래스가 없지만, java.time 패키지를 임포트하면 날짜와 시간 API를 자유롭게 활용할 수 있습니다. 이 패키지에는 다양한 날짜·시간 관련 클래스들이 포함되어 있어 손쉽게 원하는 형식으로 날짜를 변환할 수 있습니다.실행 결과 미리 보기프로그램을 실행하면 아래와 같이 세 가지 서로 다른 형식의 날짜가 출력됩니다.첫 번째 날짜 형식: 2022-03-17T23:37:37.623304800두 번째
이 글에서는 Java를 사용하여 현재 날짜와 시간을 화면에 출력하는 방법을 알아보겠습니다.Java에는 별도의 내장 Date 클래스가 존재하지 않습니다. 대신 java.time 패키지를 임포트하면 다양한 날짜·시간 관련 클래스를 활용할 수 있습니다. 이 패키지에는 LocalDateTime, DateTimeFormatter 등 날짜와 시간을 손쉽게 다룰 수 있는 클래스들이 포함되어 있습니다.실행 결과 미리 보기프로그램을 실행하면 아래와 같은 결과를 얻을 수 있습니다.현재 날짜와 시간은: 2022/03/17 23:43:17알고리즘프로그램
이 글에서는 Java를 사용하여 서로 다른 국가의 날짜·시간 형식으로 값을 표시하는 방법을 알아봅니다.Java에는 기본적으로 내장된 Date 클래스가 없지만, java.time 패키지를 임포트하면 날짜와 시간 API를 자유롭게 활용할 수 있습니다. 이 패키지에는 다양한 날짜 및 시간 관련 클래스들이 포함되어 있으며, 여기에 Locale과 DateFormat을 함께 사용하면 특정 국가의 언어와 문화에 맞는 형식으로 날짜를 손쉽게 출력할 수 있습니다.실행 결과 미리 보기입력 −프로그램 실행기대 출력 −영국(England) 형식: Fri
이 글에서는 현지 시간(Local Time)을 GMT(그리니치 표준시)로 변환하는 방법을 알아보겠습니다. Java에는 기본으로 제공되는 내장 Date 클래스가 없지만, java.time 패키지를 임포트하면 날짜와 시간 API를 자유롭게 활용할 수 있습니다. 이 패키지에는 다양한 날짜·시간 관련 클래스가 포함되어 있습니다.아래는 실제 변환 결과를 보여주는 예시입니다.입력 예시현지 시간: Fri Mar 18 00:01:54 IST 2022출력 예시GMT 기준 시간: 17/03/2022 18:31:54알고리즘1단계 - 시작합니다. 2단계
Java에서 char 타입을 문자열(String)로 변환하려면 toString()과 valueOf() 메서드를 사용합니다. 두 메서드 모두 어떤 데이터 타입이든 문자열로 변환할 수 있으며, char를 문자열로 변환하는 경우에는 동일하게 동작합니다. 프로그래밍에서 데이터 타입은 특정 종류의 데이터를 서로 구분하기 위해 사용됩니다. 예를 들어 문자열은 텍스트 기반 데이터를 저장하고, 부동소수점 숫자는 소수점이 있는 숫자를 저장합니다. 값이 가지는 데이터 타입에 따라 값을 조회하고 조작하는 방식이 달라집니다. 그래서 Java 개발 과
자바 피보나치 알고리즘 가이드 피보나치 수열(Fibonacci Sequence)은 바로 앞에 있는 두 수를 더하여 다음 수를 계산해 나가는 수열입니다. 이 수열은 수학 분야에서 유명할 뿐만 아니라 자연 속에서도 쉽게 찾아볼 수 있습니다. 대표적인 예로, 대부분의 꽃잎은 피보나치 수열과 같은 패턴으로 배열되어 있습니다. 이번 가이드에서는 자바(Java)를 사용해 피보나치 수열을 계산하는 방법을 살펴보겠습니다. 초보자도 쉽게 따라올 수 있도록 두 가지 피보나치 알고리즘을 단계별로 설명합니다. 피보나치 수열이란? 피보나치 수열은
5~10년 전만 해도 자바를 배우는 일은 지금처럼 쉽지 않았습니다. 당시에는 컴파일러와 인터프리터가 포함된 JDK(Java Development Kit)를 직접 내려받아 자신의 컴퓨터에 설치해야 했죠. 하지만 요즘은 무료로 사용할 수 있는 온라인 자바 컴파일러가 매우 다양합니다. 이 글에서는 자바 언어가 어떻게 컴파일되는지 그 원리를 단계별로 살펴보고, 연습과 실제 프로젝트 제작에 활용할 수 있는 온라인 도구들을 소개합니다.자바 프로그램은 어떻게 실행될까?자바는 완전한 컴파일 방식의 프로그래밍 언어도 아니고, 동시에 완전한 인터프리
자바(Java) 프로그래밍의 세계에 오신 것을 환영합니다. 프로그래밍을 처음 배우는 사람이라면 가장 먼저 도전해야 할 과제가 바로 Hello, World! 프로그램입니다. 이 프로그램은 콘솔(화면)에 메시지를 출력하는 아주 간단한 코드로, 텍스트 한 줄을 화면에 나타내는 것이 전부입니다.이 가이드에서는 Hello, World! 예제 프로그램을 직접 작성해 보고, 그 코드가 어떻게 동작하는지 하나씩 설명해 드립니다. 과정을 따라 하다 보면 자바 프로그램을 구성하는 기본 요소들을 자연스럽게 익힐 수 있습니다.시작하기 전 준비 사항본격적
자바에서 스택(Stack)은 후입선출(LIFO, Last-In First-Out) 방식으로 동작하는 자료구조입니다. 즉, 스택에서 가장 먼저 제거되는 요소는 가장 마지막에 추가된 요소입니다. 새로운 요소는 항상 스택의 끝(꼭대기)에 추가되며, 자바의 Stack 클래스는 Vector 클래스를 확장하여 만들어졌습니다. 프로그래밍에서 스택은 데이터를 저장하기 위해 사용되는 후입선출(LIFO) 자료구조입니다. 스택은 다양한 상황에서 유용하게 활용됩니다. 예를 들어, 리스트의 대칭 여부를 검사하거나 리스트의 순서를 뒤집을 때 스택을 사용할
Java의 substring() 메서드는 특정 문자열에서 원하는 부분만 잘라 새로운 문자열로 반환하는 기능을 합니다. 이 메서드는 추출하고자 하는 문자들의 시작 인덱스와 끝 인덱스 값을 매개변수로 받으며, 원본 문자열은 변경되지 않고 그대로 유지됩니다. Java 프로그램을 작성하다 보면 문자열에서 특정 부분만 추출해야 하는 경우가 자주 발생합니다. 이럴 때 바로 substring() 메서드가 유용하게 사용됩니다. substring() 메서드는 지정한 시작 인덱스부터 선택적인 끝 인덱스까지의 부분 문자열을 반환합니다. 이 글에서
Math.random() 메서드는 자바에서 0.0 이상 1.0 미만의 의사난수(pseudorandom number)를 생성하는 대표적인 방법입니다. 생성된 값에 다른 숫자를 곱하면 0~1 범위를 벗어난 원하는 범위의 난수도 손쉽게 만들 수 있으며, 결과값은 0이 될 수는 있지만 절대 1보다 크거나 같지 않습니다. 프로그래밍을 하다 보면 무작위 숫자가 필요한 상황이 자주 발생합니다. 예를 들어 크루즈 여행사를 운영한다고 가정해 봅시다. 고객의 주문 끝에 붙여 예약 참조 번호로 사용할 난수를 생성해야 할 수 있습니다. 아니면 숫자 맞
Java의 charAt() 메서드는 문자열에서 특정 인덱스 위치에 있는 문자를 반환합니다. 문자열의 첫 번째 문자는 인덱스 0을 가지며, charAt()은 단일 문자만 반환할 뿐 문자 범위를 반환하지 않습니다.Java에서 문자열을 다루다 보면 문자열의 특정 위치에 어떤 문자가 있는지 확인해야 할 때가 있습니다. 바로 이럴 때 charAt() 메서드가 유용합니다. Java의 charAt() 메서드는 문자열에서 특정 위치에 해당하는 문자를 찾는 데 사용됩니다.예를 들어, 미국 전화 지역번호에 해당하는 지역 정보를 조회하는 프로그램을 작
Java의 toCharArray() 메서드는 문자열(String)을 char 배열로 변환합니다. 이 메서드를 사용하면 문자열 내 개별 문자들을 배열 요소처럼 자유롭게 다룰 수 있으며, 공백, 숫자, 알파벳 등 모든 문자가 char 배열에 그대로 담깁니다. 코딩을 하다 보면 Java 문자열을 char 배열로 변환해야 하는 경우가 종종 있습니다. 예를 들어 학생 성적 목록을 저장하는 애플리케이션을 개발한다고 가정해 봅시다. 문자열 형태로 저장된 성적들을 배열로 변환하면 배열이 제공하는 다양한 메서드를 활용해 데이터를 훨씬 편리하게 조
자바의 continue 문은 루프 내 현재 반복을 중단하고 다음 반복으로 넘어가도록 만드는 제어문입니다. 이 문을 사용하면 루프 전체를 멈추지 않고도 특정 반복만 건너뛸 수 있으며, for 루프와 while 루프 모두에서 사용할 수 있습니다. 자바의 for 루프와 while 루프는 작업을 자동화하고 반복 실행하는 데 사용됩니다. 그런데 때로는 루프의 일부를 건너뛰고 프로그램이 계속해서 루프를 실행하도록 하고 싶은 경우가 생깁니다. 예를 들어, 학생이 시험에 합격했는지 불합격했는지 판정하는 프로그램을 만든다고 가정해 보겠습니다.
Collections.sort() 메서드는 자바 ArrayList를 오름차순으로 정렬하며, Collections.reverse() 메서드는 ArrayList의 요소 순서를 뒤집습니다. 이 두 메서드를 사용하려면 java.util.Collections 패키지를 임포트해야 합니다. 자바에서 ArrayList 정렬하는 방법 자바로 개발하다 보면 ArrayList를 오름차순 또는 내림차순으로 정렬해야 하는 경우가 종종 있습니다. 예를 들어, 학생 명단을 가나다순(알파벳순)으로 정렬해야 한다고 가정해 봅시다. 바로 이런 상황에서 Col
자바의 삼항 연산자(ternary operator)를 사용하면 if 문을 한 줄의 코드로 작성할 수 있습니다. 삼항 연산자는 주어진 조건식이 참(true)인지 거짓(false)인지 평가하고, 그 평가 결과에 따라 서로 다른 값을 반환합니다. 자바에서는 프로그램의 실행 흐름을 제어하기 위해 if...else 문을 사용합니다. if 문은 표현식이 참인지 거짓인지 판단하며, 조건이 true일 때 특정 코드 블록을 실행합니다. 그러나 if...else 문은 여러 줄에 걸쳐 작성됩니다. 단순한 조건 하나를 평가하는 데도 코드가 불필요
자바(Java)의 break 문은 반복문의 실행을 즉시 중단합니다. break 문이 실행되면 프로그램은 해당 반복문 이후에 작성된 다음 코드로 넘어갑니다. 만약 break 문이 중첩된 반복문 안에서 사용된다면, 가장 안쪽에 있는 반복문만 종료됩니다. 자바의 for 루프와 while 루프는 반복적인 작업을 자동화할 때 사용됩니다. 이러한 반복문을 다루다 보면 특정 조건이 충족되었을 때 반복문을 빠져나가야 하는 경우가 생깁니다. 바로 이럴 때 자바 break 문이 유용합니다. break 문은 반복문을 완전히 멈추는 데 사용됩니다.
자바의 선택 정렬은 리스트에서 가장 작은 값을 찾아 리스트의 맨 앞으로 이동시키는 알고리즘입니다. 이 과정을 반복하면 리스트의 모든 요소가 정렬되며, 최종적으로 정렬된 리스트가 반환됩니다. 자바에서 리스트를 정렬하려면 어떻게 해야 할까요? 여러 가지 방법이 있지만, 그중 하나가 바로 선택 정렬(Selection Sort)입니다. 이 글에서는 선택 정렬이 무엇인지, 어떤 원리로 동작하는지 살펴보고, 직접 자바 코드로 구현하는 방법까지 단계별로 안내해 드립니다. 자바 선택 정렬이란? 선택 정렬은 리스트에서 최솟값을 반복적으로 찾