⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intro.htm

📁 Thinking in Java, 2nd edition
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<!--
This document was converted from RTF source: 
By rtftohtml 4.19
See http://www.sunpack.com/RTF
Filename:TIJ2.rtf
Application Directory:C:\TOOLS\RTF2HTML\
Subject:
Author:Bruce Eckel
Operator:Bruce Eckel
Document Comments:
Version Comments:
Comments:
Keywords:
Translation Date:05/21/2001
Translation Time:10:39:02
Translation Platform:Win32
Number of Output files:23
This File:Intro.htm
SplitDepth=1
SkipNavPanel=1
SkipLeadingToc=1
SkipTrailingToc=1
GenContents=1
GenFrames=1
GenIndex=1
-->
<HEAD lang="en"><META http-equiv="Content-Type" content="text/html">
<TITLE>Introduction</TITLE>
</HEAD>

<BODY  BGCOLOR="#FFFFFF"><DIV ALIGN="CENTER">
  <a href="http://www.MindView.net">
  <img src="mindview.gif" alt="MindView Inc." BORDER = "0"></a>
  <CENTER>
    <FONT FACE="Verdana" size = "-1">
    [ <a href="README.txt">Viewing Hints</a> ]
    [ <a href="RevHist.htm">Revision History</a> ]
    [ <a href="http://www.mindview.net/Books/TIJ/">Book Home Page</a> ]
    [ <a href="http://www.mindview.net/Etc/MailingList.html">Free Newsletter</a> ] <br>
    [ <a href="http://www.mindview.net/Seminars">Seminars</a> ]
    [ <a href="http://www.mindview.net/CDs">Seminars on CD ROM</a> ]
    [ <a href="http://www.mindview.net/Services">Consulting</a> ]
    </FONT>
  <H2><FONT FACE="Verdana">
  Thinking in Java, 2nd edition, Revision 12</FONT></H2>
  <H3><FONT FACE="Verdana">&copy;2000 by Bruce Eckel</FONT></H3>
  
    <FONT FACE="Verdana" size = "-1">
     [ <a href="Preface.htm">Previous Chapter</a> ] 
    [ <a href="SimpCont.htm">Short TOC</a> ] 
    [ <a href="Contents.htm">Table of Contents</a> ] 
    [ <a href="DocIdx.htm">Index</a> ]
     [ <a href="Chap01.htm">Next Chapter</a> ] 
    </FONT>
    
  </CENTER>
  </P></DIV><A NAME="_Toc477690720"></A><A NAME="_Toc481064450"></A><A NAME="Heading5"></A><FONT FACE = "Verdana"><H1 ALIGN="LEFT">
