第二章Java语言基础程序结构package---import---class类名1{属性定义方法名1(){-----}方法名2(){-----}}class类名2{-------}Java语言的源代码由一个或多个编译单元(compilationunit)组成,每个编译单元只能包含下列内容:(1)一个程序包语句(packagestatement)(2)导入语句(importstatements)(3)类的声明(classdeclarations)(4)接口声明(interfacedeclarations)幻灯片4程序结构每个编译单元就是一个以.java为后缀的Java语言源程序文件。每个Java语言的编译单元可包含多个类或接口,但是每个编译单元最多只能有一个类或接口是公共的。一个程序可包括若干个类,各类之间存在并列、继承和包含关系。这些类通常是在一起协同工作的:每一个类都可能需要创建其他类的对象,并调用类或对象的属性及方法。编程只能在方法中进行。编译后每个类产生一个.class文件。包是类和接口的集合,功能、作用和来源相关的类通常放在同一个包中。幻灯片5java的名字空间和包作为一种在整个Internet上动态装载模块的语言,Java特别注意避免名字空间的冲突。一般公司命名会以com.公司名.项目名.模块名.开头全局变量不再是语言的组成部分(没有全局的属性与方法)。所有的方法和属性都在类中定义,是类的组成部分。每个类又是包的组成部分。全限定名:包名.类名.方法名import打开一个包后,可直接指定该包中的类名。在本类中,可以直接使用方法名及属性名。幻灯片6包的概述包是用途相近但功能不同的一些类和接口的松散集合。类库由若干包组成。java.langJava语言核心类库,包含了运行Java程序必不可少的系统类(如基本数据类型,基本数学函数,字符串处理、线程、异常处理类等),每个Java程序运行时,系统会自动引入该包。java.awtJava语言用来构建图形用户界面的类库,包括许多界面元素和资源,在三个方面提供界面设计支持:低级绘图操作(如Graphics类);图形界面组件和布局管理(如Checkbox类,Container类,LayoutManager接口等),以及界面用户交互控制和事件响应(如Event类),利用该包可很方便设计出精美图形界面。幻灯片7包的概述java.applet用来实现运行于Internet浏览器中的JavaApplet的工具类库,它仅包含一个非常有用的类java.applet.Applet。(创建Applet小程序)java.ioJava语言的标准输入/输出类库,包含了实现Java程序与操作系统、用户界面以及其他Java程序做数据交换所使用的类。(输入输出)java.netJava语言用来实现网络功能的类库,利用java.net包中的类,开发者可以编写自己的具有网络功能的程序java.util实用程序类,包括了Java语言中的一些低级的实用工具(如随机数、日期、系统属性…)Java类库是系统提供的已实现的标准类的集合,是Java的API,帮助开发者方便快捷地开发Java程序。幻灯片8语句规则语句种类说明语句如属性说明、变量说明等表达式语句控制语句(条件、循环、跳转)异常处理语句块语句(代码块,一组语句用花括号括起来)注释(被Java编译器忽略)//---注释一行/*---*/一行或多行注释/**---*/文档注释幻灯片9语句规则JJaavvaa语语言言标标识识符符①①标标识识符符使使用用UUnniiccooddee字字符符集集。。②②由由字字母母、、数数字字、、下下划划线线或或美美元元符符号号(($$))组组成成。。③③以以字字母母、、下下划划线线或或美美元元符符号号开开头头。。④④区区分分大大小小写写,,长长度度不不限限。。⑤⑤在在自自定定义义标标识识符符时时,,应应该该使使其其能能反反映映它它所所表表示示变变量量、、对对象象或或类类的的意意义义。。⑥⑥标标识识符符中中最最好好不不使使用用美美元元称称号号,,因因为为它它常常被被用用于于内内部部处处理理。。基基本本语语句句用用标标示示符符““;;””结结束束当当在在JJaavvaa语语言言中中需需要要使使用用变变量量、、方方法法、、类类和和对对象象等等标标示示符符时时,,都都要要在在使使用用前前进进行行声声明明。。JJaavvaa语语言言中中有有6600个个关关键键字字在在JJaavvaa中中,,ttrruuee、、ffaallssee和和nnuullll都都是是小小写写的的,,区区别别于于CC++++中中大大写写的的TTRRUUEE、、FFAALLSSEE和和NNUULLLL。。幻灯片10数据类型与说明语句Java程序中所处理的数据是将各种数据类型实例化后的数据。数据类型实例化的方法:说明语句实例化数据的两种形式:变量与常量类型数组名[]数组String、StringBuffer字符串class类引用类型boolean(8)(true/false)布尔类型char(16)注:Unicode码字符类型浮点类型float(32),double(64)基本数据类型整型byte(8),short(16),int(32),long(64)数值类型幻灯片11数据类型数据类型关键字占用比特数缺省数值布尔型boolean8false字节型byte80字符型char16'\u0000'短整型short160整型int320长整型long640浮点型float320.0F双精度型double640.0D幻灯片12数据类型小结①Java的基本数据类型与C语言类似,但是Java的各种数据类型占用固定的内存长度,与具体的软硬件平台无关,而且Java的每种数据类型都对应一个默认值。这两点分别体现了Java的跨平台性和安全稳定性。②Java中提供的整数类型都是有符号数据类型,不存在无符号数据类型。③int是最常用的整数类型,short是有符号的16位类型,它可能是Java中使用得最少的类型,这种类型主要适用于16位计算机。④float数据的声明需要后缀“f”或“F”,float较少使用。幻灯片13数据类型小结⑤Java中char数据类型使用Unicode编码,占用两个字节。Unicode定义的国际化字符集能表示迄今为止人类语言的所有字符集,它是几十个字符集的统一,包含27484个汉字,windows2000起从内核支持Unicode。⑥boolean型的变量或常量的取值只能为true和false。⑦基本数据类型都有对应的类(Integer,Long,Short,Double),在定义数据时,也可以使用这些类去定义。幻灯片14常量定定义义常常量量的的语语法法格格式式::ffiinnaallttyyppeeccoonnssttaannttNNaammee==ccoonnssttaannttVVaalluuee;;关关键键字字类类型型常常量量名名常常量量值值布布尔尔常常量量ttrruueeffaallssee整整型型常常量量一一般般常常量量::3322bbiitt长长整整型型常常量量::6644bbiitt((8888LL))十十进进制制数数::非非00开开头头的的正正负负整整数数110055,,--2233八八进进制制数数::00开开头头的的正正负负整整数数001177((1155)),,--002233((--1199))十十六六进进制制::00xx开开头头的的正正负负整整数数00xx22FF((4477)),,--00XXaa88((--116688))幻灯片15常量浮点常量一般浮点常量(32bit)3.14F6.18E3F双精度浮点数(64bit)7.56D6.02E23(D可省)char型常量:用单引号界定‘’,‘a’采用Unicode码,从‘\u0000’~‘\uFFFF’,其中‘\u00’~‘\uFF’为ASCII码字符串常量:用双引号界定“HELLO,WORLD”+号的特殊用法“Hello”+“World”即“HelloWorld”若a=4,则“a=”+a即“a=4”幻灯片16常量特殊字符引用方法对应Unicode码意义‘\b’‘\u0008’退格‘\t’‘\u0009’横向跳格、水平制表符tab‘\n’‘\u000a’换行‘\r’‘\u000d’回车‘\”’‘\u0022’双引号‘\’’‘\u0027’单引号‘\\’‘\u005c’反斜线幻灯片17变量变量声明:先声明,后使用声明变量的格式:typevariableName1,variableName2,···;typevariableName1[=initValue],variableName2[=initValue],···;类型变量名[变量初始值]如:doublea,b,c;intnSecond=10;幻灯片18数据类型与说明语句基基本本数数据据类类型型说说明明语语句句::bboooolleeaannbb==ttrruuee;;sshhoorrttssii==112288;;iinnttii,,jj,,kk==--9999;;lloonnggll==112233445566778899;;cchhaarrcchh==''JJ'';;cchhaarrcchhcc==''中中'';;ffllooaattff==33..11441155992266ff;;ddoouubblleedd==--11..0044EE--55;;JJaavvaa几几乎乎是是将将字字符符串串视视为为基基本本数数据据类类型型SSttrriinnggss==““你你好好!!””;;幻灯片19数据类型转换同种数据类型转换:短类型长类型:默认长类型短类型:强制不同数据类型转换——字符/数值:强制例:inta;longb;charc;b=a;a=(int)b;c=(char)a;a=(int)c布尔型与其他数据类型之间不能强制类型转换幻灯片20数据类型转换publicclassa{publicstaticvoidmain(Stringargs[]){inti=65;charc='a',cc='刘';System.out.println(i);//65System.out.println((char)i);//ASystem.out.println(c);//aSystem.out.println((int)c);//97System.out.println(cc);//刘System.out.println((int)cc);//21016System.out.println((char)29579);//王}}幻灯片21表达式、语句表表达达式式是是变变量量、、常常量量及及运运算算符符的的组组合合。。表表达达式式既既可可单单独独组组成成语语句句,,也也可可出出现现在在条条件件测测试试、、变变量量说说明明、、方方法法调调用用的的参参数数等等场场合合。。二二元元运运算算符符、、一一元元运运算算符符、、三三元元运运算算符符。。表表达达式式的的结结果果是是一一个个右右值值,,即即不不能能出出现现在在赋赋值值运运算算的的左左边边。。结结果果类类型型由由参参与与运运算算的的数数据据类类型型确确定定。。iinnttaa==33;;++++aa==44;;××((aa==aa++33))==88;;××幻灯片22Java运算符一般运算是把运算对象作为一个整体处理,而位运算是把整型数运算对象拆开,以位(bit)作为运算对象幻灯片23算术运算符自运算符++、--j++、j--、++j、--j运算符的位置决定了自运算的顺序(在操作数变量之前或在操作