자바에서 반복문은 for 문 , while 문, do-while 문 세 가지뿐이다. 

for 문

반복문 중 가장 많이 사용되는 문법이다.

for (초기문 ; 조건식 ; 반복후 작업){
	..작업문..
}

1. 초기문 : 초기문에서는 대개 for 문의 조건식에서 사용하는 변수를 초기화 한다.

  • 초기문은 시작할 때 한번만 수행된다.
  • 콤마(,)로 분리하여 여러 문장을 나열할 수 있다.
  • 초기문을 빈 상태로 두어도 된다.

2. 조건식 : 논리형 변수나 논리 연산만을 사용할 수 있다. true를 적으면 무한 반복(infinity loop)한다.

3. 반복 후 작업 : for 문 내의 작업문이 실행된 후 반복 후 작업문이 실행된다.

4. 작업문 : for 문이 반복되는 동안 수행된다.

while 문

조건식이 ture라면 무한이 반복되는 반복문

while(조건식){
	..작업문..
}

1. 조건식 : for문의 조건식과 동일. true일 경우 반복이 계속되며 false일 경우 반복을 종료하고 while 문을 벗어난다.

              초기문과 반복후 작업문이 없기 때문에 조석식에 사용되는 변수는 while문 전에 선언과 초기화가 되어있어                  야 한다.

do-while 문

while 문과 달리 반드시 작업문이 한번은 실행 되는 반복문

do{
	..작업문..
} while (조건식);

1. 조건식 : 조건식의 변수는 while문과 마찬가지로 선언과 초기화가 되어있어야한다. do -while 문의 가장 큰 특징은 반드시 최초 한번은 실행 되는다는것에 있다.

continue 문과 break 문

continue : 반복문을 완전히 빠져나가지 않으면서 반복문 내의 작업문을 건너뛸때 사용한다. 그 자체가 하나의 문장이다.

for 문에서는 반복 후 작업으로 분기하고 while 이나 do while문에서는 조건식을 검사하는 과정으로 분기한다.

break : 즉시 반복문을 빠져나갈 때 사용한다.

조건문

 조건문은 프로그래밍에 있어 매우 중요하다. 조건문을 이용해 참, 거짓에 따라 서로 다른 작업을 수행할 수 있다. 자바의 조건문은 C 와 거의 동일하다.

  • if 문
  • if - else 문
  • switch 문

if 문

if (조건식){ // 조건식이 참일때 실행문 실행
	..실행 문장..
}
// 조건식이 거짓일 경우 if문을 벗어나 여기서부터 다시 시작

 단순 if 문의 구문은 위와 같다. (,)안의 조건식이 참이면 {,}안의 실행 문장이 실행 되고 거짓이라면 if문을 벗어난다.

if - else 문

if(조건식){
	..실행 문장1..
}
else{
	..실행 문장2..
}

 if-else문은 조건식이 참일 경우 실행 문장 1을 실행하고 거짓일 경우 실행 문장 2를 실행한다. if else 문은 중첩이 가능하다.

if(조건식 1){
	..실행 문장1..
}
else if(조건식 2){
	..실행 문장2..
}
else if (조건식 3){
	..실행 문장3..
}
else{
	..실행 문장4..
}

switch문

 switch문은 하나의 식의 값에 따라 여러 방향으로 분기할때 사용하면 코드의 가독성을 높일 수 있고 표현하기도 좋다.

swtich(식){
    case 값1:
    	실행문장1;
        break;
    case 값1:
    	실행 문장2;
        break;
    case 값1:
    	실행 문장3;
        break;
    default:
    	실행 문장4;
}

 

자바의 데이터 타입은 크게 두 가지로 나눌 수 있다.

- 기본형 (Primitive Type)

- 참조형 (Reference Type)

 

기본형 (Primitive Type)

기본타입은 총 8개 타입의 데이터를 표현할 수 있다.

· 논리 타입 boolean (1바이트, true or false)

· 문자 타입 char (2바이트, Unicode)

· 정수 타입 byte (1바이트)

               short (2바이트,)

               int (4바이트)

               long (8바이트)

· 실수 타입 float (4바이트)

               double (8바이트)

º 자바는 플랫폼에 독립적인 언어이므로 언제나 변수의 byte는 같다.

 

참조형 (Reference Type)

· 배열에 대한 레퍼런스

· 클래스(class)에 대한 레퍼런스

· 인터페이스(interface)에 대한 레퍼런스

 

 참조형의 레퍼런스는 c나c++의 포인터와 비슷한 개념이다. 처음에는 어려운 내용이니 뒤에 클래스나 배열을 다룰때 다시한번 다루기로 하겠다.

 

