Java程序设计语言1课件

上传人:s9****2 文档编号:567954965 上传时间:2024-07-22 格式:PPT 页数:80 大小:328KB
返回 下载 相关 举报
Java程序设计语言1课件_第1页
第1页 / 共80页
Java程序设计语言1课件_第2页
第2页 / 共80页
Java程序设计语言1课件_第3页
第3页 / 共80页
Java程序设计语言1课件_第4页
第4页 / 共80页
Java程序设计语言1课件_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《Java程序设计语言1课件》由会员分享,可在线阅读,更多相关《Java程序设计语言1课件(80页珍藏版)》请在金锄头文库上搜索。

1、第 2章Java 程序设计语言概述1Java程序设计语言(1)2.1 Java程序设计语言的发展q1995年5月发布Java和HotJava浏览器q1995年9月宣布将提供Java开发工具q1995年12月发布JavaScriptq1996年推出JDK1.0q1996年颁布JavaBeans规范q1997年推出JDK1.1.2q1998年12月Sun公司发布了Java2平台2Java程序设计语言(1)2.1 Java程序设计语言的发展q1999年年6月月SUN公司重新定义了公司重新定义了Java技术的框架,技术的框架,形成了现在的形成了现在的3个版本:个版本:1、J2ME(Java2 Micr

2、o Edition)以消费性电子产以消费性电子产品为目标的高度优化的品为目标的高度优化的Java运行环境。运行环境。2、J2SE(Java2 Standard Edition)开发客户端应开发客户端应用程序的用程序的Java标准平台,标准平台,是是Java2的标准版,主要的标准版,主要用于桌面应用软件的编程。用于桌面应用软件的编程。3、J2EE(Java2 Enterprise Edition)是是Java2的企的企业版,主要用于分布式的网络程序的开发,如电业版,主要用于分布式的网络程序的开发,如电子商务网站和子商务网站和ERP系统。具有模块化、可重用的系统。具有模块化、可重用的JavaBea

3、n组件组件一个一个java类类(参考教材参考教材388页页)。 要学习j2ee就要先学习j2se3Java程序设计语言(1)2.2 Java程序设计语言的基本特征简捷性面向对象分布式健壮性结构中立安全性可移植性解释执行高性能多线程4Java程序设计语言(1)2.3 Java程序的运行环境编译型源程序编译型源程序字节码程序字节码程序Java源程序源程序可执行程序可执行程序exe裸裸机机操操作作系系统统解解释释器器编译编译连接连接编译编译运行运行解释解释运行运行.java.classJava是解释型的高级编程语言是解释型的高级编程语言JavaJava虚拟机虚拟机虚拟机虚拟机5Java程序设计语言(

4、1)运行Java程序的基本过程1、利用编辑器编写、利用编辑器编写 Java源程序源程序源文件名:源文件名:源文件名:源文件名:主类名主类名主类名主类名.java.java2、利用编译器将源程序编译成字节码文件、利用编译器将源程序编译成字节码文件字节码文件名:字节码文件名:字节码文件名:字节码文件名:源文件名源文件名源文件名源文件名.class.class3、利用虚拟机(解释器)运行、利用虚拟机(解释器)运行工作过程:工作过程:工作过程:工作过程:载入载入载入载入、代码校验代码校验代码校验代码校验、解释执行解释执行解释执行解释执行6Java程序设计语言(1)常见的Java开发环境q从从从从网络上

5、直接下载网络上直接下载网络上直接下载网络上直接下载JDKJDK(J Java ava D Developer eveloper KKit it),),),),并利用命令行方式操作并利用命令行方式操作并利用命令行方式操作并利用命令行方式操作javacjavac(编译器)编译器)编译器)编译器);javajava(解释器)解释器)解释器)解释器)qJavaJava集成开发环境集成开发环境集成开发环境集成开发环境(IDEIDE)Visual J+Visual J+、Visual CafeVisual Cafe、JBuilderJBuilder、EclipseEclipseqJavaJava教学集成开

6、发环境教学集成开发环境教学集成开发环境教学集成开发环境BlueJBlueJ(需要需要需要需要JDK1.3JDK1.3以上版本的支持)、以上版本的支持)、以上版本的支持)、以上版本的支持)、JCreaterJCreater是一个是一个是一个是一个JAVAJAVA集成开发环境(集成开发环境(集成开发环境(集成开发环境(IDEIDE)。)。)。)。其最大特点是与机器中所其最大特点是与机器中所其最大特点是与机器中所其最大特点是与机器中所装的装的装的装的JDKJDK完美结合,是其它任何一款完美结合,是其它任何一款完美结合,是其它任何一款完美结合,是其它任何一款IDEIDE所不能比拟的。所不能比拟的。所不

7、能比拟的。所不能比拟的。 其实其实其实其实, ,有很多高手根本有很多高手根本有很多高手根本有很多高手根本不用这些工具不用这些工具不用这些工具不用这些工具, ,随便一随便一随便一随便一个文本编辑器个文本编辑器个文本编辑器个文本编辑器( (如记事如记事如记事如记事本本本本)+JDK)+JDK就可编一个非就可编一个非就可编一个非就可编一个非常完美的绝对的纯的常完美的绝对的纯的常完美的绝对的纯的常完美的绝对的纯的JavaJava程序程序程序程序. .刚开始学习刚开始学习刚开始学习刚开始学习j2sej2se先建议不要使用先建议不要使用先建议不要使用先建议不要使用IDEIDE,然后渐渐的过,然后渐渐的过,

8、然后渐渐的过,然后渐渐的过渡到使用渡到使用渡到使用渡到使用IDEIDE开发开发开发开发7Java程序设计语言(1)2.4 Java程序的基本结构qApplication应用程序:应用程序: 它是一个完整的应用程序,可以利用它是一个完整的应用程序,可以利用Java虚拟机独立地运行。虚拟机独立地运行。 qApplet(小应用程序):小应用程序): 它不是一个完整的应用程序,而是框它不是一个完整的应用程序,而是框架程序中的一个模块,因此只能在架程序中的一个模块,因此只能在WWW 浏览器环境下运行。浏览器环境下运行。 8Java程序设计语言(1)Application应用程序举例应用程序举例impor

9、t java.io.*;public class MyFirstJavaProgram public static void main(String args) System.out.println(“This is the first Java Application”); 9Java程序设计语言(1)Java Application程序基本结构程序基本结构import语句语句class public static void main(String args) 主类名称主类名称方法体方法体10Java程序设计语言(1)Applet 应用程序举例应用程序举例import java.applet

10、.*;import java.applet.*;import java.awt.*;import java.awt.*;public class public class MyFirstJavaAppletMyFirstJavaApplet extendsextends AppletApplet public void paint(Graphics g) public void paint(Graphics g) g.drawString(“This is the first Applet g.drawString(“This is the first Applet program.”,50,

11、50); program.”,50,50); 11Java程序设计语言(1)Java Applet小应用程序基本结构小应用程序基本结构import java.applet.*;import java.awt.*;class extends Applet 类名称类名称类成员声明类成员声明 Applet是一个系统类,是容器类是一个系统类,是容器类java.awt.Panel类的子类的子类,封装了类,封装了init(),start(),stop(),paint(),destroy()等方法。等方法。12Java程序设计语言(1) FirstJavaApplet Codebase指定了指定了Java程

12、序在程序在网网络上何上何处可以找到需要的可以找到需要的类。13Java程序设计语言(1)Java Applet 工作原理HTML文件嵌入Appletwww服务器www服务器www浏览器请求HTML文件下载HTML文件请求Applet字节码下载Applet字节码解释执行Applet字节码14Java程序设计语言(1)编写Java程序需要注意的几点_Java 区分大小写区分大小写_一个程序中可以有一个或多个类,但一个程序中可以有一个或多个类,但其中只能有一个主类其中只能有一个主类_源程序编写完毕,应该用主类名作为源程序编写完毕,应该用主类名作为文件名,再加后缀文件名,再加后缀 .java 存储成磁

13、盘存储成磁盘文件文件15Java程序设计语言(1)2.5 Java程序的基本类型 数据类型决定了参与操作的变量、常数据类型决定了参与操作的变量、常量和表达式的取值类别、取值范围以及能量和表达式的取值类别、取值范围以及能够实施的操作行为够实施的操作行为。Java语言属于强类型语言属于强类型语言,语言,即对于程序中出现的所有变量和表即对于程序中出现的所有变量和表达式,在编译的时候就要求有明确的数据达式,在编译的时候就要求有明确的数据类型类型,这样才可以由编译程序在编译期间,这样才可以由编译程序在编译期间对所有的操作进行数据类型相容性的检查。对所有的操作进行数据类型相容性的检查。Java支持的数据类

