전체 글 25

자바에서 랜덤의 숫자(난수)를 활용하고 싶을 때? Math.random()을 쓰자!

자바 초보로 콘솔을 활용해서 부족하게나마 프로그래밍을 해나갈 때, 그나마 좀 있어 보이면서(!) 활용하기 쉬웠던 것이 자바에서 랜덤한 숫자, 한자로 '난수'를 제공해 주는 Math.random() 메소드였다 정확하게는 java.lang.Math 클래스의 정적 메소드이다. 0부터 1 사이의 난수를 제공해 주는데, 어떻게 쓰는지에 따라 그 쓰임새가 무궁무진하다. 자바의 Math.random() 메소드 반복문을 사용해 Math.random() 메소드를 출력했다. 0보다는 크지만 1보다는 작은 다양한 소수 값이 나왔다. 정말 랜덤하게 나온다! 그럼 이걸, 어떻게 활용하냐! 고수분들은 더 유용하게 활용하실 수도 있고, 아님 다른 방법으로 난수를 만드실 수도 있지만 뼝아리 관점에서 적어 봄! 위 반복문을 통해 얻은..

카테고리 없음 2021.03.18

자바 데이터타입별 최대값과 최소값 출력하기 (MIN_VALUE, MAX_VALUE

자바는 데이터타입이라는 개념이 아주 확실한 녀석이다. (나중에 다른 언어들을 배우다 보면 자바가 개중 매우 확실한 편이라는 걸 알 수 있다) 기본 타입 (정수, 실수, 문자, 논리형) - 원시 Primative 타입이라고도 함 그리고 비원시 타입 (클래스, 인터페이스, 배열)으로 나뉜다 기본 타입에 대해서만 꼼꼼하게 이해해도 비원시는 나중에 이해하게 된다! 정수 타입과 실수 타입 정수 타입은 메모리 순서대로, 그러니까, '몇 자리 숫자까지 커버 가능한지'의 순서대로 byte < short < int < long 이 있다. 각각 1바이트 < 2바이트 < 4바이트 < 8바이트를 표현할 수 있는데 1바이트는 8비트로 구성, 1비트는 0과 1의 2개 경우의 수로 구성되기 때문에 범위를 따지면 요런 느낌이 된다...

개발/Java 2021.03.18

자바 명명 규칙, 개발자들 간의 암묵적인 약속!

처음 자바를 배우면서, 호기심봇인 나는 계속해서 궁금했다. 왜 이건 대문자죠? 근데 또 왜 이건 소문자죠? 이유는 없다. '그냥', 혹은 '늘 그렇게 해 왔으니까' "그게 웬 꼰대같은 마인드람? 난 전통을 부숴버리겠어!" 라고 하기엔 그 약속에 의해서 '이렇겠거니' 하고 추정할 수 있는 데서 오는 이득이 더 클 것이라고 생각한다. 이것을 지키지 않아도 에러가 나진 않는다. 다만 현업에서 일하려면 지키는 게 좋다고! 처음부터 습관을 들여서 코딩하면 따로 익히지 않아도 되겠지. 자바 명명 규칙 종류 명명 규칙 예시 패키지 이름 소문자 java.util 클래스 이름 첫 자는 대문자, 나머지는 소문자 합성어의 경우 첫 자들은 대문자 StringBuffer InputStream 생성자 이름 클래스 이름과 같음 메..

개발/Java 2021.03.18

자바 가상 기계 (JVM, Java Virtual Machine)

JVM 개념 설명에 가장 많이 돌아다니는 이미지로 포스트를 시작 :-) 이전 포스팅에서, 프로그래밍 언어는 완전한 기계어(0101011110111)가 아니라 인간 언어와 기계어 사이에 있는 통역사 같은 언어라고 했었다. 그래서 운영체제는 프로그래밍 언어를 직접 해석하지 못한다. (쨌든 기계어가 아니니까!) 기계어가 아닌, 이 '프로그래밍 언어'를 해석하기 위해서는 가상의 운영체제가 필요하다. 자바에게는 그것이 바로 자바 가상 기계인 JVM이다. 자바를 어느 대기업 회장님이라고 치자. 회장님은 전 세계 어딜 가도 두렵지 않다. 전담 통역사가 있으니까. 중국어, 스페인어, 일본어, 다 회장님이 할 필요 없다. 통역해 주니까. 대신 통역사는 중국어 통역사, 스페인어 통역사가 달라야 할 거다. 그래서 자바는 운..

개발/Java 2021.03.18

프로그래밍 언어란? 자바(Java)란?

우리가 사용하는 언어는 컴퓨터 입장에서 "이해할 수 없는 문자 집합" 컴퓨터가 사용하는 언어는 우리의 입장에서 "0과 1의 이상한 반복" 사람과 기계가 커뮤니케이션 할 수 있도록 중간다리 역할을 하는 것이 우리가 배울, 모두가 배우고 싶어하는, 프로그래밍 언어이다. 프로그래밍 언어는 고급 언어와 저급 언어로 분류된다 (비하 아님) 복잡한 인간 언어에 가까워서 우리가 배우기 쉬운 것이 고급 프로그래밍 언어, 기계어에 더 가까운 것이 저급 프로그래밍 언어이다. 우리가 주로 배우는 것은 당연히 배우기 (저급 언어에 비해 그나마) 쉬운 고급 프로그래밍 언어로, C, C++, Java 등이 대표적이다. 이 언어는 컴퓨터가 바로 이해하기는 어렵기 때문에 기계어로 변환하는 '컴파일' 과정을 거쳐야 한다. 단, Jav..

개발/Java 2021.03.18