본문 바로가기

JAVA/JAVA 공부

(22)
Java 배열을 섞는 방법 Java 배열을 섞는 방법 자바에서 배열에 들어있는 원소를 셔플하는(섞는) 여러가지 방법이 등장했고, 사용되고 있다.그 중 가장 맘에 들고 직관적인 것을 사용하면 된다. 오늘 필자는 2가지의 방법을 소개하려고 한다.boolean 스위치랜덤 SwapBoolean 스위치1234567891011121314151617181920212223242526272829303132333435363738394041424344454647class shuffle{ public static void main(String[] args){ int arr[] = new int[50]; // int arr[] 0 ~ 49까지의 객체를 옮길 빈방을 생성한다. boolean _switch[] = new boolean[arr.length];..
10진수를 2진수, 16진수로 변환하는 방법 10진수를 2진수, 16진수로 변환하는 방법 진법을 변환하는 코드는 이미 기본적으로 제공하는 함수들이 있다. 급하다면 그 함수들을 이용해서 문제를 처리하면 된다. 하지만 지금 공부를 하고 있다면 직접 코드를 작성해보는 것이 큰 도움이 될 것이다. 10진수를 2진수, 16진수로 변환하는 코드 10진수의 수를 입력받아서 2진수와 16진수로 출력되게 하는 프로그램. 2진수와 16진수는 문자열로 만들어지고 출력된다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869import java.util.Scanner; public class ..
Java 버블 소트 Java 버블 소트 버블 소트는 소트들 중 효율이 좋은 방법은 아니다. 하지만 방법이 아주 쉽고 코드 또한 단순하기 때문에 자주 사용되는 소트 중에 하나 이다. 버블 소트는 인접한 두 수를 비교해서 조건에 맞게 두 위치를 바꾼다. 버블 소트의 정렬 과정 버블 소트 앞의 수가 뒷 수보다 크면 둘의 위치를 바꾸면서 마지막 수까지 비교하며 정렬한다. 소스코드123456789101112131415161718192021222324252627282930313233343536373839class bubbleSort{ public static void main(String[] args){ // TODO Auto-generated method stub /* * 오름차순 정렬 * 내림차순 정렬 * 최신 등록순 * 가격순 ..
Java의 이중배열 Java의 이중배열Java의 배열은 동일한 목적을 갖는 여러개의 변수를 한번에 선언해서 관리할 수 있는 기능을 제공한다. 앞에서 사용한 배열은 변수를 선형으로 담는 1차원 배열이다. 하지만 자바 그외의 다른 언어들은 선형의 1차원 배열이 아니라 2차원 배열도 제공한다. 2차원 배열의 개요2차원 배열의 선언2차원 배열의 사용방법2차원 배열의 사용 2차원 배열의 개요백문이 불여일견이기 때문에 그림으로 위의 구조를 설명해보자.변수는 특정 타입의 값(빨간색 원)을 저장하는 저장공간(파란 박스)이다.1차원 배열은 여러 개의 변수를 한번에 선언하고 사용한다. 배열(노란색 박스)안에는 여러개의 변수(파란색 박스)가 존재한다.2차원 배열은 여러 개의 1차원 배열을 한번에 선언하고 사용한다. 2차원 배열(초록색 박스)안..
Java의 배열 Java의 배열 자바의 배열을 선언하는 법과 배열을 사용하는 법 그리고 배열을 사용하면서 얻는 이점에 대해 학습합니다.자바의 배열을 사용하는 이유배열의 선언배열의 사용 방법배열( Array )배열을 사용하는 이유우리는 데이터를 저장하기 위해 변수를 선언하고 변수에 값을 저장한다. 내 나이 정보를 담기위해 age 변수를 선언하여 값을 저장하면 된다. 12 int age; age = 25; 그렇다면 학급에 모든 학생들의 정보를 담아야 할땐 어떻게 해야할까? 각 학생의 번호를 이름으로 하여 학생 일일이 변수를 선언해주는 방법이 있다. 12345678910 int age1 = 35; //학급번호 1번의 나이 int age2 = 23; //학급번호 2번의 나이 int age3 = 33; //학급번호 3번의 나이 ..
문자열이 숫자인지 아닌지 판별하는 함수 문자열이 숫자인지 아닌지 판별하는 함수 사용자에게 숫자를 콘솔에서 Scanner 를 통해 입력받아 처리를 하는 로직을 만들려고 한다. Scanner 의 .nextInt() 메소드를 통해 int 형 데이터의 입력을 기다린다고 가정해보자. 만약 유저가 int형이 아닌 double형이나 다른 타입의 숫자 또는 문자를 입력했을때, 에러를 띄우고 프로그램을 강제 종료한다.그렇다면 숫자든 문자든 입력이 됐을 때, 그것이 문자인지 숫자( 정수, 실수 )인지 판별하는 로직을 만들어주어야 한다.숫자도 문자이기 때문에 일단 Scanner 를 통해 문자열을 입력 받는다.반복문을 통해 문자열의 문자 하나하나의 아스키 코드값을 비교해서 0 ~ 9 (ASKII: 48 ~ 57) 사이에 있는지 체크해준다. ASKII 코드 는 문자..
continue vs break continue vs break 반복문을 쓸 때, 반복을 중단 시키는 용도의 break에 대해 학습하고, 또 break문에 반대되는 반복문을 계속 시키는 continue문에 대해 학습합니다.break문continue문break문우리는 특정 작업을 반복해서 해야할 때 반복문을 사용한다. 20번을 반복한다거나, 변수가 10보다 작을때 계속 반복한다 등의 조건을 갖는다. 그렇다면 반복문을 돌면서 양수를 20번 입력 받는다. 하지만, 중간에 음수가 입력되면 반복문을 종료한다. 다음과 같은 조건을 처리하기 위해서 break문 을 사용한다. 123456789101112131415import java.util.Scanner; class breakClass{ public static void main(String[] ..
Java 의 이해 Java 의 이해 Java 를 공부하기전 Java 가 어떤 특성을 가졌고, 어떤 환경에서 실행되는지 간략한 개요를 설명한다. Java 란? 가정용 단말기에 사용하려는 목적으로 만들어진 OAK언어에서 비롯 되었어 만들어진 가장 대표적인 객체 지향 언어이다. 현재 Java 언어는 앱개발, 웹개발 등 에서 사용되는 대표적인 프로그래밍 언어이다. Java란? Java 의 특징 이식성이 좋다 컴파일러에 의해 생성된 Java Byte Code는 하드웨어 또는 소프트웨어 플랫폼에서 효율적으로 전송이 가능하다 어떤 환경이든 관계없이 JVM만 설치되어 있다면 Java Byte Code를 실행할 수 있다. 객체지향 언어 Java는 대표적인 객체 지향 언어이다. 꾸준한 버젼 업데이트 Java는 꾸준한 버젼 업데이트를 제공한..