Java/Java 기본 45

배열 (Array)

배열 (Array) 1. 배열이란? 배열은 순서(index)와 그 순서에 대응하는 데이터들로 이루어진 자료구조이다. 배열에는 같은 타입의 데이터들이 순차적으로 저장된다. 변수를 선언하기 위해서는 변수의 타입과 이름을 지정해 주어야 한다. 또, 그 변수의 값을 사용하기 위해서는 변수의 이름을 통해서 값에 접근해야 한다. 그런데, 변수의 수가 많아져서 하나하나 선언을 하기가 힘들 때에 배열을 사용하면 매우 효과적이다. 처음 배열을 선언할 때에 배열의 이름과 크기만 지정해주면 된다. 그 이후에는 배열 내의 원소들의 순서에 맞춰서 배열 내의 각 공간에 접근하면 된다. 간단한 예시를 통해서 살펴보도록 하자. 10개의 변수 i1부터 i10에는 각각 고유한 정수 값이 저장되어 있다. 이들의 총합을 알아내기 위해서는 ..

Java/Java 기본 2018.06.11

continue 문과 break 문

continue 문과 break 문 반복문이 실행되는 동안 작업문 내에 continue 문이나 break 문을 이용하여 반복의 흐름을 변경할 수 있다. break 문은 반복문을 벗어나기 위해 사용되며 continue 문은 반복을 한 번 건너뛰기 위해 사용된다. 1. continue 문 continue 문은 반복문을 완전히 빠져나가지 않으면서 반복문 내의 작업문을 건너뛸때 사용한다. 작업문 실행 도중 다음 반복으로 진행하는 효과가 있다. 예시를 통해서 자세히 알아보도록 하자. i.e. int sum = 0; for (int i = 0; i

Java/Java 기본 2018.06.11

중첩 반복

중첩 반복 (nested loop) 자바에서, 반복문은 다른 반복문을 내포할 수 있다. 즉, 반복문 안에 다른 반복문이 올 수 있다. 이것을 중첩 반복이라 한다. i.e.int k; for (int i = 0; i < 10; i++) { for (int j = 0; j < i; j++) { k = i + j;System.out.println("i + j = " + k);}} 이론적으로는 몇 번이고 중첩 반복이 가능하지만, 너무 많은 중첩 반복은 프로그램 구조를 복잡하게 하므로 보통 2중 또는 3중 반복 정도가 적당하다. 일반적으로, 중첩 반복은 반복의 범위가 명확한 for 문을 주로 이용한다.

Java/Java 기본 2018.06.11

while 문 & do-while 문

while 문과 do-while 문 1. while 문 while 문의 구문은 다음과 같다. while ( 조건식) {..작업문..} - 조건식 조건식은 for 문의 조건식과 동일하다. true인 경우에는 계속 반복되며, false인 경우에 반복을 종료하고 while 문을 벗어난다. for 문과는 달리 조건식이 없으면 컴파일 오류가 발생하게 된다. while 문은 for 문과 달리 초기문과 반복 후 작업문이 없다. 따라서 조건식에 사용되는 변수는 while 문 전에 선언과 초기화가 반드시 되어 있어야 한다. 또한 반복이 진행되면서 조건식을 false로 만들 수 있도록 설계되어야 한다. 그렇지 않으면 무한 반복에 빠지게 된다. 2. do-while 문 do-while 문의 구문은 다음과 같다. do {....

Java/Java 기본 2018.06.11

for문

for 문 반복문들 중에서 가장 많이 사용되는 for 문의 구문은 다음과 같다. for (초기문; 조건식; 반복 후 작업) {작업문..} 1. 초기문 for 문의 초기문에서는 대개 for 문의 조건식에서 사용하는 변수를 초기화한다. 초기문의 특징을 나열하면 다음과 같다.1) 초기문은 시작할 때 한 번만 수행된다.2) 콤마(,)로 분리하여 여러 문장을 나열할 수 있다.3) 초기문을 빈 상태로 두어도 된다. i.e.int i = 0;for ( ; i < 10; i++) { //빈 초기문......}int j, k;for (j = 0, k = 0; j 무한 루프......} 3. 반복 후 작업 for 문 내의 작업문이 실행된 후 반복 후 작업문이 실행된다. 반복 후 작업문 역시 콤마(,)로 분리하여 여러 문장..

Java/Java 기본 2018.06.10

반복문

반복문 이름에서부터 알 수 있듯이, 반복문이란 반복 작업을 쉽게 하도록 도와주는 도구이다. 자바에서 반복문은 for 문, while 문, do-while 문의 세 가지뿐이다. (for-each 문의 경우 for 문의 응용 형태이므로 같은 반복문으로 취급하자) for 문은 반복하는 횟수가 정해진 경우에 주로 이용하며, while 문과 do-while 문은 반복 횟수가 정해지지 않고 조건에 따라 반복이 계속되거나 중단되는 경우에 이용한다. while 문은 반복 조건을 처음부터 따지는 경우에, do-while 문은 반복 조건을 나중에 따지는 경우에 적합하다. 또한, for 문의 경우 내부에 조건식이 없어도 컴파일 오류가 생기지 않는 반면에, while 문과 do-while 문의 경우 조건식이 없으면 컴파일 오..

Java/Java 기본 2018.06.10

조건문

조건문 조건문은 상황에 따라 어떤 문장은 수행하고 싶고, 어떤 문장은 수행하고 싶지 않을 때에 사용한다. 조건문을 이용하여 조건의 참, 거짓에 따라 서로 다른 작업을 수행할 수 있다. 자바에서 조건문으로는 if문, if-else문, 그리고 switch문이 있다. 1. 단순 if문 단순 if문의 구문은 다음과 같다. if ( 조건식 ) {실행 문장...} 여기서 조건식은 비교 연산식이거나 논리 연산자와 혼합된 식으로 구성되며 결과는 불린 값이다. 조건식이 true이면 if 내부의 실행 문장이 실행되며, false이면 if 문을 벗어난다. 조건식은 노리 타입 변수 하나만으로도 구성이 가능하다. 만약 실행 문장이 한줄이라면 다음과 같이 {} 없이 표현 할 수도 있다. if ( 조건식 ) 실행문장; if (조건..

Java/Java 기본 2018.06.10

연산자

연산자 1. 식과 연산자 주어진 식(expression)을 계산하여 결과를 얻어내는 과정을 연산이라고 한다.연산에는 연산자와 피연산자가 사용이 된다. 1) 식 : a+5; n > 23; a == n; 2) 연산자 : ==, +, -, %, *, !=, >> 등...자바에는 산술 연산자, 논리 연산자, 비교 연산자, 시프트 연산자, 비트 연산자, 대입 연산자, 증감 연산자, 그리고 조건 연산자가 있다. 3) 피연산자 : 연산이 이루어지는 데이터를 피연산자라고 한다.예) a, 5, n, 23 등 2. 연산자 우선순위 식에 여러 개의 연산자가 있는 경우, 우선순위가 높은 연산자를 먼저 처리한다. (상위에 있을수록 우선순위가 높은 연산자이다!) 동일한 우선순위를 가진 연산자는 왼쪽에서부터 오른쪽으로 처리하나, ..

