페이지

2015. 1. 5.

[JAVA] Day1.자료형과 연산자

Identifier

보고 느낄 수 있는 모든 사물(객체)들을 각각 구별할 수 있는 것을 의미.





Keyword

Java Programming을 하는데 있어 특정한 의미가 부여되어 이미 만들어진 Identifider를 말한다.
Keyword에 등록되어 있는 것을 Programming에서 Identifier로 사용할 수 없다.



Java의 자료형(DataType)


primitive data type

Java compiler의해서 해석되는 data type

정의 되어있는 8가지 기본형 타입
논리형 : boolean(1bit)
문자형 : char(16bit)
정수형 : byte(8bit), short(16bit), int(32bit), long(64bit) 기준 int
실수형 : float(32bit), double(64bit) 기준 double

reference data type(또는 object data type 또는 user define data type 또는 class data type)

Java API에서 제공되거나 Programmer에 의해서 만들어진 class를 data type으로 Declaration하는 경우.
프로그래머가 만든 프로그램인 class를 데이터 타입으로 사용하는 것을 말함.








Java의 연산자(Operator)


Arithmetic Operator

4칙 연산(+, -, *, /)과 나머지 값을 구하는 Operator(%)를 말한다.


public class Operator1 {
/*
 * 대입 연산자 - 연산자 중 우선 순위가 가장 낮다(예외 : 후위형 증감 연산자)
 * -> 기호의 의미 확인 바람
 */
public static void main(String[] args) {
int a = 7; //기본적인 대입 연산자
a += 10; //a = a + 10;
a -= 10; //a = a - 10;
a *= 2; //a = a * 2;
a /= 5; //a = a / 5;
a %= 5; //a = a % 5;
a <<= 2; //a = a << 2;
a >>= 2; //a = a >> 2;
a >>>= 2; //a = a >>> 2;

int b = 42, c = 42, d = 42;
b &= 60; // b = b & 60;
c |= 60; // c =c | 60;
d ^= 60; // d= d ^ 60;
}

}

public class Operator2 {
/*
 * 비교 연산자 - boolean(true or false)값만을 return
 */
public static void main(String[] args) {
System.out.println("100 <  100 : " + (100 < 100));
System.out.println("100 <  100 : " + (100 > 100));
System.out.println("100 <= 100 : " + (100 <= 100));
System.out.println("100 >= 100 : " + (100 >= 100));
System.out.println("100 == 100 : " + (100 == 100));
System.out.println("100 != 100 : " + (100 != 100));
}

}


public class Operator3 {
/*
 * 논리 연산자
 * &&(and) - true & true인 경우만 true, 나머지는 false.
 * ||(or) - false & flase인 경우만 false, 나머지는 true.
 * Short Circuit Logic(단축 평가)
 * -> &&연산의 경우 앞의 값이 false면 뒤를 확인 안함.
 * -> ||연산의 경우 앞의 값이 true면 뒤를 확인 안함.
 */
public static void main(String[] args) {
System.out.println("true && true : " + (true && true));
System.out.println("true && false : " + (true && false));
System.out.println("false && true : " + (false && true));
System.out.println("false && false : " + (false && false));

System.out.println("true || true : " + (true || true));
System.out.println("true || false : " + (true || false));
System.out.println("false || true : " + (false || true));
System.out.println("false || false : " + (false || false));

String stringVar = null;
//System.out.println(stringVar.length());//error
//if(stringVar.length() > 0) //error
if(stringVar != null && stringVar.length() > 0)
{ //stringVar.length() > 0 는 단축 평가로 체크 안 함
System.out.println("if문 내부");
}

}

}


public class Operator4 {
/*
 * 비트 연산자
 * &(and) - 1 & 1인 경우만 1, 나머지는 0
 * |(or) - 0 | 0인 경우만 0, 나머지는 1
 * ^(xor) - 0 ^ 0, 1 ^ 1인 경우는 0, 1 ^ 0, 0 ^ 1인 경우는 1
 */
public static void main(String[] args) {
System.out.println("(42 & 60) : " + (42& 60));
System.out.println("(42 | 60) : " + (42 | 60));
System.out.println("(42 ^ 60) : " + (42^ 60));
}

}

public class Operator5 {
/*
 * 삼항 연산자
 * 조건질의? true면 앞의 식을 수행 : false면 뒤의 식을 수행
 * int c = (10 > 100) ? 10 - 100 : 100 - 10;
 * System.out.println(c); 90 출력
 *
 */
public static void main(String[] args) {
int c = (10 > 100) ? 10 - 100 : 100 - 10;
System.out.println("c : " + c);
int d = (10 < 100) ? 10 - 100 : 100 - 10;
System.out.println("d : " + d);
}

}