연산자(Operator)
[01] 연산자(operator)
1. 산술(수치) 연산자 : +, -, *, /, %
- 정수/정수 = 정수
- float n = 0.0f; f를 제거하면 double 8바이트가 됩니다.
2. 대입 연산자 : =
- 좌변은 상수값이 아니라 기억장소가 와야합니다.
ⓐ a = i + j;
ⓑ b = 10 + 20;
ⓒ 100 = i + 10; //ERROR
3. 연산후대입 연산자 : +=, -=, *=, /=, %=
- 처리속도 향상
4. 증가/감소 연산자
- ++: 1씩 증가 시킵니다.
- --: 1씩 감소 합니다.
- 알아보기 쉽게 코딩하는 것이 필요합니다.
5. 관계(비교) 연산자 : <, <=, >=, >, ==, !=, instanceof
6. 비트연산자(2진수 연산)
- >>: 지정된 수가 양수이면 0, 음수이면 1로 채워집니다., 2로 나눈 결과와 같습니다.
- <<: 무조건 0으로 채워집니다., 2로 곱한 결과와 같습니다.
- >>>: 무조건 0으로 채워서 양수 처리합니다.
7. 논리연산자(조건 연산자, Short Circuit)
- 조건문과 함께 많이 사용됨
- &&: 양쪽의 조건이 전부 맞아야 참입니다.
- ||: 어느 한쪽만 참이면 참입니다.
- 제어문에서 조건 명시에 많이 사용됨.
if ((kuk < 40) || (eng < 40)){ .....
if ((kuk >= 90) && (eng >= 90)){ .....
---------------------------------------------------------------------------------------------
class OperatorEx1
{
public static void main(String[] args)
{
int i=5;
i++;
System.out.println(i);
i=5;
++i;
System.out.println(i);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx2
{
public static void main(String[] args)
{
int i=5;
int j=0;
j=i++;
System.out.println("j=i++; 실행 후, i=" + i +", j=" + j);
i=5;
j=0;
j=++i;
System.out.println("j=++i; 실행 후, i=" + i +", j=" + j);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx3
{
public static void main(String[] args)
{
int i=5, j=5;
System.out.println(i++);
System.out.println(++j);
System.out.println("i = " + i + ",j = " + j);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx4
{
public static void main(String[] args)
{
int i=-10;
i=+i;
System.out.println(i);
i=-10;
i=-i;
System.out.println(i);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx5
{
public static void main(String[] args)
{
byte b = 10;
System.out.println("b = " + b);
System.out.println("~b = " + ~b);
System.out.println("~b+1 = " + (~b+1));
}
}
---------------------------------------------------------------------------------------------
class OperatorEx6
{
public static void main(String[] args)
{
byte b = 10;
//byte result = ~b;
byte result = (byte)~b;
System.out.println("b = " + b);
System.out.println("~b = " + result);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx7
{
public static void main(String[] args)
{
boolean power = false;
System.out.println(power);
power = !power;
System.out.println(power);
power = !power;
System.out.println(power);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx9
{
public static void main(String[] args)
{
byte a = 10;
byte b = 30;
//byte c = a * b; 에러발생
byte c = (byte)(a * b);
System.out.println(c);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx10
{
public static void main(String[] args)
{
int a = 1000000;
int b = 2000000;
long c = a * b;
System.out.println(c);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx11
{
public static void main(String[] args)
{
long a = 1000000 * 1000000;
long b = 1000000 * 1000000L; //long형 리터럴
System.out.println(a);
System.out.println(b);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx12
{
public static void main(String[] args)
{
int a = 1000000 * 1000000 / 1000000;
int b = 1000000 / 1000000 * 1000000;
System.out.println(a);
System.out.println(b);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx13
{
public static void main(String[] args)
{
char c1 = 'a';
char c2 = c1;
char c3 = ' ';
int i = c1 + 1;
c3 = (char)(c1 + 1);
c2++;
c2++;
System.out.println("i=" + i);
System.out.println("c2=" + c2);
System.out.println("c3=" + c3);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx14
{
public static void main(String[] args)
{
char c1 = 'a';
// char c2 = c1 + 1; //라인5 : 컴파일 에러발생!!!
char c2 = 'a' + 1; //라인6 : 컴파일 에러없음
System.out.println(c2);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx15
{
public static void main(String[] args)
{
char c = 'a';
for(int i=0;i<26;i++){
System.out.print(c++);
}
System.out.println();
c = 'A';
for(int i=0;i<26;i++){
System.out.print(c++);
}
System.out.println();
c = '0';
for(int i=0;i<10;i++){
System.out.print(c++);
}
System.out.println();
}
}
---------------------------------------------------------------------------------------------
class OperatorEx16
{
public static void main(String[] args)
{
char lowercase = 'a';
char uppercase = (char)(lowercase - 32);
System.out.println(uppercase);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx17
{
public static void main(String[] args)
{
float pi = 3.141592f;
float shortPi = (int)(pi * 1000) / 1000f;
System.out.println(shortPi);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx18
{
public static void main(String[] args)
{
float pi = 3.141592f;
float shortPi = Math.round(pi * 1000) / 1000f;
System.out.println(shortPi);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx19
{
public static void main(String[] args)
{
int share = 10 / 8;
int remain = 10 % 8;
System.out.println("10을 8로 나누면,");
System.out.println("몫은 " + share + "이고, 나머지는 " + remain +"입니다.");
}
}
---------------------------------------------------------------------------------------------
class OperatorEx20
{
public static void main(String[] args)
{
for(int i=1;i<=10;i++){
if(i%3==0){
System.out.println(i);
}
}
}
}
---------------------------------------------------------------------------------------------
class OperatorEx21
{
public static void main(String[] args)
{
System.out.println(-10%8);
System.out.println(10%-8);
System.out.println(-10%-8);
}
}
---------------------------------------------------------------------------------------------
class OperatorEx22
{
public static void main(String[] args)
{
int temp;
System.out.println(-8);
System.out.println(Integer.toBinaryString(-8));
System.out.println();
temp = -8 << 1;
System.out.println("-8 << 1 = " + temp);
System.out.println(Integer.toBinaryString(temp));
System.out.println();
temp = -8 << 2;
System.out.println("-8 << 2 = " + temp);
System.out.println(Integer.toBinaryString(temp));
System.out.println();
System.out.println(-8);
System.out.println(Integer.toBinaryString(-8));
System.out.println();
temp = -8 >> 1;
System.out.println("-8 >> 1 = " + temp);
System.out.println(Integer.toBinaryString(temp));
System.out.println();
temp = -8 >> 2;
System.out.println("-8 >> 2 = " + temp);
System.out.println(Integer.toBinaryString(temp));
System.out.println();
System.out.println(-8);
System.out.println(Integer.toBinaryString(-8));
System.out.println();
temp = -8 >>> 1;
System.out.println("-8 >>> 1 = " + temp);
System.out.println(Integer.toBinaryString(temp));
System.out.println();
temp = -8 >>> 2;
System.out.println("-8 >>> 2 = " + temp);
System.out.println(Integer.toBinaryString(temp));
System.out.println();
}
}
---------------------------------------------------------------------------------------------
class OperatorEx23
{
public static void main(String[] args)
{
if(10 == 10.0f){
System.out.println("10과 10.0f는 같다");
}
if('0' != 0){
System.out.println("'0'과 0은 같지 않다.");
}
if('A' == 65){
System.out.println("'A'는 65와 같다.");
}
int num = 5;
if(num>0 && num<9){
System.out.println(num +"는 0보다 크고, 9보다는 작다.");
}
}
}
---------------------------------------------------------------------------------------------
class OperatorEx25
{
public static void main(String[] args)
{
char x = 'j';
if((x>='a' && x<='z')||(x>='A' && x<='Z')){
System.out.println("유효한 문자입니다.");
} else {
System.out.println("유효하지 않은 문자입니다.");
} //if문
} //mail
}
---------------------------------------------------------------------------------------------
class OperatorEx26
{
public static void main(String[] args)
{
int x = 3, y = 5;
System.out.println("x는" + x +"이고, y는 " + y + "일 때,");
System.out.println("x | y = " + (x | y));
System.out.println("x & y = " + (x & y));
System.out.println("x ^ y = " + (x ^ y));
System.out.println("true | false = " +(true | false));
System.out.println("true & false = " +(true & false));
System.out.println("true ^ false = " +(true ^ false));
}
}
---------------------------------------------------------------------------------------------
class OperatorEx27
{
public static void main(String[] args)
{
int x = 10, y = -10;
int absX = (x >= 0) ? x : -x;
int absY = (y >= 0) ? y : -y;
System.out.println("x= " + x + "일 때, x의 절대값은 " + absX);
System.out.println("y= " + y + "일 때, y의 절대값은 " + absY);
}
}
---------------------------------------------------------------------------------------------
'자기개발 > Java' 카테고리의 다른 글
Chapter 5 배열(Array) (0) | 2012.01.21 |
---|---|
Chapter 4 조건문과 반복문 (0) | 2012.01.12 |
Chapter 2. 변수 (0) | 2012.01.12 |
문자열의 일부를 다른 무자열로 치한 코드 (0) | 2012.01.11 |
JDK 1.7.0 설치 (0) | 2012.01.11 |