피보나치(Fibonnaci) 수열은 앞 두 수를 더해서 다음 수를 만들어 나가는 수열이다. ex) 1,1,2,3,5,8,13,21,... 값이 만들어지는 패턴을 이렇다. 1 + 1 = 2 1 + 2 = 3 2 + 3 = 5 (...) num1 + num2 = num3 num2 + num3 = num4 num3 + num4 = num5 (...) 일정하게 반복되고 있기 때문에 자바의 반복문 for를 이용하면 원하는 구간만큼 값을 출력할 수 있다. 제한된 변수에서 연산을 반복하기 위해서는 수학적인 추론이 필요하다. num1, num2, num3 세 개의 제한된 변수로 반복적으로 뒤의 숫자를 출력해야 한다. 아래는 피보나치 수열의 10번째 값까지 출력한 코드다. int num1 = 1; int num2 = 1..
자바 for문을 통해 반복되는 패턴을 출력할 수 있다. 우선 1부터 100까지의 숫자를 출력해 보도록하자. for(int i=1; i
자바에서 for문 안에 선언한 변수는 for문이 종료되면 가비지 컬렉션이 회수한다. 때문에 값이 출력되지 않는다. 출력문에서 에러가 난다. i 값이 존재하지 않기 때문이다. for문 밖에 int i = 0; 선언하자 에러가 사라진다. 출력되는 i 값은 3
평균을 구하는 연산을 할 때 변수 타입으로 double을 자주 사용한다. 소수점이 나오는 경우가 많기 때문. 그러나 double형의 결과 값이 너무 많은 소수점을 포함하면 가독성을 해칠 수 있다. 이럴 떄 String.format을 사용하면 쉽게 해결할 수 있다. double a = 10; double b = 15; double avg = (a + b)/3.0; System.out.println(avg); 10과 15의 평균값을 구하는 코드다. 결과 값은 8.333333333333334 소수점 한 자리까지만 표현하도록 바꾸기 위해 String.format을 사용한다. double a = 10; double b = 15; double avg = (a + b)/3.0; System.out.println(St..
조건에 맞는 값을 출력하고 싶을 때 사용하는 if문은 자바 코딩 과정에서 가장 많이 쓰는 연산 중 하나다. 3개의 과목의 성적을 입력하면 총점, 평균, 학점을 출력하는 프로그램을 만들어보자. 평균이 90점 이상이면 학점은 A, 80점 이상이면 B, 70점 이상이면 C를 출력한다. public class Ex { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("100점까지만 입력할 수 있습니다."); System.out.print("과목1 : "); int first = scan.nextInt(); System.out.print("과목2 : "); int second = sca..
이클립스 등의 IDE 프로그램 없이 메모장으로도 코딩을 하고 프로그램을 만들 수 있다. IDE를 두고 굳이 메모장으로 개발할 일은 없겠지만 그래도 한번쯤 해보면 JDK의 컴파일, 실행 기능에 대한 이해가 조금은 생긴다. 준비물: JDK, 메모장 바탕화면에 workspace라는 폴더를 만들고 메모장에 hello world를 출력하는 자바 코드를 작성, 저장했다. 이때 확장자 명을 .java로 바꿔줘야 한다. note.txt >> note.java 이제 명령 프롬프트를 통해 메모장으로 저장한 note.java 파일을 컴파일하고 실행하면 된다. 윈도우키 + R >> cmd >> 확인 명령 프롬프트를 통해 사용자는 컴퓨터에게 마우스가 아닌 텍스트(키보드)로 명령을 내린다. 우선 note.java가 있는 work..
이클립스는 코드의 오류를 표시하고 해결법을 제시해준다. 오류가 발생하면 빨간색 줄로 표시한다. 그런데 노란색 줄을 표시하기도 한다. 이는 일종의 주의를 주는 것이다. 노란줄에 커서를 놓고 설명 박스를 살펴보면, 변수가 사용되지 않고 있다는 설명이 보인다. 프로그램을 실행하는데는 문제가 없지만 낭비가 발생하고 있다는 의미다. System.out.println(b1); 변수 b1을 출력하는 코드를 작성하니 노란줄이 사라진다.
JDK를 다운로드하고 개발환경을 구축하기 위해서는 환경변수를 설정해야 한다. 제어판 >> 시스템 고급 시스템 설정 >> 환경변수 환경변수 설정은 사용자 변수 / 시스템 변수로 구분해서 설정한다. 사용자 변수는 윈도우에 로그인한 사용자만을 대상으로 설정된다. 시스템 변수는 모든 로그인 사용자를 대상으로 설정된다. 사용자 변수에서 >> 새로 만들기 변수 이름은 JAVA_HOME으로 변수 값은 JDK가 저장되어 있는 폴더 주소 값을 복사 붙여 넣기 해서 넣어준다. 별도 설정이 없었다면 JDK가 다운된 위치는 보통 Programfiles >> Java다. 이번엔 시스템 변수로 와서, 이미 존재하는 Path를 클릭 >> 편집 이번엔 bin 폴더를 들어간 경로까지를 복사해서 붙여넣기한다. 확인하면 JDK 환경 변수..
이클립스를 사용하는데 코드를 저장할 때마다 Hot Code Replace Failed가 뜬다면? 이 팝업창은 오류(error)가 아니라 일종의 경고다. 이 경고장은 이클립스의 내장 기능이 원활히 작동하지 못하며 발생한다. 이클립스에서는 디버그 모드로 JVM을 구동하고 런타임이 종료되지 않은 상태에서 클래스 파일이 변경되면 JVM 재시작 없이 변경된 클래스 파일을 교체하는 기능을 제공한다. 그것이 바로 Hot Code Replace 기능이다. 이 기능은 메서드 본문을 수정했을 때 정상적으로 replace된다. 그러나 클래스와 메서드의 선언부, 클래스 변수 혹은 인스턴스 변수, 스태틱 블록 등은 replace가 불가능하다. 때문에 이런 변경이 감지되면 Hot Code Replace Failed 경고가 발생하..
배열을 이용해 구구단을 구현하던 중 에러가 발생했다. exception ArrayIndexOutOfBounds.Exception 라는 설명과 함께 result[i] = 2 * (1 + i);