전체 글 213

구구단 - 배열

목표 : 구구단 2단부터 9단까지 자동 계산해서 출력하기 - 계산하는 1부터 9까지 숫자가 필요, 단수는 2부터 9까지 필요 - 계산 수는 배열, 단수는 반복문으로 처리 1. 정수만 들어갈 수 있는 배열 result를 선언하고 int[] result 그 안에 9개의 메모리 수납공간을 가진 배열을 들여와 대입 int[] result = new int[9] 2. 단수는 2부터 9까지의 수가 필요하기 때문에 반복문 사용 for(int n = 2; n < 10; n++) { 3. 1부터 9의 숫자를 배열에 입력해주기 위해 반복문 사용 for(int i = 0; i < result.length; i++) { *컴퓨터는 숫자의 시작이 0이므로 i를 0으로 지정 *배열의 길이는 9 4. 배열의 0번부터 8번까지 구구..

Java/자바 2021.01.07

형변환

형변환은 데이터 타입을 바꾸는 것이다. int 200은 컴퓨터 시점에서 00000000 00000000 00000000 11001000 float 200.0은 컴퓨터 시점에서 01000011 01001000 00000000 00000000이다. -사람이 봤을 때 같은 수지만 컴퓨터는 두 숫자를 완전 다른 데이터로 인식한다 자동형변환(암시적형변환) 자바는 작은 데이터 타입에서 큰 데이터 타입으로 형변환하는 경우 자동으로 변형해주도록 세팅 되어있다. 하지만 큰 데이터 타입에서 작은 데이터 타입으로 변형은 데이터 손실이 될 수 있어서 자동으로 변형해주지 않는다. int 타입인 a와 float 타입인 b를 더하기 위해선 같은 타입으로 통일시켜야하는데 실수인 float 타입이 정수인 int 보다 크기 때문에 자동..

Java/자바 2021.01.06

상수형 데이터 타입

Int a = 1; 위 예시에서 int는 변수의 데이터 타입, a는 변수, 1은 상수이다 변수뿐만 아니라 상수도 데이터 타입을 가지고 있다. 예를 들어 위 예시에서 2.2는 float에 포함되는 실수이지만 자바에선 아무런 표시가 없는 실수는 double 타입으로 세팅이 되어 있기 때문에 2.2F 실수 뒤에 F로 float 타입임을 명시해줘야한다. *2.2D 더블 타입 상수, 2.2F float 타입 상수 동일하게 상수에서 정수는 int가 디폴트 값이기 때문에 뒤에 L을 넣어서 long 타입임을 명시해준다

Java/자바 2021.01.06

데이터 타입

데이터 크기 1bit = 0, 1 8bit = 1byte 1024byte = 1kilobyte 1024kilobyte = 1megabyte 1024megabyte = 1gigabyte 1024gigabyte = 1terabyte 데이터 타입 컴퓨터는 데이터 타입을 기준으로 램 안에서 쓸 수 있는 메모리를 지정해준다. 작은 수를 쓰더라도 지정된 메모리는 바뀌지 않기 때문에 메모리를 많이 쓰는 데이터 타입이 항상 좋은 건 아니다. 예를 들어 인천의 지하철 역 개수를 나타낸다고 하면 127개 보다 적은게 확실하기 때문에 byte를 사용하는게 메모리 관리나 최적화 측면에서 효율적이다. *컴퓨터 성능이 많이 좋아졌기 때문에 일반적으로는 거의 정수는 int, 실수는 double를 사용한다 자바에서는 문자와 문자열이..

Java/자바 2021.01.06

주석과 세미클론

주석이란? 자바가 무시하도록 하는 표시를 넣어 코드를 비활성화 하거나 추가 정보를 사람의 언어로 적어 놓는 것 주석은 프로그램적으로 해석이 되지 않는다 1. // 문장 - // 뒤에 한 줄을 주석 처리한다 2. /* ~ */ - /* 부터 */ 까지 주석처리 3. /** ~ */ - 자바 문서 생성 세미클론이란? 문장 (코드) 의 끝을 나타낸다 세미클론이 없을 경우 컴퓨터가 서로 다른 코드들을 구분할 수 없기 때문에 컴파일 에러가 나게 된다

Java/자바 2021.01.06

구구단

System.in System 클래스는 자바 버추얼 머신을 구성하고 있는 표준 장치를 뜻하는 클래스이다. 자바 버추얼 머신은 그 자체가 완벽한 하나의 컴퓨터 플랫폼을 가정하고 있기 때문에 독립적으로 동작할 수 있는 구조를 표현하기 위하여 표준 입력과 표준 출력을 스스로의 System 클래스에 등록하여 사용한다. 여기에서 주목해야 할 부분은 System.in 변수의 타입이 InputStream 이라는 점이다. InputStream 클래스는 최상위 클래스이면서 추상 클래스이다. 따라서 InputStream은 객체를 생성할 수 없는 클래스이다. 그런데도 System.in은 실제로 객체가 존재하고 있으며 이를 통하여 키보드 입력을 받을 수 있다. 이것은 변수의 타입은 선조 클래스이지만 실제 객체는 후손 객체이다..

Java/자바 2021.01.05

변수 타입

변수는 크게 문자와 숫자 그리고 논리로 나눌 수 있고 숫자는 정수와 실수로 나눈다 변수는 기본형과 참조형이 있다 #기본형 (boolean, char, byte, short, int, long, float, double) #참조형 (System, String 등등) - 메모리 주소를 저장 4 or 8 byte 하고 객체의 주소를 저장 기본형의 크기 (1byte = 8bit, 1bit = 2진수 1자리) 논리형 - boolean { false, true } = 1byte 문자형 - char = 2byte 정수형 - byte = 1byte, short = 2byte, int = 4byte, long = 8byte 실수형 - float = 4byte, double = 8byte *디폴트 기본형의 표현 범위 - ..

Java/자바 2020.12.30

두 변수 바꾸기

x = 2, y = 3 일 때 x의 값을 y로 y의 값을 x로 바꾸고 싶을 때 어떻게 해야하는가? x = y; y = x 라고 하면 x의 값인 2가 y로 가서 y=2가 되기 때문에 x=2, y=2 라는 결과가 나온다 그러므로 중간에 x의 값을 담아줄 그릇이 필요한데 변수를 이용한다 x=2, y=3, int tmp int tmp = x; x=y; y=tmp; tmp는 x값인 2가 되고 x는 y값인 3, 마지막으로 y는 tmp값인 2가 되기 때문에 x=3, y=2 라는 결과가 나온다

Java/자바 2020.12.30