《Java语言入门》

下载本书

添加书签

Java语言入门- 第3部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
项不打开时,垃圾回收线程与其它线程异步同时执行。
  …ssx每个Java线程有两个堆栈,一个是java代码堆栈,一个是C代码堆栈。…ss选项将线程理C代码用的堆栈设置成最大为x。
  …ossx每个Java线程有两个堆栈,一个是java代码堆栈,一个是C代码堆栈。…oss选项将线程理java代码用的堆栈设置成最大为x。
  …v;…verbose让java解释器在每一个类被调入时,在标准输出打印相应信息。
环境变量
  CLASSPATH用来提?copy;给系统搜索用户定义的类的缺省路径。各路径由分号隔开,例如:。;C:javadocclasses;C:toolsjavaclasses表示解释器遇到一个新类,它先在本文件中查找它的定义,如果没有,则在本文件所处目录下其它文件中查找它的定义,如果还没有,则继续搜索C:javadocclasses目录中的所有文件,以此类推。
2。2JWS环境
  JavaWorkShop是SUN公司的一个新产品;它是一个集成的java语言开发环境,它包括以下工具:lPortfolio和Project管理器l源文件编辑器lBuild管理工具l调试器l项目测试l?copy;展在线超文本连接到帮助文件这?copy;工具在JavaWorkShop的第一页都有类似Web页面的超级连接,如图:注意,JavaWorkShop采用的是当今浏览器的界面风格,你想作什么,只需找到相应的超级连接就可以了,具体编译及调试功能是用嵌如到HTML文档里的Applet实现的,因此,对习惯于用internet浏览方式的用户来说,这种界面很容易接受。
2。2。1Portfolio和Project管理器
  Protfolios是一些java应用程序或Applet的集中。它让你更好的管理更多的projects。一个project是portfolio里的一个子集,它包含了以下信息:1。怎样编译本项目2。怎样调试和浏览本项目3。怎样运行本项目4。怎样发布本项目
2。2。2源文件编辑器
  源文件编辑器可以从build管理器、调试器和源文件浏览器里的超级连接进入。在这个模块里,你可以输入源文件。
2。2。3Build管理工具
  本模块是项目的编译器,你可以点build按钮直接进入本模块,如果某个文件出错,错误信息会提供一个超级连接,直接指到出错的源文件地点。
2。2。4VisulJava(图形界面构造)
  顾名思义,本模块能让你可视化建造一个复杂界面,如果你用过VisualBasic,你会发现它们很相似。
2。2。5调试器
  调试器能让你很方便地跟踪程序的执行与发现程序的错误。
本章小结:
  Java语言有两个开发环境,一个是免费的JDK,是命令行方式的。还有一个JavaWorkShop,是开发java程序的集成环境。本章简要介绍了它们的使用方法。
第三章Java程序设计基础
3。1Java编程概况
  现在你可以复习一下Java语言的背景材料,它的基本结构象C/C++,但任何用面向过程语言编写过程序的人都可以了解Java语言的大部分结构。
3。1。1程序结构
  Java语言的源程序代码由一个或多个编译单元(pilationunit)组成,每个编译单元只能包含下列内容(空格和注释除外):*一个程序包语句(packagestatement)*入口语句(importstatements)*类的声明(classdeclarations)*界面声明(interfacedeclarations)每个Java的编译单元可包含多个类或界面,但是每个编译单元最多只能有一个类或者界面是公共的。Java的源程序代码被编译?reg;后,便产生了Java字节代码。Java的字节代码由一?copy;不依赖于机器的指令组成,这?copy;指令能被Java的运行系统(runtimesystem)有效地解释。Java的运行系统工作起来如同一台虚拟机。在当前的Java实现中,每个编译单元就是一个以。java为后缀的文件。每个编译单元有若干个类,编译后,每个类生成一个。class文件。。class文件是Java虚拟机能够识别的代码。
3。1。2注释
  三种类型如下://注释一行/*一行或多行注释*//**文档注释**/文档注释一般放在一个变量或函数定义?reg;前;指示在任何自动生成文档系统中调入。这?copy;注释都是声明条目的描述。。
3。1。3标识符
  变量,函数,类和对象的名称都是标识符,程序员需要标识和使用的东西都需要标识符。在Java语言里;标识符以字符或_;开头;后面可以包含数字,标识符是大小写有区别的;没有长度限制。
  有效的标识符mynameict_networkHello_sys_pathbill
  例子:inta_number;char_onechar;floatbill;
  关键词abstractcontinuefornewswitchbooleandefaultgotonullsynchronizedbreakdoifpackagethisbytedoubleimplementsprivatethreadsafebyvalueelseimportprotectedthrowcaseextendsinstanceofpublictransientcatchfalseintreturntruecharfinalinterfaceshorttryclassfinallylongstaticvoidconstfloatnativesuperwhile其它保留词以下单词被保留使用:castfuturegenericinneroperatorouterrestvar