14、型分为两个类别:基本数据基本数据类型类型和引用数据类型引用数据类型16Java程序设计语言(1)Java的基本数据类型布尔类型:布尔类型:boolean字符类型:字符类型:char整数类型:整数类型:byte、short、int、long浮点类型:浮点类型:float、double17Java程序设计语言(1)数据类型数据类型占用二进制位数占用二进制位数取值范围取值范围默认值默认值boolean(布尔类型)布尔类型)8True或或falsefalsechar(字符类型字符类型)16u0000uFFFF(065535)u0000byte(字节类型字节类型)8-128127(-27(27-1)0s

15、hort(短整型短整型)16-3276832767(-215(215-1)0int(整型整型)32-21474836482147483647(-231(231-1)0long(长整型长整型)64(-263(263-1)0float(单精度浮点型单精度浮点型)32+1.4E-45+3.4028235E+380.0fdouble(双精度浮点型双精度浮点型)64+4.9E-324+1.7976931348623157E+3080.0Java语言的基本数据类型在Java语言中,基本数据类型的数据所占用的二进制位数是固定的,与具体的软硬件环境无关。每一种数据类型都有一个默认的初值。所有基本类型的关键词都

16、是小写的。在把容量大的类型转换为容量小的类型时必须使用强制类型转换。18Java程序设计语言(1)boolean 只有只有“true”和和“false”两个取值,分两个取值,分别代表别代表“真真”和和“假假”。 特点:特点:不能够与任何其他类型进行相互不能够与任何其他类型进行相互的类型转换操作的类型转换操作,不对应于任何整数值不对应于任何整数值, 只能参与逻辑关系运算只能参与逻辑关系运算。n不能用不能用1和和0代表代表true和和false。19Java程序设计语言(1)charvJava语言规定,字符采用语言规定,字符采用Unicode编码,每编码,每个字符占用两个字节。个字符占用两个字节。

17、vASCII字符集是字符集是Unicode字符集的一个子集,字符集的一个子集,并且在这两个字符集中,前并且在这两个字符集中,前128个编码所个编码所对应的字符完全相同,只是每个字符占用对应的字符完全相同,只是每个字符占用的二进制位数不同。的二进制位数不同。v转义符表示一个转义符表示一个Unicode字符字符 uxxxx20Java程序设计语言(1)byte、short、int、long上面上面4种数据类型都属于整型数值类型。种数据类型都属于整型数值类型。byte 1个字节个字节short 2个字节个字节int 3个字节个字节long 4个字节个字节Java语言中所有整数类型均为符号数语言中所有

18、整数类型均为符号数21Java程序设计语言(1)float、doubleqfloat 单精度单精度 32位位qdouble 双精度双精度 64位位qJava语言中的浮点数值表示遵循语言中的浮点数值表示遵循IEEE754标准。它不仅包括正零标准。它不仅包括正零(+0.0)、负零、负零(-0.0)、正无穷大、正无穷大(Infinity)、负无穷大、负无穷大(-Infinity)和一个特别的值和一个特别的值NaN(非法的浮点非法的浮点运算结果运算结果)。)。22Java程序设计语言(1)2.6 标识符、关键字、分隔符、常量、变量 【标识符】 Java 的标识符由的标识符由字母字母、数字数字、_和和$

19、组组成,长度不限。其中字母可以是大写成,长度不限。其中字母可以是大写或小写的英文字母,数字为或小写的英文字母,数字为 0 到到 9。标识符的第一个字符必须为标识符的第一个字符必须为字母字母、(_)或或($)符号。标识符区分大小写符号。标识符区分大小写。23Java程序设计语言(1) 标识符标识符用来用来命名变量命名变量、符号常量符号常量、数组数组、方法方法、类类、对象对象、接口接口、包包等。为了提等。为了提高程序的可读性,标识符最好高程序的可读性,标识符最好“见名知见名知义义”,而且规范大小写的使用方式,标,而且规范大小写的使用方式,标识符命名规范见识符命名规范见P42。n合法的标识符:合法的

20、标识符:Identifier userName User_Name _sys_value $change my$Changen非法的标识符:非法的标识符:2mail room# class24Java程序设计语言(1)【关键字】 又称又称保留字保留字,是,是 Java 语言规定了特定含语言规定了特定含义的标识符。用户只能按照系统规定的方义的标识符。用户只能按照系统规定的方式使用,不能自行定义。式使用,不能自行定义。关键字一律用小关键字一律用小写字母表示写字母表示。Java 中的关键字有中的关键字有 50 个,个,按用途划分为:按用途划分为:数据类型、语句、修饰、数据类型、语句、修饰、方法、类、

21、接口、包方法、类、接口、包,并保留了,并保留了const和和 goto但并不使用。但并不使用。25Java程序设计语言(1)数据和返回值类型:数据和返回值类型:int, void, return包包/类类/成员成员/接口:接口:package, class, interface访问控制:访问控制:public, private, protected循环及循环控制:循环及循环控制:if, switch, break例外处理:例外处理:throw, try, finally保留词(无含义但不能使用):保留词(无含义但不能使用):goto, const【关键字简单分类】26Java程序设计语言(1)

22、【分隔符】 分隔符分隔符被用来区分被用来区分 Java 源程序中的源程序中的基本成分(基本成分(标识符、关键字、运算标识符、关键字、运算符和常量符和常量),分隔符分为),分隔符分为注释注释、空空白符白符和和普通分隔符普通分隔符三种类别。三种类别。27Java程序设计语言(1) 注释注释是为源程序增加必要的解释说明是为源程序增加必要的解释说明的内容,其目的是提高程序的可读性,的内容,其目的是提高程序的可读性,书写注释是编写程序的良好习惯书写注释是编写程序的良好习惯。Java中有三种形式的注释:中有三种形式的注释: /* 注释部分注释部分 */ / 注释部分注释部分 /* 注释部分注释部分 * *

23、 /nJava文档注释,可以通过文档注释,可以通过javadoc生成类和接口的生成类和接口的HTML格式的帮助文档。格式的帮助文档。28Java程序设计语言(1) 第二种分隔符是第二种分隔符是空白符空白符,包括,包括空格空格、回回车符车符、换行符换行符和和制表符制表符(Tab键)等。键)等。各种各种 Java 基本成分之间的多个空白符基本成分之间的多个空白符与一个空白符的作用相同与一个空白符的作用相同。29Java程序设计语言(1) 第三种是第三种是普通分隔符普通分隔符,具有确定的语法含,具有确定的语法含义,必须按照特定的语法规定使用。它包义,必须按照特定的语法规定使用。它包括四种分隔符:括四

24、种分隔符: 大括号大括号,用来定义类体、方法体、,用来定义类体、方法体、复合语句或对数组进行初始化。复合语句或对数组进行初始化。 ; 分号分号,是语句结束的标志。,是语句结束的标志。 , 逗号逗号,分隔方法的参数或声明的变,分隔方法的参数或声明的变量序列。量序列。 : 冒号冒号,用于分隔语句标号,用于分隔语句标号。30Java程序设计语言(1)【直接量】基本数据类型和字符串类型的数值表示基本数据类型和字符串类型的数值表示n整型直接量整型直接量:十、八、十六进制:十、八、十六进制n实型直接实型直接量量:double、float (185.2f)n字符直接量:字符直接量:单引号括起来单引号括起来(

25、n)n布尔直接量布尔直接量:true 和和 falsen字符串直接量字符串直接量:双引号括起来:双引号括起来31Java程序设计语言(1)【变量】 在在 Java 语言中,所有的变量必须先定义语言中,所有的变量必须先定义后使用。其格式为:后使用。其格式为: 数据类型数据类型 标识符标识符1=初值初值,标识符标识符2.; 如果是如果是基本数据类型基本数据类型,变量在声明时就,变量在声明时就为其分配内存空间;否则,为其分配内存空间;否则,还需要还需要用用 new 为声明的变量为声明的变量分配空间分配空间。基本数据类型包基本数据类型包括布尔类型、字括布尔类型、字符类型和数值类符类型和数值类型。型。3

26、2Java程序设计语言(1)【常量】 在在Java语言中,可将变量声明语言中,可将变量声明成成final。 final float PI=3.14159f; 该类型变量在程序的运行过程中只被赋该类型变量在程序的运行过程中只被赋值一次,其值不能被更改,但并不要求值一次,其值不能被更改,但并不要求一定在定义的同时为其赋值。一定在定义的同时为其赋值。33Java程序设计语言(1)2.7 Java程序的基本输入输出Applet 应用程序的输入输出应用程序的输入输出输入输入:利用图形用户界面的组件接收用户信息:利用图形用户界面的组件接收用户信息输出输出:以图形或图像的形式输出结果:以图形或图像的形式输出

27、结果Application应用程序的输入输出应用程序的输入输出字符界面字符界面:利用:利用 System.in.read 输入输入, System.out.print 和和 System.out.println 输出输出图形用户界面图形用户界面:与:与 Applet 类似类似34Java程序设计语言(1)字符界面的输入输出字符界面的输入输出import java.io.*;public class SimpleCharInOut public static void main(String args) char ch= ; System.out.print(“Enter a character

28、 please: ”); try ch=(char)System.in.read( ); catch(IOException e) ; System.out.println(“Youve entered character ”+c); 35Java程序设计语言(1)import java.io.*;public class ApplicationLineInOutpublic static void main(String args) String string=; System.out.print(please enter a string:); try BufferedReader in=

29、 new BufferedReader(new InputStreamReader(System.in); string=in.readLine( ); catch(IOException e) System.out.println(Youve entered string: +string); 36Java程序设计语言(1)import java.applet.Applet;import java.awt.*;import java.awt.event.*;public class GUIDemo extends Applet implements ActionListenerButton

30、redButton; /按钮按钮“红色红色”Button greenButton; /按钮按钮“绿色绿色”Label label; /标签标签public void init() label=new Label(程序开始运行,目前还没有点击任何按钮程序开始运行,目前还没有点击任何按钮); redButton=new Button(“红色红色”); /创建创建“红色红色”按钮按钮 greenButton=new Button(“绿色绿色”); /创建创建“绿色绿色”按钮按钮 redButton.addActionListener(this); /注册监听器注册监听器 greenButton.ad

31、dActionListener(this); /注册监听器注册监听器 add(label); /将标签将标签label添加到容器中添加到容器中 add(RedButton); /将按钮将按钮redButton添加到容器中添加到容器中 add(GreenButton); /将按钮将按钮greenButton添加到容器中添加到容器中 图形用户界面的输入输出图形用户界面的输入输出37Java程序设计语言(1)/点击按钮时自动调用点击按钮时自动调用public void actionPerformed(ActionEvent e) if (e.getSource()=RedButton) label.

32、setText(你点击了红色按钮你点击了红色按钮); else if (e.getSource()=GreenButton) label.setText(你点击了绿色按钮你点击了绿色按钮); 38Java程序设计语言(1)2.8 运算符与表达式运运算算符符由由一一至至三三个个字字符符结结合合而而成成,用用以以表表示示运运算算。虽虽然然运运算算符符是是由由数数个个字字符符组组合合,但但Java将将其其视视为为一一个个符符号号。运运算算符亦为标记的一种符亦为标记的一种。请请特特别别注注意意前前、后后递递增增,前、后递减的概念前、后递减的概念。前递增是指被前置的变前递增是指被前置的变量先递增后,再指

33、定给量先递增后,再指定给另一个变量。而后递增另一个变量。而后递增则是指定完后再递增。则是指定完后再递增。前递减与后递减亦是同前递减与后递减亦是同样规则样规则。 算术运算符算术运算符 运算符运算符 运算运算 范例范例 结果结果 + +正号正号 +3+33 3 - -负号负号 b b4;-b4;-b-4 -4 + +加加5+55+51010 - -减减 6-46-42 2 * *乘乘3*43*41212 / /除除5/55/51 1 % %余数余数 5%55%50 0+前递增前递增 a=2;b=+aa=2;b=+aa=3;b=3a=3;b=3 +(+(f) f)后递增后递增 a=2;b=a+a=2

34、;b=a+a=3;b=2a=3;b=2- -前递减前递减 a=2;b=-aa=2;b=-aa=1;b=1a=1;b=1 - -后递减后递减 a=2;b=a-a=2;b=a-a=1;b=2a=1;b=2 + +字符串串连字符串串连 “Ja”+Ja”+“va”“va”“Java”Java”39Java程序设计语言(1)赋值运算符 赋值运算符赋值运算符 运算符运算符 运算运算 范例范例 结果结果 = =指定数值指定数值 a=3;b=2a=3;b=2a=3;b=2a=3;b=2+=+=加等于加等于 a+=ba+=ba=5;b=2a=5;b=2-=-=减等于减等于 a-=ba-=ba=1;b=2a=1;

35、b=2*=*=乘等于乘等于 a*=ba*=ba=6;b=2a=6;b=2/= /=除等于除等于 a/=ba/=ba=1.5;b=2a=1.5;b=2%=%=余数等于余数等于 a%=ba%=ba=1;b=2a=1;b=2a+=b的意思的意思是是a=a+b。其余以此类其余以此类推。推。40Java程序设计语言(1)关系运算符 关系运算符关系运算符 运算符运算符 运算运算 范例范例 结果结果 =相等于相等于 4=34=3falsefalse!=!=不等于不等于 4!=34!=3truetrue 小于小于 434 大于大于 4343truetrue=小于等于小于等于 4=34=大于等于大于等于 4=3

36、4=3truetrueinstanceof instanceof 检查是否检查是否为类实例为类实例 “Hello”iHello”instanceof nstanceof StringStringtruetrue41Java程序设计语言(1)逻辑运算符 逻辑运算符逻辑运算符 运算符运算符 运算运算 范例范例 结果结果 & &ANDANDfalse&truefalse&truefalsefalse|ORORfalse|truefalse|truetruetrue XORXORtruefalsetruefalsetruetrue! !NotNot! !truetruefalsefalse&简洁简洁

37、ANDANDfalse&trufalse&true efaslefasle| |简洁简洁 ORORfalse|truefalse|truetruetrue?: ?: ConditionalConditional(ternary)(ternary)false?6:9false?6:99 9x=10;if(x0)|(+x右移右移c2c2左移左移c2c无符号右无符号右移移c2c2a=(106)D=(01101010)Bb=(7)D=(00000111)BC= (-17)D=(11101111)B43Java程序设计语言(1)2.8.2 优先级和结合顺序1). , , () 9) &2)+ , - ,

38、 ! , , instanceof 10) 3) + , - , (type) , new 11) |4)* , / , % 12) &5)+ , - 13) |6) , , , = , =15)= , += , -= , *= , /= , %= , =8)= , !=16)&= , |= , = , = 注:红色的从右到左,其余的从左到右;用括号改变结合顺序。注:红色的从右到左,其余的从左到右;用括号改变结合顺序。 蓝色运算符对蓝色运算符对byte、short、char作运算时,结果为作运算时,结果为int型整数。型整数。44Java程序设计语言(1)赋值操作中的类型转换qJava是是强类

39、型语言强类型语言,因此,在进行,因此,在进行赋值操作时要检查类型;赋值操作时要检查类型;q当将占位数少的类型赋值给占位数当将占位数少的类型赋值给占位数多的类型时,多的类型时,Java自动使用自动使用隐式隐式类类型转换;型转换;q当将占位数多的类型赋值给占位数当将占位数多的类型赋值给占位数少的类型时,需要由用户使用少的类型时,需要由用户使用显式显式地强制进行类型转换。地强制进行类型转换。45Java程序设计语言(1)package java.lang;import java.util.Random;public final class Math private Math( ) public st

40、atic final double E = 2.70452354; public static final double PI = 3.149323846; public static native double sin(double a); public static native double cos(double a); public static native double tan(double a); public static native double asin(double a); public static native double acos(double a); publ

41、ic static native double atan(double a); public static native double exp(double a); public static native double log(double a); public static native double sqrt(double a); public static native double IEEEremainder(double f1, double f2); public static native double ceil(double a); public static native

42、double floor(double a); public static native double rint(double a);MathMath类类类类( import java.lang)( import java.lang)46Java程序设计语言(1) public static native double atan2(double a, double b); public static native double pow(double a, double b); public static int round(float a) public static long round(d

43、ouble a) private static Random randomNumberGenerator; public static double random( ) public static int abs(int a) public static long abs(long a) public static float abs(float a) public static double abs(double a) public static int max(int a, int b) public static long max(long a, long b) public stati

44、c float max(float a, float b) public static double max(double a, double b) public static int min(int a, int b) public static long min(long a, long b) public static float min(float a, float b) public static double min(double a, double b) 47Java程序设计语言(1) 顺序结构的语句:顺序结构的语句:空语句、标号语句、表达式空语句、标号语句、表达式语句、复合语句

45、、语句、复合语句、throw语句、语句、synchronized语语句和句和try语句。语句。该结构语句特点:该结构语句特点:按书写顺序依次执行按书写顺序依次执行。q流程控制语句流程控制语句:顺序结构、分支结构和循环结构:顺序结构、分支结构和循环结构2.9 流程控制语句48Java程序设计语言(1)分支结构 if (布尔表达式布尔表达式) 语句语句1; else 语句语句2; switch (表达式表达式) case 常量常量1:语句块:语句块1; . case 常量常量n:语句块:语句块n; default:语句块:语句块n+1; 结果必须为结果必须为boolean类型类型结果必须为结果必须

46、为char,byte,short,int类类型型49Java程序设计语言(1)循环结构while 格式格式: while (循环条件循环条件) 循环体循环体 含义含义:循环条件为一个布尔表达:循环条件为一个布尔表达式,其值为式,其值为true时,重复执行循时,重复执行循环体环体。50Java程序设计语言(1)循环结构 do 格式格式: do 循环体循环体 while (循环条件循环条件); 含义含义:重复执行循环体,:重复执行循环体,直到循环条件为直到循环条件为false。51Java程序设计语言(1)继续条件?下一个语句语句truetruefalsefalse下一个语句truetrue语句继

47、续条件?while (循环条件循环条件) 循环体循环体do 循环体循环体 while (循环条循环条件件);52Java程序设计语言(1)循环结构for格式:格式:for (表达式表达式1;表达式;表达式2;表达式;表达式3) 循环体;循环体;表达式表达式1:循环初值:循环初值表达式表达式2:布尔型表达式,循环条件:布尔型表达式,循环条件表达式表达式3:循环增量表达式:循环增量表达式例如:例如:for (int i=0;i=11;i+) total+=Rainyear-1i; 53Java程序设计语言(1)2.9.10 循环语句比较int n = 1, sum = 0;while ( n0);

48、int sum =0;for( int i=1; i=10; i+ ) sum += i;while循环循环do-while循环循环for循环循环54Java程序设计语言(1)控制转移语句qbreak语句语句:使程序的流程从一个:使程序的流程从一个语句块内部转移出去。通常在语句块内部转移出去。通常在switch和循环语句中使用和循环语句中使用。qcontinue语句语句:只能在循环语句中:只能在循环语句中使用。其作用是终止当前这一轮的使用。其作用是终止当前这一轮的循环,直接进入下一轮的循环。循环,直接进入下一轮的循环。55Java程序设计语言(1)2.9.11 程序转移相关语句breaka:

49、/标记代码块标记代码块a b: /标记代码块标记代码块b c: /标记代码块标记代码块c break b; /这段语句将不执行这段语句将不执行 /代码块代码块c结束结束 /这段语句也不执行这段语句也不执行 /代码块代码块b结束结束 /从这段语句开始执行从这段语句开始执行 /代码块代码块a结束结束56Java程序设计语言(1)2.9.12 程序转移相关语句continueouter: for( int i=0; i10; i+ ) /外层循环外层循环 inner: for( int j=0; j10; j+ ) /内层循环内层循环if( ij ) continue outer; /内层循环结束内

50、层循环结束 /外层循环结束外层循环结束for( int i= 0; i 10; i+ ) if( i = 5 ) continue; 57Java程序设计语言(1)2.9.13 程序转移相关语句 returnreturn语句从当前方法中退出,返回到调用该语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:继续程序的执行。返回语句有两种格式:return expression; /当方法需要返当方法需要返回某种类型数据时回某种类型数据时return; /当方法的返回类型为当方法的返回类型为void时

51、时单独一条单独一条return语句放在方法中间时,会产生语句放在方法中间时,会产生编译错误编译错误,因为其后的语句将不会执行到。若因为其后的语句将不会执行到。若真需要退出方法,可以通过将真需要退出方法,可以通过将return语句嵌入语句嵌入某些语句(如某些语句(如if-else)来使程序在未执行完方)来使程序在未执行完方法中所有语句时退出。法中所有语句时退出。58Java程序设计语言(1)2.10 引 用在在Java中,中,引用(引用(reference)指向一个对象在内存中指向一个对象在内存中的位置,本质上它是一种带有很强的完整性和安全性的位置,本质上它是一种带有很强的完整性和安全性限制的指

52、针。限制的指针。当声明某个当声明某个类、接口类、接口或或数组数组类型的变量时,那个变量类型的变量时,那个变量的值总是某个的值总是某个对象的引用对象的引用或者是或者是null。引用型变量只支持有限的逻辑判断:引用型变量只支持有限的逻辑判断:相等判断(是否同一个对象的引用):相等判断(是否同一个对象的引用):= != theObject = nullotherObject != theObject类型判断(是否是某个类的实例):类型判断(是否是某个类的实例): instanceoftheObject instanceof Object“” instanceof String59Java程序设计语言

53、(1)引用类型示例(数组) 如如 float tax=new float5; 数组被声明后,其数组大小值会被放在数组被声明后,其数组大小值会被放在所分配内存区的第一个地址,并以所分配内存区的第一个地址,并以length作此地址的参考。所以我们可用作此地址的参考。所以我们可用tax.length来取得此数组的大小值来取得此数组的大小值 。 数组被设置数值的方法如下:数组被设置数值的方法如下:tax06786.5tax18763.79 60Java程序设计语言(1)2.10 引用类型示例(对象) Student/学生类学生类/一类对象的属性:一类对象的属性: int No; Cstring maj

54、or; int sex; /0代表女,代表女,1代表男代表男 float Height;/单位单位CM float Weight; /单位单位KG/一类对象的功能:一类对象的功能: Student(int no,Cstring&str1,int sex, float height,float weight); void setNo(int a); int getNo(); int setName(Cstring str); float getHeight(); float getWeight(); void drive(Car redCar); Student a;a=new Student(

55、2001002,”计算机计算机“,0,165,45);int b=a.getNo();a计算机计算机016545对象的方法对象的方法:int getNo();61Java程序设计语言(1)简单类型和引用类型c简单类型的特点:声明时自动分配空简单类型的特点:声明时自动分配空间;赋值操作将拷贝数值。间;赋值操作将拷贝数值。c引用类型:声明时不分配空间,需要引用类型:声明时不分配空间,需要利用利用new完成空间分配(完成空间分配(String隐含分隐含分配);赋值操作是配);赋值操作是地址的拷贝地址的拷贝。62Java程序设计语言(1)2.10 数组n按照元素的组成分类,数组属于按照元素的组成分类,

56、数组属于复复合合数据类型,它是由数据类型,它是由类型相同类型相同的元的元素组成的有素组成的有顺序顺序的数据的数据集合集合。n特点:特点: 元素类型相同;元素类型相同; 元素有顺序;元素有顺序; 所有元素共用一个名称。所有元素共用一个名称。63Java程序设计语言(1)Java语言中的数组声明格式:格式:数组元素类型数组元素类型 数组名数组名 ; 数组元素类型数组元素类型 数组名;数组名;举例:举例: int array_int ; double array_double ; String str; Point P; 注意:注意:按照变量的存储方式上分类按照变量的存储方式上分类,Java语言语言

57、中的数组属于引用类型,是一个动态创建且属中的数组属于引用类型,是一个动态创建且属于于Array的类对象,因此在声明数组引用时不的类对象,因此在声明数组引用时不能给出长度。能给出长度。64Java程序设计语言(1)数组的创建 声明数组引用后,需要利用声明数组引用后,需要利用new运算运算来为数组型变量定义长度且分配内存来为数组型变量定义长度且分配内存空间,我们将其称之为空间,我们将其称之为创建数组创建数组。 array_int = new int10; array_double = new double1000; String str = new String10; Java规定,数组创建后系统

58、自动地为规定,数组创建后系统自动地为数组中的每个元素赋予初值数组中的每个元素赋予初值。65Java程序设计语言(1)数组初值数组元素的默认初值:数组元素的默认初值:整型:整型:0实型:实型:0.0f 或或 0.0d字符:字符:0类对象:类对象:null也可以在创建数组的同时,直接为数组赋予特定也可以在创建数组的同时,直接为数组赋予特定的初始值。的初始值。int array_int = 1,2,3,4,5,6,7;String str = “C+”, “QBasic”, “Pascal”;Java语言规语言规定,不需要定,不需要事先创建数事先创建数组,也不需组,也不需要在括号中要在括号中指出数组

59、元指出数组元素的数目素的数目66Java程序设计语言(1)一维数组元素访问Java数组元素的格式:数组元素的格式: 数组型变量名数组型变量名下标表达式下标表达式数组元素的下标从数组元素的下标从0开始,开始,Java语言会严格检查语言会严格检查下标表达式的取值范围,一旦越界,就会抛出下标表达式的取值范围,一旦越界,就会抛出ArrayIndexOutOfBoundsException异常。异常。Java语言还为数组封装了语言还为数组封装了length属性,可通过它获属性,可通过它获得数组的元素数目。得数组的元素数目。67Java程序设计语言(1)一维数组复制1、引用复制、引用复制 只将数组的引用赋

60、予其他变量,没有重只将数组的引用赋予其他变量,没有重新分配存储空间。新分配存储空间。2、利用、利用System类中的静态方法类中的静态方法arraycopy实实现复制现复制 System.arraycopy( array_src, 0, array_dest, 0, number) ;68Java程序设计语言(1) 在在Java语言语言中,中,long类型的最大值类型的最大值为为92233727,要想编写一个程序能够,要想编写一个程序能够将任意给定的一个将任意给定的一个long值转换成二进值转换成二进制,可以借助于一维数组将转换后制,可以借助于一维数组将转换后的每一位二进制数值保存起来。的每一

61、位二进制数值保存起来。69Java程序设计语言(1)public class DecimaltoBinary public static void main(String args)byte binary; /声明数组声明数组long data;for ( int d=1; d ); binary = toBinary( data ); printBinary( binary ); 70Java程序设计语言(1)public static byte toBinary(long data) byte b = new byte64;for (int i = 63; data != 0; i-) b

62、i=(byte)( data % 2 ); data=data/2;return b;71Java程序设计语言(1)public static void printBinary(byte b) int i = 0;while (i 64 & bi = 0 ) i+; for (; i 64; i+)System.out.print(bi);System.out.println();72Java程序设计语言(1)复合类型数组元素的初始化复合类型数组元素的初始化 如如果果是是复复合合类类型型的的数数组组,也也就就是是元元素素是是对对象象的的数数组组,其初始化需要经过其初始化需要经过两步两步实现。实

63、现。 (1) 初始化数组。为数组开辟存储空间。初始化数组。为数组开辟存储空间。格式:格式:类型类型 数组名数组名 = new 类型类型数组大小数组大小;(2)(2)初初始始化化数数组组元元素素。为为每每个个数数组组元元素素所所代代表表的的类类对对象开辟空间并进行初始化。象开辟空间并进行初始化。格式:数组格式:数组 下标下标 = = newnew 类型类型 参数参数 ; 例子:例子: Cat Cat objcat objcat = = newnew Cat3; Cat3; objcatobjcat 0 0 = = newnew Cat(“Tom”) Cat(“Tom”) 73Java程序设计语言

64、(1)2.11 二维数组Java语言中,多维数组被当作是数组的数语言中,多维数组被当作是数组的数组来看待和处理,它是一维数组的特殊集组来看待和处理,它是一维数组的特殊集合。其中二维数组是较为典型的代表。合。其中二维数组是较为典型的代表。 二维数组是由一维数组的每个元素又是一二维数组是由一维数组的每个元素又是一维数组的维数组的引用引用构成的构成的在在 Java中,每个一维数组元素引用的一维中,每个一维数组元素引用的一维数组所含的元素数目可以不同数组所含的元素数目可以不同74Java程序设计语言(1)2.11 二维数组的创建声明格式如下:声明格式如下: 类型类型 数组名数组名 类型类型 数组名数组

65、名例如例如 int intArr = new int 105int intArr= new int 10;intArr0= new int 20; String resume75Java程序设计语言(1)2.11 二维数组的初始化初始化时要表明每个初始值的行列关系。初始化时要表明每个初始值的行列关系。赋非默认初始值时,不需要实现创建数组赋非默认初始值时,不需要实现创建数组型变量。型变量。int int_array=1,2,3,4,5,6,7,8,9 注意:无论采取何种初注意:无论采取何种初注意:无论采取何种初注意:无论采取何种初始化方法,数组中的元始化方法,数组中的元始化方法,数组中的元始化方

66、法,数组中的元素都必须是同一类型,素都必须是同一类型,素都必须是同一类型,素都必须是同一类型,这是任何时候都必须遵这是任何时候都必须遵这是任何时候都必须遵这是任何时候都必须遵守的原则!守的原则!守的原则!守的原则! 76Java程序设计语言(1)2.11 二维数组的引用二维数组必须利用两个下标才能唯一确定二维数组必须利用两个下标才能唯一确定某个元素,一个是行标,表示第几个一维数某个元素,一个是行标,表示第几个一维数组;另一个是列标,表示一维数组中的哪一组;另一个是列标,表示一维数组中的哪一个元素。个元素。 例、二维数组的引用例、二维数组的引用 数组名数组名下标下标N1 下标下标N2 77Jav

67、a程序设计语言(1)public class YangHui public static void main(String args) int data=new int10; for (int i=0;i10;i+) datai=new inti+1; data00=1; for (int i=1;i10;i+) datai0=1; dataii=1; for (int j=1;ji;j+) dataij=datai-1j-1+datai-1j; for (int i=0;i10;i+) for (int j=0;j=i;j+) System.out.print(dataij+ ); Syst

68、em.out.println(); 利用二维数组构造杨辉三角形前利用二维数组构造杨辉三角形前1010行的内容行的内容78Java程序设计语言(1)2.12 字符串常量String 在Java语言中,提供了两种字符串:一种是字符串常量,它是用String标准类实现的;另一种是可编辑修改的字符串,它是用StringBuffer标准类实现的(p78)。 79Java程序设计语言(1) 在在使使用用Sting类类对对象象时时,需需要要注注意意下下面几点:面几点:q在在Java语语言言中中,字字符符串串直直接接量量中中的的每每个个字符占用两个字节。字符占用两个字节。q如如果果声声明明String类类对对象象后后,该该对对象象没没有有引用任何一个字符串,就应该赋予引用任何一个字符串,就应该赋予null。qString类对象所引用的字符串不能修改。类对象所引用的字符串不能修改。80Java程序设计语言(1)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号