IT/Java

· IT/Java
나눗셈(/) 또는 나머지(%) 연산에서 좌측 피연산자가 정수이고 우측 피연산자가 0일 경우 예외(ArithmeticException)가 발생하며, 그 이유는 무한대의 값을 정수로 표현할 수 없기 때문이다. 예제 코드 public class InfinityAndNanCheckExample { public static void main(String[] args) { int x = 5; int y = 0; int result = x / y; System.out.println(result); } } 출력 결과 그러나 좌측 피연산자가 실수이거나 우측 피연산자가 0.0 또는 0.0f이면 예외가 발생하지 않고 연산의 결과는 Infinity(무한대) 또는 NaN(Not a Number)이 된다. 예제 코드 public..
· IT/Java
오버플로우(overflow) 타입이 허용하는 최대값을 벗어나는 것을 말한다. 언더플로우(underflow) 타입이 허용하는 최소값을 벗어나는 것을 말한다. 정수 타입 연산에서 발생하면 에러가 발생할 것 같지만, 에러 발생은 하지 않고 해당 정수 타입의 최소값 또는 최대값으로 되돌아간다. 예제 package ch03.sec03; public class OverflowUnderflowExample { public static void main(String[] args) { byte var1 = 125; for (int i = 0; i < 5; i++) { var1++; System.out.println("var1 : " + var1); } System.out.println("------------------..
· IT/Java
산술연산자 산술 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)로 총 5개이다. %연산자는 나눗셈을 수행한 후에 몫이 아닌 나머지를 산출한다. 연산식 설명 피연산자 + 피연산자 덧셈 연산 피연산자 - 피연산자 뺄셈 연산 피연산자 * 피연산자 곱셈 연산 피연산자 / 피연산자 나눗셈 연산 피연산자 % 피연산자 나눗셈의 나머지를 산출하는 연산 피연산자가 정수 타입(byte, short, char, int)이면 연산의 결과는 int 타입이다. 피연산자가 정수 타입이고 그 중 하나가 long 타입이면 연산의 결과는 long 타입이다. 피연산자 중 하나가 실수 타입이면 연산의 결과는 실수 타입이다.
· IT/Java
부호 연산자 변수의 부호를 유지하거나 변경하는 연산자 연산식 설명 + 피연산자 피연산자의 부호 유지 - 피연산자 피연산자의 부호 변경 증감 연산자 변수의 값을 1 증가시키거나 1 감소시키는 연산자 연산식 설명 ++ 피연산자 피연산자의 값을 1증가 -- 피연산자 피연산자의 값을 1 감소 피연산자 ++ 다른 연산을 수행한 후에 피연산자의 값을 1 증가 피연산자 -- 다른 연산을 수행한 후에 피연산자의 값을 1 감소 단독으로 증감 연산자가 사용될 경우에는 변수의 앞뒤 어디에 붙어도 결과는 동일하다. 여러 개의 연산자가 포함되어 있는 연산식에서는 증감 연산자의 위치에 따라 결과가 달라진다. int x = 1; int y = 1; int result1 = ++x + 10; // x를 1 증가 => 2 + 10 i..
· IT/Java
변수값 콘솔 출력 메소드 의미 println( ) 괄호 안의 내용 출력 후 행 변경 print( ) 괄호 안의 내용 출력 printf("형식문자열", 값1, 값2) 형식 문자열에 맞추어 뒤의 값 출력 prinft( )의 형식 형식문자열 %[argument_index$] [flasgs] [width] [.precision] conversion argument_index$ : 값의 순번 flasgs: -, 0 width: 전체 자릿수 .precision : 소수 자릿수 conversion : 변환 문자 형식화된 문자열 설명 출력 형태 정수 %d 정수 123 %6d 6자리 정수, 왼쪽 빈자리 공백 ___123 %-6d 6자리 정수, 오늘쪽 빈자리 공백 123___ %06d 6자리 정수, 왼쪽 빈자리 0 채움 ..
· IT/Java
문자열 ➡️ 기본타입 String ➡️ byte String str = "10"; byte val = Byte.parseByte(str); String ➡️ short String str = "200"; short val = Short.parseShort(str); String ➡️ int String str = "300000"; int val = Int.parseInt(str); String ➡️ long String str = "400000000"; long val = Long.parseLong(str); String ➡️ float String str = "12.345"; float val = Float.parseFloat(str); String ➡️ double String str = "12.34..
· IT/Java
산술 연산식에서 피연산자로 사용되는 경우 정수 타입 자바에서는 피연산자를 4byte 단위로 저장하기 때문에 정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int보다 작은 byte, char, short 타입 변수는 int 타입으로 자동 변환이 되어 연산을 수행한다. byte x = 10; byte y = 20; byte result = x + y; //error byte x = 10; byte y = 20; int result = x + y; // 30 byte 변수 x, y가 피연산자로 사용되면 변수값은 int 타입으로 연산되고 결과도 int 타입으로 생성된다. 결과값을 byte 변수에 저장할 수 없고, int 변수에 저장해야 한다. 정수 연산식에서 모든 변수가 int 타입으로 변환되는 것은 아..
· IT/Java
강제 타입 변환 큰 허용 범위 타입은 작은 허용 범위 타입으로 자동 타입 변환될 수 없지만 작은 허용 범위 타입으로 쪼개어서 저장하는 것은 가능하다. 강제 타입 변환(casting)이며, 연산자로 괄호()를 사용하는데 괄호 안에 들어가는 타입은 쪼개는 단위이다. 작은 허용 범위 타입 = (작은 허용 범위 타입) 큰 허용 범위 타입 int ➡️ byte int intVal = 10; byte byteVal = (byte) intVal; 10진수 10은 2진수 1010으로 1byte만 있어도 저장 가능하다. int 타입은 4byte의 크기를 가지므로 10은 끝 1byte 안에 저장된다. byte 타입으로 강제 타입 변환을 하면 앞에 3byte는 삭제되고 끝 1byte 값만 byte타입 변수에 저장된다. 2b..
· IT/Java
자동 타입 변환 자동 타입 변환은 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 대입될 때 발생한다. 기본 타입을 허용 범위 순으로 나열 byte < short, char < int < long < float < double byte byteValue = 10; int intValue = byteValue; byte 타입은 1byte, int 타입은 4byte 메모리의 크기로 int 타입의 허용 범위가 더 크기 때문에 자동 타입 변환이 된다. long longValue = 5000000000L; float floatValue = longValue; // 5.0E9F double doubleValue = longValue; // 5.0E9 정수 타입이 실수 타입으로 대입될 경우에는 실수 타입은 정..
· IT/Java
정수 타입 타입 메모리 크기 저장되는 값의 허용 범위 byte 1byte 8bit -128 ~ 127 short 2byte 16bit -32,768 ~ 32,767 char 2byte 16bit 0 ~ 65535(유니코드) int 4byte 32bit -2,147,483,648 ~ 2,147,483,647 long 8byte 64bit -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 리터럴(literal) 리터럴이란 프로그래머가 직접 입력한 값을 의미한다. 소스 코드의 고정된 값을 대표하는 용어이며, 종류로는 정수, 실수, 문자, 논리, 문자열 리터럴이 있다. 변수에 대입할 정수 리터럴은 진수에 따라 작성하는 방법이 다르다. public class Int..
Huitopia
'IT/Java' 카테고리의 글 목록 (7 Page)