Introduction</H1></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia" SIZE=4><backtalk:display ID=TIJ3_INTRO_I0>
Like any
human language, Java provides a way to express concepts. If successful, this
medium of expression will be significantly easier and more flexible than the
alternatives as problems grow larger and more complex.</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">You can&#8217;t look at Java as just a
collection of features&#8212;some of the features make no sense in isolation.
You can use the sum of the parts only if you are thinking about <I>design</I>,
not simply coding. And to understand Java in this way, you must understand the
problems with it and with programming in general. This book discusses
programming problems, why they are problems, and the approach Java has taken to
solve them. Thus, the set of features I explain in each chapter are based on the
way I see a particular type of problem being solved with the language. In this
way I hope to move you, a little at a time, to the point where the Java mindset
becomes your native tongue.
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I0' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I23>
</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">Throughout, I&#8217;ll be taking the
attitude that you want to build a model in your head that allows you to develop
a deep understanding of the language; if you encounter a puzzle you&#8217;ll be
able to feed it to your model and deduce the
answer.
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I23' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I24>
</FONT><A NAME="_Toc312373769"></A><A NAME="_Toc375545177"></A><A NAME="_Toc481064451"></A><BR></P></DIV>
<A NAME="Heading6"></A><FONT FACE = "Verdana"><H2 ALIGN="LEFT">
Prerequisites</H2></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">This book assumes that you have some
programming familiarity: you understand that a program is a collection of
statements, the idea of a subroutine/function/macro, control statements such as
&#8220;if&#8221; and looping constructs such as &#8220;while,&#8221; etc.
However, you might have learned this in many places, such as programming with a
macro language or working with a tool like Perl. As long as you&#8217;ve
programmed to the point where you feel comfortable with the basic ideas of
programming, you&#8217;ll be able to work through this book. Of course, the book
will be <I>easier</I> for the C programmers and more so for the C++ programmers,
but don&#8217;t count yourself out if you&#8217;re not experienced with those
languages (but come willing to work hard; also, the multimedia CD that
accompanies this book will bring you up to speed on the basic C syntax necessary
to learn Java). I&#8217;ll be introducing the concepts of object-oriented
programming (OOP) and Java&#8217;s basic control mechanisms, so you&#8217;ll be
exposed to those, and the first exercises will involve the basic control-flow
statements.
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I24' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I25>
</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">Although references will often be made to
C and C++ language features, these are not intended to be insider comments, but
instead to help all programmers put Java in perspective with those languages,
from which, after all, Java is descended. I will attempt to make these
references simple and to explain anything that I think a non- C/C++ programmer
would not be familiar
with.
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I25' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I26>
</FONT><A NAME="_Toc312373770"></A><A NAME="_Toc375545178"></A><A NAME="_Toc481064452"></A><BR></P></DIV>
<A NAME="Heading7"></A><FONT FACE = "Verdana"><H2 ALIGN="LEFT">
Learning Java</H2></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">At about the same time that my first book
<I>Using C++</I> (Osborne/McGraw-Hill, 1989) came out, I began teaching that
language. Teaching programming languages has become my profession; I&#8217;ve
seen nodding heads, blank faces, and puzzled expressions in audiences all over
the world since 1989. As I began giving in-house training with smaller groups of
people, I discovered something during the exercises. Even those people who were
smiling and nodding were confused about many issues. I found out, by chairing
the C++ track at the <A NAME="Index1"></A><A NAME="Index2"></A>Software
Development Conference for a number of years (and later the Java track), that I
and other speakers tended to give the typical audience too many topics too fast.
So eventually, through both variety in the audience level and the way that I
presented the material, I would end up losing some portion of the audience.
Maybe it&#8217;s asking too much, but because I am one of those people resistant
to traditional lecturing (and for most people, I believe, such resistance
results from boredom), I wanted to try to keep everyone up to
speed.
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I26' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I27>
</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">For a time, I was creating a number of
different presentations in fairly short order. Thus, I ended up learning by
experiment and iteration (a technique that also works well in Java program
design). Eventually I developed a course using everything I had learned from my
teaching experience&#8212;one that I would be happy giving for a long time. It
tackles the learning problem in discrete, easy-to-digest steps, and in a
hands-on seminar (the ideal learning situation) there are exercises following
each of the short lessons. I now give this course in
<A NAME="Index3"></A><A NAME="Index4"></A>public Java seminars, which you can
find out about at <I>www.BruceEckel.com</I>. (The introductory seminar is also
available as a CD ROM. Information is available at the same Web
site.)
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I27' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I28>
</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">The feedback that I get from each seminar
helps me change and refocus the material until I think it works well as a
teaching medium. But this book isn&#8217;t just seminar notes&#8212;I tried to
pack as much information as I could within these pages, and structured it to
draw you through onto the next subject. More than anything, the book is designed
to serve the solitary reader who is struggling with a new programming
language.
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I28' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I29>
</FONT><A NAME="_Toc312373771"></A><A NAME="_Toc375545179"></A><A NAME="_Toc481064453"></A><BR></P></DIV>
<A NAME="Heading8"></A><FONT FACE = "Verdana"><H2 ALIGN="LEFT">
Goals</H2></FONT>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">Like my previous book <I>Thinking in
C++</I>, this book has come to be structured around the process of teaching the
language. In particular, my motivation is to create something that provides me
with a way to teach the language in my own seminars. When I think of a chapter
in the book, I think in terms of what makes a good lesson during a seminar. My
goal is to get bite-sized pieces that can be taught in a reasonable amount of
time, followed by exercises that are feasible to accomplish in a classroom
situation.
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I29' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I30>
</FONT><BR></P></DIV>
<DIV ALIGN="LEFT"><P><FONT FACE="Georgia">My goals in this book are
to:
</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I30' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I31>
</FONT><BR></P></DIV>
<OL>
<LI><FONT FACE="Verdana">	</FONT><FONT FACE="Georgia">Present the material one
simple step at a time so that you can easily digest each concept before moving
on.

</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I31' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I32>
</FONT><LI><FONT FACE="Verdana">	</FONT><FONT FACE="Georgia">Use
examples that are as simple and short as possible. This sometimes prevents me
from tackling &#8220;real world&#8221; problems, but I&#8217;ve found that
beginners are usually happier when they can understand every detail of an
example rather than being impressed by the scope of the problem it solves. Also,
there&#8217;s a severe limit to the amount of code that can be absorbed in a
classroom situation. For this I will no doubt receive criticism for using
&#8220;toy examples,&#8221; but I&#8217;m willing to accept that in favor of
producing something pedagogically useful.

</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I32' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I33>
</FONT><LI><FONT FACE="Verdana">	</FONT><FONT FACE="Georgia">Carefully
sequence the presentation of features so that you aren&#8217;t seeing something
that you haven&#8217;t been exposed to. Of course, this isn&#8217;t always
possible; in those situations, a brief introductory description is given.

</backtalk:display>
[&nbsp;<a href='http://www.mindview.net/backtalk/CommentServlet?ID=TIJ3_INTRO_I33' 
  target="_blank">Add&nbsp;Comment</a>&nbsp;]

<backtalk:display ID=TIJ3_INTRO_I34>
</FONT><LI><FONT FACE="Verdana">	</FONT><FONT FACE="Georgia">Give
you what I think is important for you to understand about the language, rather
than everything I know. I believe there is an information importance hierarchy,
and that there are some facts that 95 percent of programmers will never need to
know and that just confuse people and adds to their perception of the complexity

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -