자바(11)
-
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 -
Java 화면에서 입력받기(Scanner)
지금까지는 화면에 출력만 해왔는데, 이제 화면으로부터 입력받는 방법에 대해서 배워보자. 자바에서 화면으로 부터 입력받는 방법은 여러가지가 있으며, 점점 간단하고 편리한 방향으로 발전해 왔다. 최신 방법은 JDK1.6추가된 console클래스를 이용하는 것인데, 이 클래스는 이클립스와 같은 IDE에서 잘 동작하지 않으므로, 이와 유사한 Scanner클래스를 이용해서 화면으로부터 입력받는 방법을 배워보자 화면으로부터 입력받는 방법은 아직 배우지 않은 것들을 알아야하는데도 불구하고 본인이 직접 입력을 하면 자칫 지루해 질 수 있는 내용들이 좀더 재미있어지지 않을 까 하는 생각에서 미리 소개하게 되었다. 나중에 자세히 배울 테니 지금은 히해하기 보다는 가져다 사용하는 정도로만 활용해주었으면 한다. Scanner..
2021.04.29