분류 전체보기(22)
-
Java 기본형
다소 깊이 있는 내용이므로 어렵다고 느낄 수도 있는데, 앞서 배운 기본형에 대한 대략적인 내용만으로도 별 부족함 없이 진도를 나갈 수 있으니까 다 이해하지 못해도 괜찮다. 그래도 언젠가는 반드시 알아야하는 내용이므로 가볍게라도 봐둘 필요는 있다. 논리형 - boolean 논리형에는 boolean한가지 밖에 없다. boolean형 변수에는 true, false중 하나를 저장할 수 있으며 기본값(default)은 false이다. boolean형 변수는 대답(yes / no), 스위치(on / off) 등의 논리구현에 주로 사용된다. 그리고 boolean형은 true와 false, 두 가지의 값만을 표현하면 되므로 1bit만으로도 충분하지만, 자바에서는 데이터를 다루는 최소단위가 byte이기 때문에 boole..
2021.05.29 -
Java 진법 4
음수를 2진수로 표현하기 10진 음의 정수를 2진수로 변환하려면, 먼저 10진 음의 정수의 절대값을 2진수로 변환한다. 그 다음에 이 2진수의 2의 보수를 구하면 된다. 예를 들어 -5의 2진 표현을 구하는 과정은 다음과 같다. 위의 방법은 부호가 다르고 절대값이 같은 두 정수의 2진 표현이 서로 2의 보수 관계에 있다는 것을 이용한 것으로 복잡해 보이지만 간단하다. 절대값은 부호만 떼어내면 되고, 10진수를 2진수로 변환하는 방법은 이미 배웠고, 2의 보수로 변환하는 방법도 쉽다. 이미지의 마지막 2의 보수가 음수의 2진수값이 된다. 그러므로 -5 → 1011(2) 2의 보수 구하기 서로 2의 보수의 관계에 있는 두 수를 더하면 0(자리올림 발생)이 된다. 예를 들어 2진 수 0101의 2의 보수를 구..
2021.05.28 -
Java 진법 3
n진수를 10진수로 변환 어떤 진법의 수라도 10진수로 변환하는 방법은 똑같다. 각 자리의 수에 해당 단위의 값을 곱해서 모두 더하면 된다. 예를 들어 10진수 123은 다음과 같이 풀어쓸 수 있다. 123 = 100 + 20 + 3 = 1 X 100 + 2 X 10 + 3 X 1 = 1 X 10의2승 + 2 X 10의1승 + 3 X 10 마찬가지로 2진수는 다음과 같이 표현할 수 있는데, 각 자리의 다위가 10의 제곱이 아니라 2의 제곱이라는 점을 제외하면 10진수와 동일하다. 8진수와 16진수로 변환하는 방법 역시 동일하다. 1460(8) = 1 x 8의3승 + 4 x 8의2승 + 6 x 8의 1승 + 0 x 8의 0승 = 1 x 512 + 4 x 256 + 6 x 8 + 0 x 1 = 512 + 2..
2021.05.27 -
Java 진법 2
8진법과 16진법 2진법은 오직 0과1, 두 개의 기호만으로 값을 표현하기 떄문에, 2진법으로 값을 표현하면 자리수가 상당히 길어진다는 단점이 있다. 이러한 단점을 보완하기 위해 2진법 대신 8진법이나 16진법을 사용한다. 8진수는 2진수 3자리를, 16진수는 2진수 4자리를 각각 한자리로 표현할 수 있기 때문에 자리수가 짧아져서 알아보기 쉽고 서로 간의 변환방법 또한 매우 간단하다. 2진법 - 0 1 // 2개 8진법 - 0 1 2 3 4 5 6 7 // 8개 10진법 - 0 1 2 3 4 5 6 7 8 9 // 10개 16진법 - 0 1 2 3 4 5 6 7 8 9 A B C D E F // 16개 8진법은 값을 표현하는데 8개의 기호가 필요하므로 0~7개의 숫자를 기호로 사용하면 되지만, 16진법은..
2021.05.26 -
Java 진법 1
10진법과 2진법 우리는 일상속에서 주로 사용하는 것은 10진법이다. 2진법을 알지못하면 컴퓨터의 동작원리나 데이터 처리방식을 온전히 이해할 수 없다. 지금까지 변수에 값을 저장하면 10진수로 저장되는 것처럼 설명을 하였지만, 컴퓨터는 2진수(0과1)밖에 모르기 때문에 아래의 오른쪽과 같이 2진수로 바뀌어 저장된다. 2진수 11001은 10진수로 25이다. int age = 25; age = 25 → age = 11001 이처럼 2진법은 0과 1로만 데이터를 표현하기 떄문에 10진법에 비해 많은 자리수를 필요로한다. 10진수 2와 같이 작은 숫자도 2진수로 표현하려면 2자리가 필요하다. 2진수한자리로는 1보다 큰 값을 표현 할 수 없기 떄문이다. 이것은 10진수에서 9보다 큰 수를 표현하기 위해서는 두자..
2021.05.25 -
Java 상수 2
타입의 불일치 리터럴의 타입은 저장될 변수의 타입과 일치하는 것이 보통이지만, 타입이 달라도 저장범위가 넓은 타입에 좁은 타입의 값을 저장하는것은 허용된다. 예를 들어, double타입에 float리터럴타입을 넣어줘도 에러없이 작동된다 !! double f = 3.14f; O // float d = 3.14d; X 반대로 float타입에 double리터럴을 작동하면? 컴파일 에러가 뜬다!! double은 8byte 총 64bit인데 float은 4byte 총 32bit입니다. 큰타입에 작은 리터럴타입을 넣어줘도 상관은 없지만, 작은 타입에 큰 리터럴은 안된다 이말입니다! 문자 리터럴과 문자열 리터럴 'A'와 같이 작은 따옴표로 문자 하나를 감싼 것을 문자 리터럴이라고한다. 두문자 이상은 큰따옴표로 감싸야..
2021.05.15