JAVA
정수형의 오버플로
정수형의 오버플로
2022.03.14최댓값에서 +1을하면 오버플로우가 발생해서 최소값이 된다. 최소값에서 -1을하면 오버플로우가 발생해서 최대값이 된다. 종이를 앞뒤로 연결했다고 생각하면 쉽다. 결론은, 최댓값에다 +1을하면 최소값이되고, 최소값에 -1을 하면 최대값이 된다. 부호없는 정수(4bit)의 경우이다. 이경우, 표현범위가 '0~15'이다. 최댓값인 15에 +1을 하면 최솟값인 0이 되고, 최솟값인 0에 -1을 하면 최댓값인 15가 된다. 이번에는 부호 있는 정수(4bit)의 경우이다. 이 경우, 표현범위가 '-8~7'이다. 최댓값인 7에 +1을 하면 최소값인 -8이되고, 최소값인 -8에 -1을 하면 최대값인 7이 된다. short 타입은 부호 있는 정수고, char는 부호 없는 정수이다. 둘다 2byte이다. 2byte는 16b..
화면으로부터 입력받기
화면으로부터 입력받기
2022.03.13화면에서 입력받기 - Scanner Scanner란? 화면으로부터 데이터를 입력받는 기능을 제공하는 클래스 Scanner를 사용하려면? 1. import문 추가 import java.util.*; 이때 *은 java.util 패키지(특정 패키지) 안에 있는 모든 클래스를 사용할 수 있다. import java.util.Scanner라고 적어도 되는데, 이렇게 하면, Scanner클래스만 사용할 수 있다; 2. Scanner 객체의 생성 Scanner scanner = new Scanner(System.in); System.in은 화면 입력을 의미한다. 3. Scanner객체를 사용 int num = scanner.nextInt();// 화면에서 입력받은 정수를 num에 저장 이 문장은 화면에서 입력한 정..
printf를 이용한 출력
printf를 이용한 출력
2022.03.12형식화된 출력 println()의 단점 - 출력 형식 지정 불가 1. 실수의 자리수 조절 불가 - 소수점 n자리만 출력하려면? System.out.println(10.0/3); # 3.3333333... 소수점 셋째자리나 넷째자리까지만 출력하고 싶지만, println메서드는 아쉽게도 그러한 기능이 없다. 2. 10진수로만 출력된다. - 8진수, 16진수로 출력하려면? System.out.println(0x1A);// 26 printf() 로 출력형식 지정 가능 System.out.printf("%.2f", 10.0/3);// 3.33 "%.2f"는 소수점 둘째자리까지 출력하라는 뜻이다. System.out.printf("%d", 0x1A);// 26 "%d"는 정수를 10진수로 출력하라는 뜻이다. Sys..
기본형의 종류와 범위
기본형의 종류와 범위
2022.03.11기본형 (Primitive type) - 종류와 크기 논리형 - true와 false중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용된다. boolean이 있다. 문자형 - 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다. char가 있다. 정수형 - 정수 값을 저장하는데 사용된다. 주로 사용하는 것은 int와 long이며, byte는 이진 데이터를 다루는데 사용되며, short은 c언어와의 호환을 위해 추가되었다.(short는 잘 안쓰임) 실수형 - 실수 값을 저장하는데 사용된다. float와 double이 있다. ※ Java에서는 최소단위가 1byte임., 그리고 Java에서는 문자의 경우 2byte문자 체계인 유니코드를 사용한다. 1 ibit = 2진수 1자리, 1byte..
기본형과 참조형
기본형과 참조형
2022.03.11값의 타입 기본형 8개 값 문자 - char 숫자 정수 - byte, short, int, long 실수 - float, double 논리 - boolean 기본형과 참조형 기본형 (Primitive type) - 오직 8개 (boolean, char, byte, short, int, long, float, double) - 실제 값을 저장 - type마다 크기가 다름 - ex) byte는 1byte, short는 2byte, int는 4byte, long은 8byte 참조형(Reference type) - 무한개(우리가 추가할 수 있음) 기본형을 제외한 나머지(String, System 등) - 메모리 주소를 저장(4 byte 또는 8 byte) - type에 관계없이 항상 크기가 4byte임 이때, ..
두 변수 바꾸기
두 변수 바꾸기
2022.03.11두 변수의 값 교환하기 int x = 10, y = 20; x와 y라는 변수가 선언되었고, 각각 10과 20으로 초기화 되있다고 가정하자. 이때, x와 y에 저장된 값을 서로 바꾸려면 어떻게 해야할까? x = y;// y의 값을 x에 저장 y = x;// x의 값을 y에 저장 이렇게하면 될까? 위의 방식으로 실행하면, 이 그림처럼, 둘다 20으로 바뀌게 된다. 따라서, tmp라는 새로운 변수를 선언해 주고, 그것을 이용해서 x와 y에 저장된 값을 서로 교환시킬 수 있다. int x = 10, y = 20; int tmp; tmp = x;// x의 값을 tmp에 저장 x = y;// x의 값을 y에 저장 y = tmp;// tmp의 값을 y에 저장 x 에 있던 10을 tmp로 옮기고 y에 있던 20을 x로..