변수

 프로그래밍 언어에서 변수란 데이터를 저장하는 공간이다. 따라서 데이터의 타입에 맞게 적절한 변수 타입을 설정 해야한다.

변수 선언

int age;
char c1, c2, c3;
double weight ;

 변수 선언은 데이터타입 + 변수이름; 으로한다. 또한 초기값을 넣어 주는것으로 선언과 초기화를 동시에 할 수 있다.

상수

 상수는 변수와 달리 프로그램 실행 중에 값이 바뀌지 않는다. 상수를 만드는 방법은 선언시 final 키워드를 사용하면 된다. final만 사용해도 되지만, static타입으로 선언하는 것이 상례이다.

final double PI = 3.141592; // 이렇게 가능하나
static final double PI = 3.141592; // 를 추천

타입 변환

  • 자동 타입 변환
  • 강제 타입 변환

자동 타입 변환 : 작은 데이터 타입에서 큰 데이터 타입으로 타입 변환을 하면 원본 데이터 손실 없이 그대로 보존되기 때문에 자동 타입 변환이 일어난다

byte -> short,char -> int -> long -> float -> double

ex)
long var;
int n = 32555;
byte b = 25;
var = n; // int 에서 long으로 자동 타입 변환. var = 32555
var = b; // byte에서 long으로 자동 타입 변환. var = 25

강제 타입 변환 : 큰 데이터 타입에서 작은 데이터 타입으로 변환시 데이터 손실이 일어날 수 있으므로 개발자가 명시적으로 타입 변환을 해야 한다. 방법은 변환하고자 하는 타입을 (,)안에 지정한다.

double d= 3.9;
int n = (int)d; //n은 3이 된다.

 

프로그래밍 언어

 

 프로그래밍 언어란 프로그램을 작성하기 위한 언어이다. 컴퓨터는 0과 1로 된 기계어(machine language)밖에 이해하지 못하며, 사람이 직접 기계어로 프로그램을 만들기는 매우 어렵다. 따라서 기계어 명령을 사람이 이해하기 쉽고 표현하기 쉽게 만든 어셈블리어(assembly language)가 만들어 졌다. 하지만 어셈플리어도 사람이 다루기 힘들어 복잡한 알고리즘이나 프로그램구조, 자료구조를 효율적으로 표현할수 있는 고급언어가 생겨났다. 그 중 하나가 Java이다.

 

컴파일

 프로그래밍은 고급 언어를 이용해 전용 개발 도구나 텍스트 편집기로 프로그램 소스 파일을 작성하는 것을 의미한다. 기계어는 컴퓨터가 바로 이해할 수 있지만 C나 Java같은 고급 언어는 컴퓨터가 바로 이해할 수 없으므로, 소스 프로그램을 기계어로 변환하는 과정이 필요한데 이를 컴파일(compile) 이라한다. 기계어로 변환해주는 소프트웨어를 컴파일러(compiler)라고 하며 각 언어마다 고유한 컴파일러가 있다. 컴파일 되어있는 파일의 확장자로 어떤 언어로 작성되었는지 구분할 수 있는데 자바는 .java의 확장자를 가진다.

 

자바 Java

 자바는 1995년 자바의 아버지라 불리는 '제임스 고슬링(James Gosling)'이 동료들과 함께 만든 프로그래밍 언어로 초창기에는 가전제품을 제어하기 위한 언어로 고안되었고, 현재 국내에서 정부 및 기업의 시스템 통합 프로젝트가 대부분 자바를 기반으로 이뤄지고 있다.

 자바의 특징

   - WORA(Write Once Run Anywhere) : 플랫폼에 독립적이다.

   - 객체 지향 언어이다.

 

 JVM(자바 가상 기계)

  자바가 플랫폼에 독립적인 이유. 어떤 환경에 상관없이 jvm만 있다면 자바로 작성된 프로그램에 동일한 실행 환경을 제공하며 동일한 실행결과를 기대할 수 있다. jvm 자체는 각 플랫폼에 맞게 포팅되어야 하므로 플렛폼 종속적이다.

 

API, JDK, JRE

- API : 오라클사에서 제공하는 것으로 주요한 기능들을 미리 구형한 클래스 라이브러로 묶어놓은 패키지들

(https://docs.oracle.com/javase/8/docs/api/)

- JDK(Java Development Kit) : 자바 소프트웨어를 개발하는데 필요한 여러 가지 도구를 모아서 제공하는 것

- JRE(Java Runtime Environmet) : 자바로 만들어진 프로그램을 구동하는 데 필요한 실행환경을 제공

즉, Java를 실행할려면 JRE, 개발을 할려면 JDK를 다운받아야 한다. (JDK 안에 JRE가 포함되어 있으므로 JDK를 다운받으면 JRE를 다운받을 필요가 없다)

+ Recent posts