식별자
: 프로그램을 작성하다 보면 클래스나 메소드 변수 등에 직접 이름을 주어야 하는 경우가 생긴다. 이러한 클래스 이름, 메소드 이름, 변수 등과 같은 이름을 식별자라고 한다.
<< 식별자 명명 규칙
- 영문자(A~Z, a~z)와 숫자(0~9)와 '_', '$'의 조합으로 만들어진다.
- 첫 글자는 반드시 영문자나 '_'로 시작하여야 한다. 숫자로 시작해서는 안 된다.
- 식별자는 철자가 같다고 해도 대소문자를 구분하기 때문에 조심해야 한다.
- 자바에서 사용되는 예약어는 식별자로 사용할 수 없다.
- 식별자는 가급적이면 자기 역할에 맞는 이름을 부여한다.
자바 자료 타입
값 |
자료 타입 |
디폴트 값 |
크기 |
정수 |
byte |
0 |
8 bit |
short |
0 |
16 bit |
|
Int |
0 |
32 bit |
|
long |
0 |
64 bit |
|
실수 |
float |
0.0 |
32 bit |
double |
0.00 |
64 bit |
|
true/false |
boolean |
False |
1 bit |
유니코드 |
char |
U0000 |
16 bit |
문자형
자바에서 char형은 문자를 표현하기 위해 16비트 유니코드(Unicode) 문자 체계를 사용한다.
기본 입출력
자바의 기본 출력
출력을 위한 메소드는 println(), print(), printf()와 같이 3가지 형태로 제공된다.
간단한 출력 예제
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("println()");
System.out.print("print()");
System.out.printf("%s\n", "printf()");
}
}
자바의 기본 입력
자바에서는 표준 입력 장치인 키보드에 대해서 System 클래스에 in라는 객체를 마련해 두었다. System.in 객체로 read() 메소드를 호출하여 키보드에서 데이터를 입력 받을 수 있다.
public abstract int read() throws
간단한 입력 예제 - 키보드에서 문자 한개 입력받기
import java.io.*;
public class Test {
/**
* @param args
*/
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
int data = 0;
System.out.print("Input Character : ");
data = System.in.read();
System.out.println(data);
System.out.println((char)data);
}
}
간단한 입력 예제 - Scanner 클래스를 사용하여 키보드에서 정수 입력받기
import java.util.*;
public class Exam {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int a, b, c;
System.out.print("정수 데이터 2개 입력 >> ");
a = input.nextInt();
b = input.nextInt();
c = a + b;
System.out.printf("%3d + %3d = %4d", a, b, c);
}
}
연산자
산술 연산자
구분 |
연산자 |
의미 |
단항 산술 연산자 |
+ |
양 수 |
- |
음 수 |
|
이항 산술 연산자 |
+ |
덧 셈 |
- |
뺄 셈 |
|
* |
곱 셈 |
|
/ |
나눗셈 |
|
% |
나머지 |
연산자 |
형 태 |
연산자 호칭 |
설명 |
++ |
++x |
전위 증가 연산자 |
연산 전에 x값 증가 |
x++ |
후위 증가 연산자 |
연산 후에 x값 증가 |
|
-- |
--x |
전위 감소 연산자 |
연산 전에 x값 감소 |
x-- |
후위 감소 연산자 |
연산 후에 x값 감소 |
관계 연산자
> |
op1 > op2 |
op1이 op2보다 크다 |
>= |
op1 >= op2 |
op1이 op2보다 크거나 같다 |
< |
op1 < op2 |
op1이 op2보다 작다 |
<= |
op1 <= op2 |
op1이 op2보다 작거나 같다 |
== |
op1 == op2 |
op1와 op2가 같다 |
!= |
op1 != op2 |
op1와 op2가 같지 않다 |
Instanceof |
op1 instanceof op2 |
op1이 op2의 인스턴스이다 |
논리 연산자
&& |
op1 && op2 |
op1과 op2가 모드 true이면 true, 그렇지 않으면 false |
|| |
op1 || op2 |
op1과 op2 둘 중 하나 이상이 true이면 true, 모두 false 이면 false |
! |
!op |
op가 true이면 false, false이면 true |
비트 연산자
& |
op1 & op2 |
op1과 op2 각 비트 단위의 논리곱 |
| |
op1 | op2 |
op1과 op2 각 비트 단위의 논리합 |
^ |
op1 ^ op2 |
op1과 op2 각 비트 단위의 배타적 논리곱 |
~ |
~op |
비트 단위의 1의 보수 |
>> |
op1 >> op2 |
op1과 op2만큼 오른쪽으로 이동 |
<< |
op1 << op2 |
op1과 op2만큼 왼쪽으로 이동 |
>>> |
op1 >>> op2 |
op1과 op2만큼 오른쪽으로 이동 왼쪽에는 항상 부호에 상관없이 0이 채워진다 |