Java/Java 기본 2018.06.09

자바에서의 키 입력

자바에서의 키 입력 자바에서 키보드를 이용하여 사용자로부터 입력을 받는 방법에는 일반적으로 표준 입력 스트림인 System.in을 이용하는 방법과 JDK에서 제공하는 Scanner class를 이용하는 방법이 있다. System.in을 이용하는 것보다 Scanner 클래스를 이용하는 방법이 보다 쉽다. 1. System.in System.in은 키보드 장치와 연결된 원시적인 저수준(low-level) 입력 스트림 즉, 객체이다. 자바에서 키 입력 방법의 최하층부에는 키보드와 연결된 System.in이 있다. 자바 응용 프로그램에서 System.in만을 이용해서 직접 키 입력을 받을 수 있지만, System.in은 입력되는 키 값을 바이트 정보로 반환하기 때문에 바이트 정보를 문자 정보로 변환해야 어떤 문..

Java/Java 기본 2018.06.08

타입 변환

타입 변환 타입 변환은 물을 큰 그릇과 작은 그릇 사이에서 옮길 때를 생각하면 가장 이해가 쉽다. 예를 들어, 큰 그릇의 물을 작은 그릇으로 옮겨 담는다고 생각해보자. 큰 그릇의 물이 작은 그릇이 담을 수 있는 양보다 많이 담겨 있다면, 작은 그릇으로 옮겨 담을 때 작은 그릇이 담을 수 있는 양보다 많이 담겨 있다면, 작은 그릇으로 옮겨 담을 때 물이 넘쳐서 원래의 양보다 줄어든다. 그러나 큰 긄의 물이 작은 그릇이 담을 수 있는 양보다도 적게 담겨 있다면, 작은 그릇으로 옮겨도 물의 양이 줄지 않고 그대로 보존된다. 반대로 작은 그릇의 물을 큰 그릇으로 옮겨 담는다고 생각해보자. 작은 그릇의 물을 큰 그릇으로 옮겨 담을 때는 작은 그릇에 물이 가득 차든지 차지 않았던지 간에 상관 없이 물의 총량이 줄어..

Java/Java 기본 2018.06.08