3。1。4数据类型
  Java使用五种基本类型:integer(整数);floating(浮点数);point(指针);Boolean(布尔变量);CharacterorString(字符或字符串)。integer整数下边给出的数据表示都是整数的例子:4,15,089,0xAD00整数长度数据类型表示8bitsbyte16bitsshort32bitsint64bitslong
  floating浮点数下边给出的数据表示都是浮点数的例子:6。37,3。7E15,3e8
  浮点数长度数据类型表示32bitsfloat64bitsdouble
  Boolean布尔变量下边是布尔变量的两种可能取值:truefalseCharacter字符下边给出的都是字符的例子:at(tab)u????(unicode)
  String字符串下边给出的都是字符串的例子:”Thisisastringliteral””中国科学院计算所”数组你可以定义任意类型的数组。chars'';这是字符型数组;int''array;这是整型数组;你还可以定义数组的数组。intblock''''=newint'2''3';数组边界在运行时被检测;避免堆栈溢出和内存崩溃。
  在Java里;数组实际上是一个对象;数组有一个成员变量:length。你可以用这个成员函数来查看任意数组的长度。inta''''=newint'10''3'a。length/*10*/a'0'。length/*3*/创建数组在Java里创建数组;你可使用两种基本方法:一。创建一个空数组:intlist''=newint'50';或你可以用初始数值填充数组。Stringnames''={”Chenji”;”Yuan”;”Chun”;”Yang”};相当于下面功能:Stringnames'';names=newString'4';names'0'=newString(”Chenji”);names'1'=newString(”Yuan”);names'2'=newString(”Chun”);names'3'=newString(”Yang”);在编译时你不能象下例那样创建静态数组。intname'50';//将产生一个编译错误你也不能用new操作去填充一个没定义大小的数组。intname'';for(inti=0;i》》==!=&^&&||?:
=op=;整数运算符在整数运算时,如果操作数是long类型,则运算结果是long类型,否则为int类型,绝不会是byte,short或char型。这样,如果变量i被声明为short或byte,i+1的结果会是int。如果结果超过该类型的取值范围,则按该类型的最大值取模。单目整数运算符是:运算符操作…单目非~位补码++加1……减1++运算符用于表示直接加1操作。增量操作也可以用加运算符和赋值操作间接完成。++lvalue(左值?copy;表示lvalue+=1;++lvalue也表示lvalue=lvalue+1(只要lvalue没有副作用)。……运算符用于表示减1操作。++和……运算符既可以作为前缀运算符,也可以做为后缀运算符。双目整数运算符是:运算符操作**+加…减*乘/除%取模&位与|位或^位异或右移(带符号)》》》添零右移整数除法按零舍入。除法和取模遵守以下等式:(a/b)*b+(a%b)==a整数算术运算的异常是由于除零或按零取模造成的。它将引发一个算术异常。下溢产生零,上溢导致越界。例如:加1超过整数最大值,取模后,变成最小值。一个op=赋值运算符,和上表中的各双目整数运算符联用,构成一个表达式。整数关系运算符,=,==和!=产生boolean类型的数据。
  布尔运算符布尔(boolean)变量或表达式的组合运算可以产生新的boolean值。单目运算符!是布尔非。双目运算符&,|和^是逻辑AND,OR和XOR运算符,它们强制两个操作数求布尔值。为避免右侧操作数冗余求值,用户可以使用短路求值运算符&&和||。用户可以使用==和!=,赋值运算符也可以用&=、|=、^=。三元条件操作符?:和C语言中的一样。
  浮点运算符浮点运算符可以使用常规运算符的组合:如单目运算符++、……,双目运算符+、…、*和/,以及赋值运算符+=,…=,*=,和/=。此外,还有取模运算:%和%=也可以作用于浮点数,例如:a%b和a…((int)(a/b)*b)的语义相同。这表示a%b的结果是除完后剩下的浮点数部分。只有单精度操作数的浮点表达式按照单精度运算求值,产生单精度结果。如果浮点表达式中含有一个或一个以上的双精度操作数,则按双精度运算,结果是双精度浮点数。
  数组运算符数组运算符形式如下:''可给出数组中某个元素的值。合法的取值范围是从0到数组的长度减1。取值范围的检查只在运行时刻实。运算符以String对象实现。运算符”+”完成并操作,如果必要则自动把操作数转换为String型。如果操作数是一个对象,它可定义一个方法toString()返回该对象的String方式,例如floata=1。0print(”Thevalueofais”+
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架