《java基础教程(第4版)全套教学课件.pptx》由会员分享,可在线阅读,更多相关《java基础教程(第4版)全套教学课件.pptx(739页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JavaJava程序设计程序设计成绩考核成绩考核最终成绩最终成绩=30%=30%平时成绩平时成绩+70%+70%期末考试成绩期末考试成绩平时成绩平时成绩=考勤成绩考勤成绩+平时作业成绩平时作业成绩期末考试:开卷笔试期末考试:开卷笔试Java程序设计上机安排程序设计上机安排第10周周四第12周周一第13周周一国外的外包公司使得基础的计算机编程技国外的外包公司使得基础的计算机编程技术越来越廉价,如今它甚至成为了世界贫困人术越来越廉价,如今它甚至成为了世界贫困人口的致富驱动力,而不再代表着高端技术。口的致富驱动力,而不再代表着高端技术。引自:引自:大数据时代大数据时代,维克托,维克托迈尔迈尔-舍恩伯
2、格,舍恩伯格,肯尼思肯尼思库克耶库克耶在这10年的发展中,Java平台吸引了数百万的开发者,在网络计算遍及全球的今天,Java已广泛应用于移动电话、桌面计算机、蓝光光碟播放器、机顶盒甚至车载,更是有30多亿台设备使用了Java技术。第第1章章 Java语言概述语言概述本章的主要内容:本章的主要内容:1.1 java 1.1 java 的特点及有关概念的特点及有关概念1.2 Java1.2 Java程序开发程序开发1.3 1.3 综合应用综合应用1.1 Java语言的特点及相关概念语言的特点及相关概念1.1.1 Java1.1.1 Java语言的发展里程语言的发展里程1.1.2 Java 1.1
3、.2 Java 的特点的特点1.1.3 Java1.1.3 Java虚拟机虚拟机1.1.1 Java语言的发展里程语言的发展里程JavaJava语言前身是语言前身是OakOak语言,于语言,于19911991年推出,但年推出,但仅限于仅限于Sun MicrosystemsSun Microsystems公司内部使用。公司内部使用。19951995年年OakOak语言改名为语言改名为“JavaJava”,并正式向公众推,并正式向公众推出,主要贡献者是出,主要贡献者是James GoslingJames Gosling。1.21.2版本版本的的JavaJava是是JavaJava语言发展过程中一个
4、关语言发展过程中一个关键阶段,从此,键阶段,从此,SunSun公司将公司将JavaJava更名为更名为Java2Java2。经过十年的发展,经过十年的发展,JavaJava语言已经发展到语言已经发展到1.81.8版版本。本。从从JDK 1.2JDK 1.2版本开始,版本开始,SunSun以平均两年一个版本的速度推以平均两年一个版本的速度推出新的出新的JDKJDK。20002000年年5 5月,月,SunSun公司发布了公司发布了JDK 1.3JDK 1.3版本;版本;20022002年年2 2月,月,SunSun公司发布了公司发布了JDK 1.4JDK 1.4版本;版本;20042004年年1
5、010月,月,SunSun公司发布了公司发布了JDK 1.5JDK 1.5版本,同时,版本,同时,SunSun公司将公司将JDK 1.5JDK 1.5改名为改名为JDK 5.0JDK 5.0。20062006年年4 4月,发布了月,发布了JDK 6.0JDK 6.0测试版本,并于测试版本,并于20072007年初发年初发布了布了JKD 6.0JKD 6.0正式版本,正式版本,20112011年年7 7月发布了月发布了JDK 7.0JDK 7.0版本。版本。20142014年年3 3月月1818日,日,OracleOracle公司发表公司发表Java SE 1.8Java SE 1.8。版本号名
6、称中文名发布日期JDK1.01996-1-23JDK1.1.4Sparkler宝石1997-09-12JDK1.1.5Pumpkin南瓜1997-12-13JDK1.1.6Abigail阿比盖尔-女子名1998-04-24JDK1.1.7Brutus布鲁图-古罗马政治家和将军1998-09-28JDK1.1.8Chelsea切尔西-城市名1999-04-08J2SE1.2Playground运动场1998-12-04J2SE1.2.1none无1999-03-30J2SE1.2.2Cricket蟋蟀1999-07-08J2SE1.3Kestrel美洲红隼2000-05-08J2SE1.3.1L
7、adybird瓢虫2001-05-17J2SE1.4.0Merlin灰背隼2002-02-13J2SE1.4.1grasshopper蚱蜢2002-09-16J2SE1.4.2Mantis螳螂2003-06-26J2SE5.0(1.5.0)Tiger老虎2004-9-30J2SE6.0(Beta)Mustang野马2006-41.1.2 Java 的特点的特点(1/4)1 1语法简单语法简单(1 1)JavaJava的风格类似于的风格类似于C+C+(2 2)JavaJava摒弃了摒弃了C+C+中容易引发程序错误的地方,中容易引发程序错误的地方,如指针和内存管理;如指针和内存管理;(3 3)Ja
8、vaJava提供了丰富的类库。提供了丰富的类库。2 2面向对象面向对象面向对象编程是一种先进的编程思想,更加容易解面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象可以说是决复杂的问题。面向对象可以说是JavaJava最重要的特最重要的特性。性。JavaJava语言的设计完全是面向对象的,语言的设计完全是面向对象的,1.1.2 Java 的特点的特点(2/4)3 3分布式分布式JAVAJAVA从诞生就起就与网络联系在一起,它强调网络特性,内从诞生就起就与网络联系在一起,它强调网络特性,内置置TCP/IPTCP/IP,HTTPHTTP,FTPFTP协议类库,便于开发网上应用系统。
9、协议类库,便于开发网上应用系统。4 4安全性安全性(1 1)在)在JavaJava语言里,象指针和释放内存等语言里,象指针和释放内存等C+C+功能被删除,功能被删除,避免了非法内存操作。避免了非法内存操作。(2 2)当)当JavaJava用来创建浏览器时,语言用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。功能和一些浏览器本身提供的功能结合起来,使它更安全。JavaJava语言在机器上执行前,要经过很多次的测试。其三级安语言在机器上执行前,要经过很多次的测试。其三级安全检验机制可以有效防止非法代码侵入,阻止对内存的越权全检验机制可以有效防止非法代码侵入,阻止对内存的越
10、权访问。访问。1.1.2 Java 的特点的特点(3/4)5 5健壮性健壮性JavaJava致力于检查程序在编译和运行时的错误。异常致力于检查程序在编译和运行时的错误。异常检查检查可尽早的发现可能存在的错误。类型检查帮助可尽早的发现可能存在的错误。类型检查帮助检查出许多开发早期出现的错误。检查出许多开发早期出现的错误。6 6解释运行,高效率解释运行,高效率JavaJava解释器(运行系统)能直接运行目标代码指令。解释器(运行系统)能直接运行目标代码指令。JavaJava程序经编译器编译,生成的字节码经过精心设程序经编译器编译,生成的字节码经过精心设计,并进行了优化,因此运行速度较快,客服了以计
11、,并进行了优化,因此运行速度较快,客服了以往解释性语言运行效率低的缺点。往解释性语言运行效率低的缺点。1.1.2 Java 的特点的特点(4/4)7 7与平台无关与平台无关JAVAJAVA编译器将编译器将JAVAJAVA程序编译成二进制代码,即字节码。字节程序编译成二进制代码,即字节码。字节码有统一的格式,不依赖于具体的硬件环境。码有统一的格式,不依赖于具体的硬件环境。8 8多线程多线程JavaJava提供的多线程功能使得在一个程序里可同时执行多个小提供的多线程功能使得在一个程序里可同时执行多个小任务。任务。9 9动态性动态性JavaJava的动态特性是其面向对象设计方法的发展。它允许程序的动
12、态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类。动态地装入运行过程中所需要的类。平台无关性平台无关性(1/2)平台无关类型包括源代码级和目标代码级两种类型。平台无关类型包括源代码级和目标代码级两种类型。C C和和C+C+属于源代码级平台无关,意味着用其写的应用程序不属于源代码级平台无关,意味着用其写的应用程序不用修改只需重新编译就可以在不同平台上运行。用修改只需重新编译就可以在不同平台上运行。JavaJava属于目标代码级平台无关,主要靠属于目标代码级平台无关,主要靠JavaJava虚拟机虚拟机JVMJVM来实现。来实现。对高级语言的翻译方式有解释和编译两种对高级语
13、言的翻译方式有解释和编译两种解释方式就是一边翻译一边运行解释方式就是一边翻译一边运行而编译方式则是一次性翻译好,生成目标程序。而编译方式则是一次性翻译好,生成目标程序。平台无关性平台无关性(2/2)解决移植性的方法有以下两种方式:解决移植性的方法有以下两种方式:方式方式1 1:到一台机器上将源程序重新编译成适合该:到一台机器上将源程序重新编译成适合该台机器的机器代码。台机器的机器代码。方式方式2 2:将高级语言源程序编译成一种与机器无关:将高级语言源程序编译成一种与机器无关的中间代码(如的中间代码(如JavaJava语言的字节码),该中间代码语言的字节码),该中间代码程序不能被操作系统直接执行
14、,需要由解释其来解程序不能被操作系统直接执行,需要由解释其来解释和执行。释和执行。JavaJava语言采用语言采用方式方式2 2,将由解释程序扩展了的,将由解释程序扩展了的指令系统的机器称为指令系统的机器称为JavaJava虚拟机,简称虚拟机,简称JVMJVM。1.1.3 Java虚拟机虚拟机JVM虚拟机虚拟机是一种对计算机物理硬件计算环境的软件实现。是一种对计算机物理硬件计算环境的软件实现。虚拟机是一种抽象机器,内部包含一个解释器虚拟机是一种抽象机器,内部包含一个解释器(InterpreterInterpreter),可以将其它高级语言编译为虚拟),可以将其它高级语言编译为虚拟机的解释器可以
15、执行的代码(称这种代码为中间语言机的解释器可以执行的代码(称这种代码为中间语言 Intermediate LanguageIntermediate Language),实现高级语言程序的可),实现高级语言程序的可移植性平台无关性移植性平台无关性 (System IndependenceSystem Independence),无论),无论是运行在嵌入式设备还是多个处理器的服务器上,虚是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准拟机都执行相同的指令,所使用的支持库也具有标准的的APIAPI和完全相同或相似的行为。和完全相同或相似的行为。1.1.3
16、Java虚拟机虚拟机JVMJavaJava虚拟机虚拟机(Java Virtual MachineJava Virtual Machine,简称,简称JVMJVM)是)是一种抽象机器,它附着在具体操作系统上,本身具有一种抽象机器,它附着在具体操作系统上,本身具有一套虚拟机器指令,并有自己的栈,寄存器等,运行一套虚拟机器指令,并有自己的栈,寄存器等,运行JAVAJAVA程序不可少的机制。编译后的程序不可少的机制。编译后的JAVAJAVA程序指令并不程序指令并不直接在硬件系统直接在硬件系统CPUCPU上执行,而是在上执行,而是在JVMJVM执行。在执行。在JVMJVM上有一个上有一个JavaJava
17、解释器用来解释解释器用来解释JavaJava编译器编译后的程编译器编译后的程序。任何一台机器只要配备了解释器,就可以运行这序。任何一台机器只要配备了解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。个程序,而不管这种字节码是在何种平台上生成的。图1-1 计算机硬件、操作系统、JVM与各种可执行程序之间的关系机器代码机器代码硬件硬件操作系统操作系统JVM本地可执行文件本地可执行文件(.exe,.com文件)文件)Java字节码文件字节码文件(.class文件)文件)Java虚拟机虚拟机JVMJVM体系结构图体系结构图类装载器字节码解释器安全管理器垃圾收集器线程管理图形Java虚拟
18、机虚拟机操作系统操作系统字节码*.class 文文件件图1-2 Java虚拟机体系结构示意图Java 与与C/C+之关系之关系相近之处相近之处JavaJava中许多基本语句的语法和中许多基本语句的语法和C+C+一样,像常用的一样,像常用的循环语句、控制语句等和循环语句、控制语句等和C+C+几乎一样几乎一样JavaJava和和C+C+是两种完全不同的语言是两种完全不同的语言不同之处(见下页)不同之处(见下页)不同之处不同之处JavaJava去掉了去掉了C+C+语言的许多功能,语言的许多功能,JavaJava中没有中没有#include#include 和和#define#define 等预处理功
19、能,用等预处理功能,用importimport语语来句包含其它类和包;来句包含其它类和包;JavaJava中没有中没有structurestructure,unionunion及及typedeftypedef;JavaJava中没有不属于类成员的函数,没有指针和多重中没有不属于类成员的函数,没有指针和多重继承,继承,JavaJava只支持单重继承;只支持单重继承;JavaJava中禁用中禁用gotogoto,但,但gotogoto还是保留的关键字;还是保留的关键字;JavaJava中没有操作符重载;中没有操作符重载;JavaJava中没有全局变量,可以在类中定义公用、静态中没有全局变量,可以在
20、类中定义公用、静态的数据成员实现相同功能。的数据成员实现相同功能。1.2 Java运行平台运行平台1.2.1 Java1.2.1 Java运行平台运行平台1.2.2 Java1.2.2 Java开发过程开发过程1.2.3 Java1.2.3 Java开发工具箱开发工具箱(JDK)(JDK)简介简介1.2.1 Java运行平台运行平台1 1三种平台简介三种平台简介 J2SEJ2SE:JavaJava标准版或标准版或Java Java 标准平台。标准平台。J2SE J2SE 提供了提供了标准的标准的SDKSDK开发平台(以前称做开发平台(以前称做JDKJDK开发平台)。开发平台)。J2EEJ2EE
21、:JavaJava企业版或企业版或JavaJava企业平台。企业平台。J2MEJ2ME:JavaJava微型版或微型版或JavaJava小型平台。小型平台。2 2环境变量环境变量JAVA_HOMEJAVA_HOME为那些需要使用为那些需要使用JavaJava命令和命令和JVMJVM的程序提供了的程序提供了通用的路径信息,其值应设置为通用的路径信息,其值应设置为JDKJDK的安装目录的路径,的安装目录的路径,JAVA_HOME=C:javajdk1.7 JAVA_HOME=C:javajdk1.7CLASSPATHCLASSPATH用于指明字节码文件的位置。用于指明字节码文件的位置。CLASSP
22、ATH=c:javajdk1.7jrelibrt.jar;.PATHPATH是操作系统使用的变量,用于搜索在是操作系统使用的变量,用于搜索在ShellShell中输入中输入的希望执行的命令。的希望执行的命令。在在Windows 2000Windows 2000和和Windows XPWindows XP中设置中设置JAVA_HOMEJAVA_HOME的步骤如下。的步骤如下。(1)(1)鼠标右键单击鼠标右键单击“我的电脑我的电脑”。(2)(2)选择选择“属性属性”菜单项。菜单项。(3)(3)在出现的窗口中,选择在出现的窗口中,选择“高级高级”选项。选项。(4)(4)在出现的窗口中,选择在出现的窗
23、口中,选择“环境变量环境变量”选项。选项。在在Windows 7Windows 7中设置环境变量的步骤如下。中设置环境变量的步骤如下。(1)(1)鼠标右键单击鼠标右键单击“计算机计算机”。(2)(2)选择选择“属性属性”菜单项。菜单项。(3)(3)在出现的窗口中,单击在出现的窗口中,单击“高级系统设置高级系统设置”。(4)(4)在出现的窗口中,单击在出现的窗口中,单击“环境变量环境变量”选项。选项。(5)(5)进行环境变量设置。进行环境变量设置。setPATH=%PATH%;c:javajdk1.7bin;setJAVA_HOME=c:javajdk1.7setCLASSPATH=c:java
24、jdk1.7jrelibrt.jar;.;e:wulib;e:java;3 3JDK1.7JDK1.7版本安装版本安装从从http:/http:/网站下载,然后安装该程网站下载,然后安装该程序。序。Java编译器编译器源文件源文件编辑器编辑器字节码字节码文件文件由由Web浏览器浏览器执行执行文件名文件名.java产生产生对于对于Java小小应用程序应用程序对于对于Java应用程序应用程序由由Java解释器执行解释器执行图1-1 Java程序开发过程示意图1.2.2 Java程序开发过程程序开发过程1 1JavaJava应用程序的开发应用程序的开发(1 1)编写源文件)编写源文件Editplus
25、Editplus等文本编辑器生成等文本编辑器生成Hello.javaHello.java(2 2)编译源文件生成字节码)编译源文件生成字节码 javac Hello.java javac Hello.java(3 3)加载运行字节码)加载运行字节码 java Hello java HelloApplicationApplication程序的命名程序的命名特点:特点:(1 1)区分大小写;)区分大小写;(2 2)如果程序中有)如果程序中有publicpublic类,则程序名称必须和类,则程序名称必须和publicpublic类的名称一致;类的名称一致;(3 3)如果程序没有)如果程序没有publ
26、icpublic类,则程序名称可以任取。但类,则程序名称可以任取。但建议以包含建议以包含main()main()方法的类的名称作为程序名称。因为,方法的类的名称作为程序名称。因为,无论程序名称如何,使用无论程序名称如何,使用JavaJava命令运行时,其后的字节命令运行时,其后的字节码文件一定是码文件一定是main()main()方法所在类对应的字节码文件。方法所在类对应的字节码文件。通常将与源文件名相同的类定义为主类,换句话说通常将与源文件名相同的类定义为主类,换句话说JavaJava程序文件名必须和主类的名称一致,且扩展名程序文件名必须和主类的名称一致,且扩展名是是javajava。主类按
27、如下确定:。主类按如下确定:(1 1)若源文件中存在)若源文件中存在publicpublic类,则该类为主类;类,则该类为主类;(2 2)若源文件没有)若源文件没有publicpublic类,则可定义任何类为主类。类,则可定义任何类为主类。对对ApplicationApplication程序而言,程序而言,必须有一个类含有必须有一个类含有public static void main(String argspublic static void main(String args)方法,方法,argsargs是是mainmain方法的一个参数,是一个字符方法的一个参数,是一个字符串类型的数组串类型
28、的数组(注意注意StringString的第一个字母是大写的的第一个字母是大写的)通常以包含通常以包含mainmain方法的类作主类。方法的类作主类。也可以将其他类定义为也可以将其他类定义为publicpublic类,并以此作为源程序名类,并以此作为源程序名称,当在称,当在javajava命令后跟随的类参数名应该为包含命令后跟随的类参数名应该为包含mainmain方方法的类名法的类名/Hello.javapublicclassHellopublicstaticvoidmain(Stringargs)System.out.println(你好,很高兴学习Java);C:javacHello.ja
29、vaC:javaHello2 2Java AppletJava Applet程序的开发程序的开发(1)(1)编写源文件编写源文件 Editplus Editplus等文本编辑器等文本编辑器Boy.javaBoy.java(2)(2)编译源文件生成字节码编译源文件生成字节码 javac Boy.javajavac Boy.java(3)(3)通过浏览器加载运行字节码通过浏览器加载运行字节码 Html Html文件文件myBoy.htmlmyBoy.html 或 appletviewer myboy.htmlappletviewer myboy.html/Boy.javaimport java.a
30、pplet.*;import java.awt.*;public class Boy extends Applet public void paint(Graphics g)g.setColor(Color.blue);g.drawString(Java是一门很优秀的语言是一门很优秀的语言,12,30);g.setColor(Color.red);g.drawString(我一定认真学习我一定认真学习Java,22,56);/myBoy.htmlC:javac Boy.javaC:appletviewer myboy.htmlJavaJava中中AppletApplet程序命名具有如下特点:程
31、序命名具有如下特点:(1 1)区分大小写;)区分大小写;(2 2)以)以AppletApplet为父类的子类应为为父类的子类应为publicpublic类,类,程序名称与该类的名称一致。程序名称与该类的名称一致。1.2.3 Java 开发工具箱开发工具箱Java Java 开发工具箱开发工具箱(JDK-Java Development Kit)(JDK-Java Development Kit)是是SunSun公司为用户提供的集成和执行公司为用户提供的集成和执行appletsapplets和应用程序和应用程序的工具的工具javac javac 编译器:可以用任何文字编辑器创建编译器:可以用任何
32、文字编辑器创建JavaJava程序程序java java 翻译器翻译器;用于执行编译过的用于执行编译过的 JavaJava应用程序。应用程序。appletviewer:appletviewer:可运行可运行appletsapplets而不必运行而不必运行 WebWeb浏览器。浏览器。javapjavap反汇编程序反汇编程序:从字节码文件恢复从字节码文件恢复javajava原代码。原代码。javadocjavadoc工具工具 :可以为所编写的源文件生成可以为所编写的源文件生成HTMLHTML文档文档1.3 综合应用综合应用【实例实例1-31-3】第第2章章 Java语言基础语言基础2.1 Jav
33、a程序概况2.2 基本数据类型2.3 运算符和表达式2.4 Java语句2.1 Java程序概况程序概况2.1.1 Java程序结构2.1.2 Java注释2.1.3 Java关键字2.1.4 Java标识符2.1.5 变量与常量2.1.1 Java程序结构程序结构Java源程序一般由一个或多个编译单元组成,每个编译单元只能包含以下内容(空格和注释除外):packagepackage包语句包语句importimport导入语句导入语句类的声明类的声明接口声明接口声明图2-1 Java程序中各元素及其关系注释注释0.npackage0.1import0.n成员变量成员变量0.n方法方法0.n局部
34、变量局部变量0.n执行语句执行语句0.n类类1.nJava程序程序1.1./*/*这是一个简单的这是一个简单的JavaJava程序示例程序程序示例程序*/2.2.package mypack;package mypack;3.3.import java.util.*;import java.util.*;4.4.public class Example public class Example 5.5.public static void main(String args)public static void main(String args)6.6.System.out.println(Ja
35、va System.out.println(Java欢迎您!欢迎您!););7.7.8.8./*/*这是一个简单的这是一个简单的JavaJava程序示例程序示例*/package mypack;package mypack;import java.util.*;import java.util.*;public class Example public class Example public static void main(String args public static void main(String args)String s=Java String s=Java欢迎您!欢迎您!;
36、System.out.println(s);System.out.println(s);注释注释package语句语句import语句语句类类方法方法变量定义变量定义语句语句2.1.2 Java注释注释方式1:/注释一行例如:例如:num=2;/num num=2;/num是计算器,用于累计选课人数是计算器,用于累计选课人数方式2:/*一行或多行注释*/例如:例如:/*/*本方法用于计算阶乘本方法用于计算阶乘*/*/方式3:/*文档注释*/文档注释一般放在一个变量或函数定义说明之前文档注释一般放在一个变量或函数定义说明之前,表示该段注释应表示该段注释应包含在自动生成的任何文档中(即由包含在自动
37、生成的任何文档中(即由javadocjavadoc生成的生成的HTMLHTML文件)。文件)。这种注释都是声明条目的描述。这种注释都是声明条目的描述。2.1.3 Java关键字关键字abstractconstfinallyinterfacereturnthrowbooleancontinuefloatlongsafetransientbreakdefaultfornativeshorttruebydogotonewstatictrybytedoubleifnullsupervaluecaseelseimplementspackageswitchvoidcatchextendsimportpri
38、vatesynchronizedvolatilecharfalseinstanceofprotectedthiswhileclassfinalintpublicthread2.1.4 Java标识符标识符所谓标识符就是用来标识包名、类名、接口名、变量名、方法名、文件名等的有效字符序列。由字母、下划线、美元符号和数字组成,并且第一个由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。字符不能是数字。标识符中的字母是区分大小写的例子:判断正误标识符中的字母是区分大小写的例子:判断正误 (1)3max (2)class (1)3max (2)class (3)room#(4)userNam
39、e (3)room#(4)userName (5)user_Name (6)UserName (5)user_Name (6)UserName 一般标识符按照以下规则命名:(1 1)标识符尽量采用有意义的字符序列,便于从标识)标识符尽量采用有意义的字符序列,便于从标识符识别出所代表的基本含义。符识别出所代表的基本含义。(2 2)包名包名:包名是全小写的名词,中间可以由点分隔:包名是全小写的名词,中间可以由点分隔开,例如:开,例如:java.awt.eventjava.awt.event。(3 3)类名类名:首字母大写,通常由多个单词合成一个类:首字母大写,通常由多个单词合成一个类名,要求每个单
40、词的首字母也要大写,例如名,要求每个单词的首字母也要大写,例如class class HelloWorldAppHelloWorldApp。(4 4)接口名接口名:命名规则与类名相同,例如:命名规则与类名相同,例如interface interface CollectionCollection。(5 5)方法名方法名:往往由多个单词合成,第一个单词通常:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要为动词,首字母小写,中间的每个单词的首字母都要大写,例如:大写,例如:balanceAccountbalanceAccount,isButtonPressedisB
41、uttonPressed。(6 6)变量名变量名:全小写,一般为名词,例如使用:全小写,一般为名词,例如使用areaarea表表示面积变量,示面积变量,lengthlength表示程度变量,等等。表示程度变量,等等。(7 7)常量名常量名:基本数据类型的常量名为全大写,如果:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:是由多个单词构成,可以用下划线隔开,例如:int int YEAR,int MAX_VALUEYEAR,int MAX_VALUE;如果是;如果是对象类型的常量对象类型的常量,则是,则是大小写混合,由大写字母把单词隔开。大小写混合,由大写字母把单词
42、隔开。(8 8)对变量和方法对变量和方法,其名称不宜以,其名称不宜以_ _和和$为第为第一个字符,因为这两个字符对于内部有特殊含义。一个字符,因为这两个字符对于内部有特殊含义。2.1.5 变量与常量变量与常量Java变量是一个由标识符命名的项。变量具有一定类型,例如 int 型或class型,也具有作用域,其值可被改变。变量声明的语法形式如下:变量声明的语法形式如下:varType varName=value,varName=valuevarType varName=value,varName=value;double area,r;double area,r;在变量声明格式前加上final修
43、饰符,就声明了一个常量。常量一旦被初始化以后就不可改变。常量声明的语法形式如下:常量声明的语法形式如下:final varType varName=value,varName=valuefinal varType varName=value,varName=value;2.2 基本数据类型基本数据类型2.2.1 基本数据类型概况2.2.2 基本数据类型转换2.2.1 基本数据类型概况基本数据类型概况基本数据类型也称作简单数据类型,Java语言有8种简单数据类型,分别是:boolean、byte、short、int、long、float、double、char。复合数据类型包括数组、类和接口等。
44、图图2-2 Java语言数据类型语言数据类型数值类型数值类型整数类整数类 int,byte,short,long 浮点类浮点类 double,float逻辑类逻辑类 boolean字符类字符类 char数组数组 type类类 class接口接口 interface数数据据类类型型基本基本数据数据类型类型复合复合数据数据类型类型2.2.1 基本数据类型概况基本数据类型概况1逻辑类型常量:常量:true true,falsefalse。变量的定义:使用关键字变量的定义:使用关键字booleanboolean来定义逻辑变量,定来定义逻辑变量,定义时也可以赋给初值。义时也可以赋给初值。例如:例如:bo
45、olean xboolean x;/定义逻辑型变量定义逻辑型变量x xboolean x=false;/boolean x=false;/定义逻辑型变量定义逻辑型变量x x,并赋值为,并赋值为falsefalse2.2.1 基本数据类型概况基本数据类型概况2整数类型常量:常量:123123,60006000(十进制),(十进制),077(077(八进制八进制),0 x3ABC0 x3ABC(十六进制十六进制)。整型变量的定义分为整型变量的定义分为4 4种种类型类型举例举例字节长度字节长度bytebyte x,y=1;1shortshort x,y=2;2intint x,y=3;4longlo
46、ng x,y=4;82.2.1 基本数据类型概况基本数据类型概况3字符类型常量:常量:unicodeunicode字符表中的字符就是一个字符常量字符表中的字符就是一个字符常量例如例如A A,?,9 9,好好,等。,等。JavaJava还使用转意字符常量,如:还使用转意字符常量,如:nn为换行转意字为换行转意字符常量。符常量。变量的定义:使用关键字变量的定义:使用关键字charchar来定义字符变量来定义字符变量例如:例如:char x=char x=A A,漂亮,漂亮=假假,jiafeijiafei;特别提示:特别提示:一个一个unicodeunicode字符占字符占2 2个字节个字节char
47、char型变量,内存分配给型变量,内存分配给2 2个字节,占个字节,占1616位,最高位不是位,最高位不是符号位,没有负数的符号位,没有负数的charchar。charchar型变量的取值范围是型变量的取值范围是0-655360-65536。运行结果为:在在unicodeunicode表中字符表中字符 中中 对应的序号为对应的序号为2001320013在在unicodeunicode表中字符表中字符 国国 对应的序号为对应的序号为2226922269在在unicodeunicode表中字符表中字符 梦梦 对应的序号为对应的序号为2679026790在在unicodeunicode表中序号表中序
48、号2279722797对应的字符为对应的字符为 复复 在在unicodeunicode表中序号表中序号2085220852对应的字符为对应的字符为 兴兴 在在unicodeunicode表中序号表中序号2679026790对应的字符为对应的字符为 梦梦 说明:将将“note1”note1”所在行的语句所在行的语句“ch1=(char)n1;”ch1=(char)n1;”变为变为“ch1=20064;”ch1=20064;”可以得到同样的结果,可是将该语句变为可以得到同样的结果,可是将该语句变为“ch1=n1;”ch1=n1;”则会出错。详细原因请见随后的类型转换部分。则会出错。详细原因请见随后
49、的类型转换部分。2.2.1 基本数据类型概况基本数据类型概况4浮点类型浮点类型包括浮点类型包括float float 型和型和doubledouble型。浮点型数值缺省型。浮点型数值缺省为为doubledouble型,型,floatfloat型在数值之后加型在数值之后加f f或或F F例如,例如,float float 型常量:型常量:453.5439f453.5439f,21379.987F21379.987F,2e40f2e40f,doubledouble型常量:型常量:21389.5439d21389.5439d(d d可以省略),可以省略),6e-1406e-140。float flo
50、at 型变量的定义:型变量的定义:float x,y=22.76f;float x,y=22.76f;doubledouble型变量的定义:型变量的定义:double x,y=12.76double x,y=12.762.2.2 基本数据类型转换基本数据类型转换所谓类型转换就是将一种数据类型变量转变成另一种类型所谓类型转换就是将一种数据类型变量转变成另一种类型变量。变量。JavaJava语言是一种强类型语言语言是一种强类型语言(类似于类似于C+C+,而不是,而不是C C语言语言)。当表达式中的数据类型不一致时,就需要进行数据类型转当表达式中的数据类型不一致时,就需要进行数据类型转换。换。Jav