본문 바로가기

전체 글

(322)
[Java] 배열 이래도 이해가 안된다고? 배열이 필요한 이유에 대해서 알아보기 위해서 학생의 점수를 출력하는 간단한 프로그램을 작성해보겠습니다. 만약 학생을 몇 명 더 추가해야 한다면 변수를 선언하는 부분과 점수를 출력하는 부분의 코드도 추가해야 합니다. 학생을 몇명 더 추가하는 것은 개발자가 코딩으로 해결할 수 있겠지만, 학생을 수백 명 이상 추가해야 한다면 코드가 상당히 길어질 것 입니다. 결국 학생 수가 증가함에 따라 코딩 양이 비례해서 증가하는 문제가 발생합니다. 변수를 선언하는 부분을 보면 학생 수가 증가함에 따라 int형 변수를 계속해서 추가해야 한다는 것이고, 학생 수가 5명이면 int형 변수를 5개 선언해야 하고, 학생 수가 100명이라면 int형 변수를 100개 선언해야 합니다. 결국 비슷한 변수를 반복해서 선언하는 문제가 발생..
[Java] Scanner 변수, 연산자, 조건문, 반복문은 프로그래밍의 가장 기본이 되는 기능입니다. 대부분의 프로그램 언어는 이 기능을 필수로 가지기도 하고요. 지금까지 학습할 때 아쉬움이 있었는데, 사용자의 입력이 없었다는 점입니다. 이번 시간에는 사용자의 입력을 받는 방법을 배워서, 좀 더 그럴듯한 프로그램을 만들어보겠습니다. System.out을 통해서 출력을 했듯이, System.in을 통해서 사용자의 입력을 받을 수 있습니다. 그런데 자바가 제공하는 System.in을 통해서 사용자의 입력을 받으려면 여러 과정을 거쳐야해서 복잡하고 어렵습니다. 자바는 이런 문제를 해결하기 위해서 Scanner라는 클래스를 제공합니다. 이 클래스를 사용하면 사용자 입력을 매우 편리하게 받을 수 있습니다. Scanner scanner =..
[Java] 자동 형변환? 캐스팅? 작은 범위에서 큰 범위로는 당연히 값을 넣을 수 있습니다. 예시 ) int → long → double 큰 범위에서 작은 범위로 값을 넘기게 되면 이런 문제들이 발생할 수 있죠? 1) 소수점 버림 2) 오버플로우 자바에서도 작은 범위에서 큰 범위로 대입은 허용합니다. int < long < double int 보다는 long이, long보다는 double이 더 큰 범위를 표현할 수 있습니다. 자바는 기본적으로 같은 타입에 값을 대입할 수 있습니다. 그런데 다른 타입에 값을 대입하면 어떻게 될까요? int → long을 비교해보면 long이 int보다 더 큰 숫자 범위를 표현합니다. 작은 범위 숫자 타입에서 큰 범위 숫자 타입에 대입을 하면 문제가 되지 않습니다. long → double의 경우에도 dou..