자바 생각 2 판.
이 책의 목표는 컴퓨터 과학자처럼 생각하는 법을 가르치는 것입니다.이러한 사고 방식은 수학,공학 및 자연 과학의 가장 큰 특징 중 일부를 결합합니다.수학자와 마찬가지로 컴퓨터 과학자들은 공식 언어를 사용하여 아이디어,특히 계산을 나타냅니다.엔지니어처럼,그들은 시스템에 구성 요소를 조립하고 대안 간의 트레이드 오프를 평가,일을 설계합니다.그리고 과학자들과 마찬가지로,그들은 복잡한 시스템의 행동을 관찰하고,가설을 세우고,예측을 테스트합니다.
컴퓨터 과학자에게 중요한 기술은 문제입니다.solving.It 문제를 공식화하고,해결책에 관하여 창조적으로 생각하고,명확하게 해결책을 내색하는 기능을 관련시킨다 accurately.As 컴퓨터를 프로그래밍하는 법을 배우는 과정은 문제 해결 기술을 개발할 수있는 좋은 기회입니다.한 수준에서,당신은 자바 프로그램,그 자체로 유용한 기술을 작성하는 학습됩니다.그러나 다른 수준,당신 수단로 로그램 사니다 end.As 우리는 함께 가고,그 끝은 더 명확해질 것입니다.
1.1 컴퓨터란 무엇인가?
사람들은 컴퓨터라는 단어를 들을 때 종종 데스크톱이나 노트북을 떠올린다.당연히 구글 이미지(https://images.google.com/)에서”컴퓨터”를 검색하면 이러한 유형의 기계의 행과 행이 표시됩니다.그러나 좀 더 일반적인 의미에서 컴퓨터는 데이터를 저장하고 처리하는 모든 유형의 장치 일 수 있습니다.
Dictionary.com 컴퓨터를”데이터를 수용하고,규정 된 수학 및 논리 연산을 고속으로 수행하고,이러한 연산의 결과를 표시하도록 설계된 프로그래밍 가능한 전자 장치”로 정의합니다.메인 프레임,데스크톱 및 랩톱 컴퓨터,태블릿 및 스마트 폰은 다양한 유형의 컴퓨터 중 일부입니다.”
각 유형의 컴퓨터는 고유 한 디자인을 가지고 있지만 내부적으로는 모두 동일한 유형의 하드웨어를 공유합니다.가장 중요한 두 가지 하드웨어 구성 요소는 간단한 계산을 수행하는 프로세서와 정보를 일시적으로 저장하는 메모리(또는 램)입니다.그림 1.1 은 이러한 구성 요소의 모양을 보여줍니다.
그림 1.1:프로세서 및 메모리 하드웨어의 예.
사용자는 일반적으로 터치 스크린,키보드 및 모니터를보고 상호 작용하지만 실제 계산을 수행하는 것은 프로세서 및 메모리입니다.요즘은 적어도 8 개의 프로세서와 메모리의 사기가바이트(사십억 셀)를 가지고,심지어 스마트 폰,상당히 표준입니다.
1.2 프로그래밍이란?
프로그램은 컴퓨터 하드웨어에서 계산을 수행하는 방법을 지정하는 명령 시퀀스입니다.계산은 방정식 시스템을 풀거나 다항식의 뿌리를 찾는 것과 같은 수학적 일 수 있습니다.또한 문서의 텍스트 검색 및 교체 또는(이상하게도)프로그램 컴파일과 같은 상징적 인 계산 일 수도 있습니다.입력:키보드,파일,센서 또는 기타 장치에서 데이터를 가져옵니다. 출력:화면에 데이터를 표시하거나 파일 또는 다른 장치로 데이터를 보냅니다. 수학:덧셈과 나눗셈과 같은 기본적인 수학 연산을 수행합니다. 결정:특정 조건을 확인하고 적절한 코드를 실행하십시오. 반복: 일반적으로 약간의 변형으로 반복적으로 작업을 수행하십시오.
믿거 나 말거나,거의 모든 것이 있습니다.당신이 이제까지 사용한 적이 모든 프로그램,아무리 복잡한,많은처럼 작은 지침으로 구성되지 않습니다 these.So 크고 복잡한 작업을 작고 작은 하위 작업으로 나누는 프로세스로 프로그래밍을 생각할 수 있습니다.이 과정은 하위 작업이 하드웨어가 제공하는 전자 회로로 수행 할 수있을만큼 간단 할 때까지 계속됩니다.
1.3 헬로 월드 프로그램
전통적으로 새로운 프로그래밍 언어를 배울 때 처음 쓰는 프로그램을”헬로 월드”프로그램이라고합니다.이가하는 모든 출력 단어 안녕하세요,세계입니다! 에 screen.In 자바,그것은 다음과 같습니다:
이 프로그램을 실행하면 다음을 표시합니다:
안녕하세요,세계!
출력에 따옴표가 포함되지 않습니다.
자바 프로그램은 클래스 및 메소드 정의로 구성되며 메소드는 명령문으로 구성됩니다.문은 기본 작업을 수행하는 코드 줄입니다.헬로 월드 프로그램에서 이 줄은 사용자에게 메시지를 표시하는 인쇄 문입니다:
체계.밖으로.”안녕하세요,세상!”);
System.out.println
화면에 결과를 표시합니다.혼란스럽게도 인쇄는”화면에 표시”와”프린터로 보내기”를 모두 의미 할 수 있습니다.이 책에서는 화면에 출력을 의미 할 때”표시”라고 말하려고합니다.대부분의 문과 마찬가지로 인쇄 문은 세미콜론(;
)으로 끝납니다.
자바는 대문자와 소문자가 동일하지 않은 것을 의미”대소 문자를 구분”입니다.헬로 월드 프로그램에서System
은 대문자로 시작해야 합니다.system
와SYSTEM
은 작동하지 않습니다.
메서드는 명명된 명령문 시퀀스입니다.이 프로그램은 다음과 같은 하나의 방법을 정의합니다main
:
공용 정적 무효 메인(문자열 인수)
프로그램이 실행되면main
의 첫 번째 문에서 시작하여 마지막 문을 마칠 때 끝납니다.나중에 둘 이상의 메서드를 정의하는 프로그램이 표시됩니다.
이 프로그램은Hello
라는 클래스를 정의합니다.현재 클래스는 메서드 모음입니다; 우리는 나중에 이것에 대해 더 말할 것입니다.당신은 클래스 당신이 좋아하는 어떤 이름을 부여 할 수 있지만,대문자로 시작하는 것이 일반적이다.클래스의 이름이 있는 파일의 이름과 일치해야 하므로 이 클래스는 안녕하세요 라는 파일에 있어야 합니다.자바.
자바는 중괄호({
및}
)를 사용하여 사물을 그룹화합니다.together.In 여보세요자바,가장 바깥쪽 중괄호는 클래스 정의를 포함하고,내부 중괄호는 메소드 정의를 포함합니다.
두 개의 슬래시(//
)로 시작하는 줄은 코드를 설명하는 약간의 영어 텍스트 인 주석입니다.자바가//
를 볼 때,그것은 거기에서 줄의 끝까지 모든 것을 무시한다.코멘트는 프로그램의 실행에는 아무런 영향을 미치지 않지만,다른 프로그래머(그리고 미래의 자신)가 당신이 무엇을 의미하는지 쉽게 이해할 수 있도록합니다.
1.4 컴파일 자바 프로그램
이 책에서 배울 프로그래밍 언어는 자바입니다,이는 높은 수준의 언어입니다.당신이 들어있을 수 있습니다 다른 높은 수준의 언어는 파이썬을 포함,씨와 씨++,
프로그램을 실행하기 전에 고급 언어로 된 프로그램을”기계어”라고도 하는 낮은 수준의 언어로 번역해야 합니다.이 번역은 약간의 시간이 걸리며 이는 고급 언어의 작은 단점입니다.그러나 높은 수준의 언어에는 두 가지 주요 이점이 있습니다:
- 높은 수준의 언어로 프로그래밍하는 것이 훨씬 쉽습니다.프로그램 쓰기 시간이 덜 걸릴,그들은 짧고 읽기 쉬운,그리고 그들은 올바른 될 가능성이 더 높습니다.
- 고급 언어는 이식성이 뛰어나므로 수정이 거의 없거나 전혀 없는 다양한 종류의 컴퓨터에서 실행할 수 있습니다.낮은 수준의 프로그램은 한 종류의 컴퓨터에서만 실행할 수 있습니다.
두 종류의 프로그램은 높은 수준의 언어를 낮은 수준의 언어로 번역합니다.compilers.An 인터프리터는 높은 수준의 프로그램을 읽고 실행,그것은 어떤 프로그램을 수행하는 것을 의미 says.It 한 번에 조금씩 프로그램을 처리하고 교대로 줄을 읽고 계산을 수행합니다.그림 1.2 는 인터프리터의 구조를 보여줍니다.
그림 1.2:해석된 언어의 실행 방법
대조적으로 컴파일러는 프로그램 실행을 시작하기 전에 전체 프로그램을 읽고 완전히 변환합니다.높은 수준의 프로그램을 소스 코드라고 합니다.번역된 프로그램을 개체 코드 또는 실행 파일이라고 합니다.프로그램이 컴파일되면 소스를 더 이상 번역하지 않고 반복적으로 실행할 수 있습니다 code.As 결과적으로 컴파일 된 프로그램은 종종 해석 된 프로그램보다 빠르게 실행됩니다.
개체 코드는 저수준 언어로서 이식할 수 없습니다.당신은 안드로이드 전화에 윈도우 노트북 컴파일 된 실행 파일을 실행할 수 없습니다,…에 대한 example.To 컴퓨터의 다른 유형에서 프로그램을 실행,그것은 여러 컴파일해야합니다 times.It 다른 유형의 컴퓨터에서 올바르게 컴파일하고 실행되는 소스 코드를 작성하기가 어려울 수 있습니다.
이 문제를 해결하기 위해 자바는 컴파일되고 해석됩니다.대신 실행 파일로 직접 소스 코드를 번역,자바 컴파일러는 가상 머신에 대한 코드를 생성합니다.이”가상”기계에는 데스크톱,랩톱,태블릿,휴대 전화 등에 공통적 인 기능이 있습니다.자바 바이트 코드라는 언어는 객체 코드처럼 보이며 쉽고 빠르게 해석 할 수 있습니다.
그 결과,한 머신에서 자바 프로그램을 컴파일하고,바이트 코드를 다른 머신으로 전송하고,다른 머신에서 바이트 코드를 실행할 수 있다.그림 1.3 은 개발 프로세스의 단계를 보여줍니다.자바 컴파일러는 라는 프로그램 javac.It 번역.에 자바 파일.결과 바이트 코드를 저장하는 클래스 파일.자바 인터프리터는”자바 가상 머신”에 대한 짧은 자바라는 이름의 또 다른 프로그램입니다.
그림 1.3: 컴파일 및 자바 프로그램을 실행하는 과정.
프로그래머는 파일 안녕하세요 소스 코드를 작성합니다.자바를 사용하여 컴파일합니다.오류가 없으면 컴파일러는 바이트 코드를 파일에 저장합니다 Hello.class.To 프로그램을 실행,프로그래머는 바이트 코드를 해석하는 자바를 사용합니다.프로그램의 결과는 다음 화면에 표시됩니다.
복잡해 보일 수 있지만 대부분의 개발 환경에서 이러한 단계가 자동화됩니다.일반적으로,당신은 단지 버튼을 누르거나 컴파일하고 프로그램을 해석하는 하나의 명령을 입력해야합니다.반면에,그것은 백그라운드에서 무슨 일이 일어나고 있는지 단계를 아는 것이 중요합니다,그래서 뭔가 잘못되면 당신은 그것이 무엇인지 알아낼 수 있습니다.
1.5 두 개의 메시지 표시
main
메서드에서 원하는 만큼 명령문을 넣을 수 있습니다.예를 들어 두 줄 이상의 출력을 표시하려면
이 예에서도 볼 수 있듯이 줄 끝과 줄 자체에 주석을 넣을 수 있습니다.
따옴표로 표시되는 구는 메모리에 함께 묶인 문자 시퀀스를 포함하므로 문자열이라고 합니다.문자는 문자,숫자,문장 부호,기호,공백,탭 등이 될 수 있습니다.
System.out.println
는 줄 바꿈이라는 특수 문자를 추가하여 다음 줄의 시작 부분으로 이동합니다.끝에 줄 바꿈을 원하지 않으면 대신print
을 사용할 수 있습니다println
:
이 예에서 첫 번째 문은 줄 바꿈을 추가하지 않으므로 출력이 한 줄에 나타납니다:
안녕,잔인한 세계
첫 번째 문자열의 끝에 공백이 있음을 알 수 있습니다.
1.6 소스 코드 서식 지정
자바 소스 코드에서는 공백이 필요합니다.예를 들어,단어 사이에 적어도 하나의 공간이 필요하므로이 프로그램은 합법적이지 않습니다:
이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다.밖으로.인쇄(“안녕,”);체계.밖으로.(“잔인한 세상”); }}
그러나 대부분의 다른 공간은 선택 사항입니다.예를 들어,이 프로그램은 합법적입니다:
줄 바꿈은 선택 사항입니다.too.So 우리는 이것을 쓸 수 있습니다:
여전히 작동하지만 프로그램은 점점 더 읽기 어려워지고 있습니다.줄 바꿈과 공백은 프로그램을 시각적으로 구성하여 프로그램을 쉽게 이해하고 오류가 발생할 때 오류를 찾는 데 중요합니다.
많은 편집자가 일관된 들여 쓰기 및 줄 바꿈으로 소스 코드의 서식을 자동으로 지정합니다.1)모든 텍스트를 선택하고 탭 키를 눌러 코드를 들여 쓸 수 있습니다.
소프트웨어 개발을 많이 하는 조직은 일반적으로 소스 코드를 포맷하는 방법에 대한 엄격한 지침을 가지고 있습니다.예를 들어,구글은 오픈 소스 프로젝트에 사용하기 위해 자바 코딩 표준을 게시:https://google.github.io/styleguide/javaguide.html.
아직 보지 못한 언어 기능을 참조하기 때문에 이러한 지침을 이해하지 못할 것입니다.그러나 이 책을 읽을 때 주기적으로 그들을 언급하고 싶을 수도 있다.
1.7 이스케이프 시퀀스 사용
한 줄의 코드만으로 여러 줄의 출력을 표시 할 수 있습니다.당신은 어디 줄 바꿈을 넣어 자바를 말할 수있다:
출력은 줄 바꿈 문자로 끝나는 두 줄입니다:
여보세요!어떻게 지내세요?
각\n
은 이스케이프 시퀀스 또는 단일 문자를 나타내는 소스 코드의 두 문자입니다.백슬래시를 사용하면 문자열을 이스케이프하여 특수 문자를 쓸 수 있습니다.)\n
과How
사이에는 공백이 없습니다.거기에 공백을 추가하면 두 번째 줄의 시작 부분에 공백이 생깁니다.
\n
줄 바꿈 \t
탭 \"
큰 따옴표 \
백슬래시 표 1.1:공통 이스케이프 시퀀스
자바에는 총 8 개의 이스케이프 시퀀스가 있으며 가장 일반적으로 사용되는 4 개의 시퀀스가 표 1.1 에 나와 있습니다.예를 들어 문자열 안에 따옴표를 쓰려면 백슬래시로 이스케이프 처리해야 합니다:
체계.밖으로.”그녀는 말했다\”안녕하세요!\”나에게.”);
결과는 다음과 같습니다:
그녀는”안녕하세요!”나에게.
1.8 컴퓨터 과학은 무엇입니까?
이 책은 의도적으로(예:다른 이스케이프 시퀀스 등)자바 언어에 대한 몇 가지 세부 사항을 생략,우리의 주요 목표는 어떻게 컴퓨터 과학자처럼 생각하는 방법을 가르치고 있기 때문에.계산을 이해할 수 있다는 것은 코드 작성 방법을 배우는 것보다 훨씬 더 가치가 있습니다.
당신이 자바 자체에 대한 자세한 내용을 학습에 관심이 있다면,오라클은 웹 사이트에 튜토리얼의 공식 세트를 유지(https://thinkjava.org/tutorial).”자바 언어 학습”에서 발견 된”언어 기본 사항”튜토리얼은 시작하기에 좋은 장소입니다.
프로그램 작성의 가장 흥미로운 측면 중 하나는 특정 문제를 해결하는 방법,특히 여러 솔루션이있을 때 결정하는 것입니다.예를 들어 숫자 목록을 정렬하는 방법에는 여러 가지가 있으며 각 방법에는 숫자 목록이 있습니다.advantages.In 순서는 주어진 상황에 가장 적합한 방법을 결정하기 위해,우리는 설명하고 공식적으로 솔루션을 분석하는 기술이 필요합니다.
알고리즘은 문제를 해결하는 방법을 지정하는 일련의 단계입니다.일부 알고리즘은 다른 알고리즘보다 빠르며 일부는 컴퓨터 메모리의 공간을 덜 사용합니다.컴퓨터 과학은 알고리즘의 과학이다,자신의 발견과 포함 analysis.As 당신은 당신이 전에 해결하지 않은 문제에 대한 알고리즘을 개발하는 법을 배워야,당신은 컴퓨터 과학자처럼 생각하는 법을 배워야.
알고리즘을 설계하고 코드를 작성하는 것은 어렵고 오류가 발생하기 쉽다.역사적인 이유로 프로그래밍 오류를 버그라고하며 오류를 추적하고 수정하는 프로세스가 호출됩니다 debugging.As 당신은 당신의 프로그램을 디버깅하는 법을 배우고,새로운 문제 해결 기술을 개발할 것입니다.예기치 않은 오류가 발생할 때 창의적으로 생각해야합니다.
그것은 실망 스러울 수 있지만,디버깅은 컴퓨터의 지적으로 풍부하고 도전적이며 흥미로운 부분입니다 science.In 어떤면에서 디버깅은 탐정 작업과 같습니다.당신은 단서에 직면하고,당신은 당신이 볼 수있는 결과를 주도 프로세스 및 이벤트를 추론해야합니다.프로그램을 수정하고 성능을 개선하는 방법에 대해 생각하는 것은 때로는 새로운 알고리즘의 발견으로 이어집니다.
1.9 프로그램 디버깅
컴퓨터 앞에서 이 책을 읽어보면서 예제를 시험해 보는 것이 좋습니다.많은 예제를 드라 자바의 상호 작용 창에서 직접 실행할 수 있습니다(부록 2 참조).그러나 소스 파일에 코드를 넣으면 변형을 시도하는 것이 더 쉬울 것입니다.
당신이 새로운 기능을 실험 할 때마다,당신은 또한 실수를 시도해야합니다.예를 들어,헬로 월드 프로그램에서 인용 부호 중 하나를 생략하면 어떻게됩니까?둘 다 빼면 어떡하지?5587>을 잘못 쓰면 어떻게 되나요?이러한 종류의 실험은 당신이 읽은 것을 기억하는 데 도움이됩니다.당신은 어떤 오류 메시지를 배울 수 있기 때문에 그들은 또한 디버깅에 도움이 mean.It 나중에 실수보다 지금 목적에 실수를하는 것이 좋습니다.
디버깅은 실험적인 과학과 같다:무엇이 잘못되고 있는지에 대한 아이디어가 있으면 프로그램을 수정하고 다시 시도한다.가설이 정확하다면 수정 결과를 예측할 수 있으며 작업 프로그램에 한 걸음 더 가까이 다가 갈 수 있습니다.당신의 가설이 틀렸다면,당신은 새로운 것을 생각해 내야합니다.
프로그래밍과 디버깅은 손을 맞잡아야 한다.코드를 많이 작성한 다음 모든 것이 작동 할 때까지 시행 착오 디버깅을 수행하지 마십시오.대신,뭔가 하 고 작은 수정 프로그램을 시작,당신이 서 그들을 디버깅,프로그램은 당신이 원하는 것을 할 때까지.그렇게하면 항상 작동하는 프로그램을 갖게 될 것이며 오류를 격리하는 것이 더 쉬울 것입니다.
이 원리의 좋은 예는 리눅스 운영 체제입니다.code.It 리누스 토발즈는 인텔 80386 칩을 탐구하는 데 사용되는 간단한 프로그램으로 시작했다.에 따르면 래리 그린 필드 에 리눅스 사용자 가이드,”리누스의 이전 프로젝트 중 하나는 인쇄 사이를 전환하는 프로그램이었습니다.이것은 나중에 리눅스로 진화.”
마지막으로 프로그래밍은 때때로 강한 감정을 불러옵니다.당신이 어려운 버그로 어려움을 겪고있는 경우,당신은 화가 낙담,또는 당황 느낄 수 있습니다.당신은 혼자가 아니라는 것을 기억,거의 모든 프로그래머는 비슷한 경험을했다.친구에게 연락하고 질문하는 것을 망설이지 말라!
1.10 어휘
책 전체에서 우리는 처음 사용할 때 각 용어를 정의하려고합니다.it.At 각 장의 끝,우리는 외관의 순서로 새로운 용어와 그 정의를 포함한다.이 어휘를 학습 시간을 보낼 경우,다음 장을 읽고 쉽게 시간이있을 것이다.
문제 해결:문제를 공식화하고,해결책을 찾고,해결책을 표현하는 과정. 하드웨어:컴퓨터의 전자 및 기계 구성 요소(예:컴퓨터,램 및 하드 디스크). 프로세서: 기본 산술 및 논리와 같은 간단한 지침을 수행하는 컴퓨터 칩입니다. 메모리:컴퓨터가 켜져있는 한 데이터를 저장하는 회로.하드 디스크 및 플래시와 같은 영구 저장 장치와 혼동하지 마십시오. 프로그램:컴퓨터에서 작업을 수행하는 방법을 지정하는 일련의 명령입니다.”소프트웨어”라고도 합니다. 프로그래밍:실행 가능한 컴퓨터 프로그램을 만드는 문제 해결의 응용 프로그램입니다. 명령문:알고리즘의 한 단계를 지정하는 프로그램의 일부입니다. 인쇄 문:출력이 화면에 표시되도록 하는 문입니다. 방법: 명명된 명령문 시퀀스입니다. 클래스:지금은 관련 메소드 모음.(나중에 더 많은 것이 있다는 것을 알게 될 것입니다.)주석:프로그램에 대한 정보를 포함하지만 프로그램이 실행될 때 아무런 영향을 미치지 않는 프로그램의 일부입니다. 높은 수준의 언어:인간이 쉽게 읽고 쓸 수 있도록 설계된 프로그래밍 언어. 낮은 수준의 언어:컴퓨터가 쉽게 실행되도록 설계된 프로그래밍 언어입니다.”기계 언어”라고도합니다. 휴대용:한 종류 이상의 컴퓨터에서 실행할 수 있는 프로그램 기능. 해석: 한 번에 한 줄씩 번역하고 해당 명령을 즉시 실행하여 고급 언어로 프로그램을 실행합니다. 컴파일:나중에 실행할 준비를 위해 높은 수준의 언어로 프로그램을 한 번에 낮은 수준의 언어로 번역합니다. 소스 코드:컴파일되기 전에 높은 수준의 언어로 된 프로그램. 객체 코드:프로그램을 번역 한 후 컴파일러의 출력. 실행 파일:특정 하드웨어에서 실행할 준비가 된 개체 코드의 또 다른 이름입니다. 가상 머신:실제 머신의 에뮬레이션. 자바 프로그램을 실행할 수 있습니다. 바이트 코드:자바 프로그램에 사용되는 객체 코드의 특별한 종류.바이트 코드는 객체 코드와 유사하지만 고급 언어와 같이 이식 가능합니다. 문자열:문자 시퀀스,텍스트의 기본 데이터 형식입니다. 줄 바꿈:텍스트 줄의 끝을 나타내는 특수 문자입니다.”줄 끝”,”줄 끝”또는”줄 바꿈”이라고도합니다. 이스케이프 시퀀스:문자열 내에서 사용될 때 특수 문자를 나타내는 코드 시퀀스입니다. 알고리즘:컴퓨터 유무에 관계없이 문제를 해결하기위한 절차 또는 공식. 컴퓨터 과학: 계산 및 그 응용에 대한 과학적이고 실용적인 접근법. 버그:프로그램에 오류가 있습니다. 디버깅:오류를 찾고 제거하는 프로세스.
1.11 연습
각 장의 끝에서,우리는 당신이 배운 것들로 할 수있는 운동을 포함한다.우리는 적어도 모든 문제를 시도하는 것이 좋습니다.당신은 그것에 관하여 읽어서 프로그램하는 것을 단지 배울 수 없다;당신은 실행해야 한다.
자바 프로그램을 컴파일하고 실행하기 전에 몇 가지 도구를 다운로드하여 설치해야 할 수도 있습니다.이 많은 좋은 옵션이 있습니다,하지만 우리는”통합 개발 환경”입니다 드자 바 추천(이데)초보자를위한 적합.686>
이 장의 코드는 씽크자바코데 2 의 01 디렉토리에 있습니다.페이지를 참조하십시오?? 저장소를 다운로드하는 방법에 대한 지침.연습을 시작하기 전에 예제를 컴파일하고 실행하는 것이 좋습니다.
컴퓨터 과학자들은 일반적인 영어 단어를 사용하여 일반적인 영어 의미가 아닌 다른 것을 의미하는 성가신 습관을 가지고 있습니다.예를 들어,영어,문 및 의견은 같은 일이지만,프로그램에서 그들은 다르다.
- 컴퓨터 전문 용어에서 진술과 주석의 차이점은 무엇입니까?
- 프로그램이 이식 가능하다고 말하는 것은 무엇을 의미합니까?
- 일반 영어에서 컴파일이라는 단어는 무엇을 의미합니까?
- 실행 파일이란 무엇입니까? 왜 그 단어가 명사로 사용됩니까?
각 장 끝의 어휘 섹션은 컴퓨터 과학에서 특별한 의미를 갖는 단어와 구문을 강조하기위한 것입니다.익숙한 단어를 볼 때 그들이 무엇을 의미하는지 알고 있다고 가정하지 마십시오!
다른 작업을 수행하기 전에 자바 프로그램을 컴파일하고 실행하는 방법을 알아보십시오.일부 환경에서는 1.3 절의 예와 유사한 샘플 프로그램을 제공합니다.
- 안녕하세요 세계 프로그램을 입력 한 다음 컴파일하고 실행하십시오.
- 안녕하세요,세계 후 두 번째 메시지를 표시 하는 인쇄 문을 추가!.같은 재치있는 무언가를 말,당신은 어떻게?.프로그램을 컴파일하고 다시 실행하십시오.
- 프로그램(아무 곳이나)에 주석을 추가하고 다시 컴파일 한 다음 다시 실행하십시오.새 주석은 결과에 영향을 미치지 않습니다.
이 운동은 사소한 것처럼 보일 수 있지만 우리가 작업 할 많은 프로그램의 출발점입니다 with.To 디버그 자신감을 가지고,당신은 당신의 프로그래밍 환경에 자신감을 가지고해야합니다.
일부 환경에서는 실행 중인 프로그램을 쉽게 추적할 수 없습니다.실수로 다른 프로그램을 실행하는 동안 한 프로그램을 디버깅하려고 시도 할 수 있습니다.인쇄 문을 추가(및 변경)하는 것은 보고 있는 프로그램이 실행 중인 프로그램임을 확인하는 간단한 방법입니다.
컴파일러가 생성하는 오류 메시지를 볼 수 있도록 가능한 많은 오류를 커밋하는 것이 좋습니다.때로는 컴파일러가 정확히 무엇이 잘못되었는지 알려주고,당신이해야 할 일은 그것을 고치는 것입니다.그러나 때로는 오류 메시지가 오해의 소지가 있습니다.시간이 지남에 따라 컴파일러를 신뢰할 수 있는 시점과 자신을 파악해야 하는 시점을 파악할 수 있습니다.
헬로 월드 프로그램으로 시작하여 다음 오류를 각각 시도하십시오.각 변경 한 후 프로그램을 컴파일하고 오류 메시지(있는 경우)를 읽은 다음 오류를 수정하십시오.
- 여는 중괄호 중 하나를 제거합니다.
- 닫는 중괄호 중 하나를 제거합니다.
-
main
대신mian
을 씁니다. -
static
이라는 단어를 제거합니다. -
public
라는 단어를 제거합니다. -
System
이라는 단어를 제거합니다. -
println
을Println
으로 바꿉니다. -
println
을print
으로 바꿉니다. - 괄호 하나를 삭제합니다.
- 추가 괄호를 추가합니다.