728x90 JAVA/예제115 [JAVA] ch03-10. int에서 long 오버플로우 public class Ex10 { //a*b의 결과는 int값으로 계산되어 long으로 넘어가는 도중 int 계산에서 //오버플로우가 일어난 상태에서 long 변수로 들어감. public static void main(String[] args){ int a = 1000000; //1,000,000 int b = 2000000; //2,000,000 long c = a * b; // 2,000,000,000,000 [값의 변질이 일어남] System.out.println(c); //-1454759936 } } JAVA/예제 2017. 8. 21. [JAVA] ch03-09. byte 오버플로우 public class Ex09 { //byte는 0부터 127까지 128을 빼면 300-1287= 172-128 = 44 결국 오버플로우로 인한 결과 public static void main(String[] args){ byte a = 10; byte b = 30; byte c = (byte)(a*b); // value loss. System.out.println(c); // 44 } } JAVA/예제 2017. 8. 21. [JAVA] ch03-08. 덧셈 public class Ex08 {//덧셈. public static void main(String[] args){ byte a = 10; byte b = 20; byte c = (byte)(a+b); //byte c = a+b; // result type is int. System.out.println(c); } } JAVA/예제 2017. 8. 21. [JAVA] ch03-07. 논리 연산자 public class Ex07 {//논리연산자 public static void main(String[] args){ boolean power = false; //논리연산자는 boolean에서만 가능 System.out.println(power); power = !power; System.out.println(power); power = !power; System.out.println(power); } } JAVA/예제 2017. 8. 21. [JAVA] ch03-06. 형변환 public class Ex06 { // 형변환, int미만의 타입은 byte, char, short는 int로 바뀐다. public static void main(String[] args){ byte a = 10; //byte result = -a; // result type is int. byte result = (byte)-a; // int미만의 타입은 byte, char, short는 int로 바뀐다. System.out.println(a+","+result); long b = 10; //int 타입 이상의 타입은 그대로 long result2 = -b; System.out.println(b+","+result2); //*int + float -> float + float -> float } } JAVA/예제 2017. 8. 21. [JAVA] ch03-05. 비트전환 public class Ex05 {//비트전환 public static void main(String[] args){ long b = 10; //bitwise operator is only for integer type(정수형에서만 가능) System.out.println(b); System.out.println(~b); System.out.println(~b + 1); //~ 0을 1로 1을 0으로 비트전환 음수를 표현하기 위한 방법 중 1 } } JAVA/예제 2017. 8. 21. [JAVA] ch03-04. 부호 연산자 public class Ex04 { //부호 연산자 public static void main(String[] args){ int i = -10; i = +i; System.out.println("i=" + i); i = -10; i = -i; System.out.println("i=" + i); } } JAVA/예제 2017. 8. 21. [JAVA] ch03-03. 우선 순위2 public class Ex03 {//우선순위 public static void main(String[] args){ int i = 5, j = 5; System.out.println(i++);//5 System.out.println(++j);//6 System.out.println("i=" + i + ",j=" + j);//i=6,j=6 //System.out.printf("i=%d,j=%d",i,j); } } JAVA/예제 2017. 8. 21. [JAVA] ch03-02. 우선 순위 public class Ex02 {//우선순위 public static void main(String[] args){ int i = 5; int j = 0; j = i++; // 우선순위가 i System.out.println("i=" + i + ", j=" + j); // i=6, j=5 i = 5; j = 0; j = ++i; // 우선순위가 j System.out.printf("i=%d, j=%d", i,j); // i=6, j=6 } } JAVA/예제 2017. 8. 21. [JAVA] ch03-01. 증가 연산자 public class Ex01 {//증가 연산자 public static void main(String[] args){ int i = 5; i++; //(증가 연산자) System.out.println(i); i = 5; ++i; System.out.println(i); } } JAVA/예제 2017. 8. 21. [JAVA] ch02-08. 강제 형변환2 public class Ex08 {//강제형변환 public static void main(String[] args){ byte b = 10; int i = b; System.out.println("i=" + i); // i=10 System.out.println("b=" + b); // b=10 int i2 = 300; byte b2 = (byte) i2; System.out.println("i2=" + i2); // i2=300 System.out.println("b2=" + b2); // b2=44 } } JAVA/예제 2017. 8. 21. [JAVA] ch02-07. 강제 형변환 public class Ex07 { //double 출력값, int 출력값, 강제형변환 public static void main(String[] args){ double d = 100.0; int i = 100; int result = i + (int) d; System.out.println(d); // 100.0 System.out.println(i); // 100 System.out.println(result); //200 } } JAVA/예제 2017. 8. 21. 이전 1 ··· 6 7 8 9 10 다음 728x90