cording/자바의정석 썸네일형 리스트형 [Operator] 반올림 Math.round() 3.141592 에서 5를 반올림하려고 할때, 1000을 먼저 곱하고 반올림메서드를 이용해 반올림한다. double로 변환해주고 나눠주면 3.142로 결과값이 출력된다. 더보기 [Operator] 사칙연산, 산술변환 a * b 의 결과 값을 담는 변수 c의 자료형이 long타입 이기때문에 결과값이 2,000,000,000,000 나올것 같지만, 결과값이 -1454759936이 출력된다. int타입과 int 타입의 연산결과는 늘 int 타입이기때문이다. 그래서 자동형변환을 해도 값이 변하지 않는다. 변수 a 또는 b 타입을 ' long' 으로 형변환해준다. 더보기 [Operator] 형변환연산자, 자동형변환 형변환 (=casting) 이란, 변수 또는 상수의 타입을 다른타입으로 변환하는것 ex) (타입)피연산자 정수형 >> 실수형은 실수형이 훨씬 더 큰 저장범위를 갖기 때문에 무리가 없다. 단, int의 최대값은 최대 10자리의 정밀도를 요구하지만 float는 7자리의 정밀도만을 제공하므로 8자리 이상부터는 15자리 정밀도를 가진 double로 형변환해야 오차가 발생하지 않는다. 실수형 >> 정수형은 실수형의 소수점이하 값은 버려진다. 변수가 저장할 수 있는 값의 범위보다 더 큰 값을 저장하려는 경우에 형변환을 생략하면 에러가 발생한다. 자동형변환 1. boolean을 제외한 나머지 7개의 기본형은 서로 형변환이 가능하다. 2. 기본형과 참조형은 서로 형변환할수없다. 3. 서로 다른 타입의 변수간의 연산은 .. 더보기 [Operator] 단항연산자 - 증감연산자, 부호연산자 증감연산자 증감연산자의 피연산자로 정수와 실수 모두 가능, 단 상수는 값을 변경할 수 없으므로 가능하지 않다. 일반 산술변환에 의한 자동형변환이 발생하지 않으며, 연산결과의 타입은 피연산자의 타입과 같다. 증가 연산자(++) : 피연산자의 값을 1 증가시킨다. 감소연산자(--) : 피연산자의 값을 1 감소시킨다. 일반적으로 단항 연산자는 피연산자의 왼쪽에 위치하지만, 증감연산자는 양쪽 모두 가능하다. 전위형 : 값이 참조되기 전에 증가 ex) j = ++i; 후위형 : 값이 참조된 후에 증가 ex) j = i++; 여기서 증감연산자가 수식이나 메서드 호출에 포함되지 않고 독립적인 하나의 문장으로 쓰인 경우에는 차이가 없다. 예제 결과 전위형 1) ++i ; // 증가후에 2) j = i; //참조하여 대.. 더보기 [Operator] 연산자, 우선순위와 결합규칙 연산자(operator) : 연산을 수행하는 기호 (+,-,*,/ 등) 피연산자 (operand): 연산자의 작업대상 (변수, 상수, 리터럴, 수식) 연산자에는 우선순위와 결합규칙이 있다. 우선순위는 예를 들어 x 대입 대입은 제일 마지막에 수행된다. 2. 단항(1) > 이항(2) > 삼항(3). 단항 연산자의 우선순위가 이항 연산자 보다 높다. 3. 단항 연산자와 대입연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다. 더보기 [Variable] 타입간의 변환 str.charAt(0) : string 형식으로 저장된 문자열 중에서 첫번째 문자를 char 타입으로 변환한다. 여기서 문자열 "3" 에 '0' 을 빼주면서 char 형의 문자들을 int형 숫자로 변환시킨다. 결과값 3 System.out.println('3' - '0' +1); : 문자 '3'에 '0' 을 빼고 숫자 1을 더해주니 결과값 4가 나왔다. System.out.println(Integer.parseInt("3") +1); : 문자열을 숫자로 변환시킨다. System.out.println("3" +1); : 문자열+ 숫자 1은 문자로 인식해서 결과값 31이 나온다. System.out.println(3 + '0'); : 문자 '0' 은 숫자로 48 이므로 3을 더해서 결과값 51이 나온다. 더보기 [Variable] 화면에서 입력받기 - Scanner Scanner 클래스를 사용하려면, 아래의 한문장을 추가해줘야 한다. 1. import java.util.*; 또는 import java.Scanner; 그다음엔 Scanner 클래스의 객체를 생성해준다. 2. Scanner scanner = new Scanner (System.in);그리고 nextLine() 이라는 메서드를 호출하면, 입력대기 상태에 있다가 입력을 마치고 엔터키를 누르면 입력한 내용이 문자열로 나타난다.String input = scanner.nextLine(); : 입력받은 내용을 input 에 저장한다.int num = Interger.parseInt(input); : 입력받은 내용을 int 타입의 값으로 변환한다. 결과값 하지만 nextInt() 나 nextFloat() 와 같이.. 더보기 [Variable] printf 를 이용한 출력 println()은 사용하기 편하지만 변수의 값을 그대로 출력하므로 값을 변환하지 않고는 다른 형식으로 출력할수없다. 예를들어 소수점 둘째자리까지만 출력하거나, 정수를 16진수나 8진수로 출력한다던가. 이럴때 printf()를 사용하면 된다. 만일 출력해야하는 값이 2개라면 지시자 또한 2개를 사용해야하며, 출력될 값과 지시자의 순서도 일치해야한다. 또한 println()과 달리 줄바꿈을 하지 않기 때문에 줄바꿈 지시자 %n을 따로 넣어야한다. *%n 은 개행문자이다. 지시자 중에서 자주 사용되는 것 지시자 설명 %b 블리언(boolean) 형식으로 출력 %d 10진(decimal) 정수의 형식으로 출력 %o 8진(octal) 정수의 형식으로 출력 %x, %X 16진(hexa-decimal) 정수의 형식.. 더보기 이전 1 2 다음