javajava基础精.ppt

上传人:小飞机 文档编号:5435961 上传时间:2023-07-06 格式:PPT 页数:106 大小:391.50KB
返回 下载 相关 举报
javajava基础精.ppt_第1页
第1页 / 共106页
javajava基础精.ppt_第2页
第2页 / 共106页
javajava基础精.ppt_第3页
第3页 / 共106页
javajava基础精.ppt_第4页
第4页 / 共106页
javajava基础精.ppt_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《javajava基础精.ppt》由会员分享,可在线阅读,更多相关《javajava基础精.ppt(106页珍藏版)》请在三一办公上搜索。

1、Java 语言程序设计,Java 语言基础知识,信息化建设与管理办公室 张广彬E-,Java 语言程序设计,学习Java前的准备工作,3,Java的起源,Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C+,但C+太复杂,安全性差,最后基于C+开发了一种新的语言Oak(Java的前身),,4,Java的起源,Oak是一种用于网络的精巧而安全的语言,Sun公司曾以此投标一个交互式电视项目,但结果被SGI打败。可怜的Oak几乎无家可归,

2、恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编 制 了HotJava浏 览器,5,Java的起源,得到了Sun公司首席执行官Scott McNealy的支持,触发了Java进 军Internet。Java的取名也有一则趣闻,有一天,几 位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖 啡,有一个人灵机一动说就叫Java怎 样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。,6,什么是JDK?上课讲的是Java1还是 Java2?什么是JRE?,Java的相关概念,JDK就

3、是Java的开发工具包,1998年12月,SUN公司发布了JDK1.2,开始使用“Java 2”这一名称,目前我们已经很少使用JDK1.1版本,所以我们所说的Java都是指Java2。J2SDK当然就是Java 2 Software Develop Kit。,JRE(Java Runtime Environment),即Java运行环境,通常已包含在J2SDK中了。,7,J2SE(Java 2 Platform,Standard Edition)J2EE(Java 2 Platform,Enterprise Edition)J2ME(Java 2 Platform,Micro Edition)

4、,Java的开发工具包(JDK),8,目录,1.1 Java语言与面向对象的程序设计1.2 Java程序概述1.3 基本数据类型与表达式1.4 数组的概念1.5 数组的创建和引用1.6 本章小结,9,1.1 Java语言与面向对象的程序设计,Java语言是一个面向对象的程序设计语言。除了面向对象的特点以外,Java语言还在安全性、平台无关性、支持多线程、内存管理等许多方面具有卓越的优点。,10,1.1.1 面向对象的程序设计思想,计算机程序设计对问题进行抽象用计算机语言表述,利用机器求解,Java语言与面向对象的程序设计,11,1.1.1 面向对象的程序设计思想(续),程序设计语言发展的历程机

5、器语言汇编语言高级语言面向对象的语言,Java语言与面向对象的程序设计,12,1.1.1 面向对象的程序设计思想(续),面向对象的思想将客观事物看作具有状态和行为的对象,通过抽象找出同一类对象的共同状态和行为,构成类。,Java语言与面向对象的程序设计,13,1.1.1 面向对象的程序设计思想(续),例:构建一个汽车类,需要提取所有汽车对象的共有的状态和行为。将状态用变量表示,行为用方法表示。class Car int color_number;int door_number;int speed;void brake()void speedUp();void slowDown();,Java语

6、言与面向对象的程序设计,14,1.1.1 面向对象的程序设计思想(续),面向对象技术给软件发展带来的益处可重用性可靠性 面向对象语言的基本特征抽象和封装继承性多态性,Java语言与面向对象的程序设计,15,1.1.2 Java语言的特点,面向对象安全性Java不支持指针Java的内部安全措施平台无关性编译后的字节码对应于Java虚拟机,因此可在不同平台上运行多线程Java是第一个在语言级提供内至多线程支持的高级语言内存管理Java对内存自动进行管理并进行垃圾回收,Java语言与面向对象的程序设计,16,1.1.2 Java语言的特点(续),Java 语言的优点易于学习代码效率高代码质量高开发程

7、序快体系结构中立,纯Java程序不依赖于平台一处编写,各处运行软件易于发布,Java语言与面向对象的程序设计,17,1.1.2 Java语言的特点(续),Java与C+的区别Java中没有#include 和#define 等预处理功能,用import语来句包含其它类和包;Java中没有structure,union及typedef;Java中没有不属于类成员的函数,没有指针和多重继承,Java只支持单重继承;Java中禁用goto,但goto还是保留的关键字;Java中没有操作符重载;Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能;.,Java语言与面向对象的程序设计

8、,18,1.1.3 Java类库,组成Java程序的最小单位是类,类封装了数据与处理数据的方法。对于大多数常用的功能,有大量已经编译好、经过测试的类,这些类的集合就是Java类库。Java类库主要是随编译器一起提供,也有些类库是由独立软件开发商提供的。,Java语言与面向对象的程序设计,19,1.2 Java程序概述,Java 开发环境Application 举例Applet举例Servlet举例JSP举例,20,1.2.1 Java开发环境,Java程序概述,Java程序编译执行的过程,21,1.2.1 Java开发环境(续),一次编写,各处运行,Java程序概述,22,编译,没有绝对地址,

9、将.class文件装载到内存,不存在伪造的指针不违反访问权限不非法访问对象不导致操作栈溢出,Java的编译与执行,Java程序概述,1.2.1 Java开发环境(续),23,1.2.1 Java开发环境(续),Java APIs(应用程序接口)经过编译的,可在程序中使用的Java代码标准库。Java VM(虚拟机)Java 程序由Java虚拟机程序执行(或解释执行)。,Java 平台,Java程序概述,24,1.2.1 Java开发环境(续),Java2 SDK(Software Development Kit)Standard Edition(J2SE)Enterprise Edition(

10、J2EE)Mobile Edition(J2ME),Java程序概述,25,1.2.1 Java开发环境(续),J2SEJ2SDK的核心部分开发工具编译器调试器 文档制作工具运行环境 Java 虚拟机组成Java 2 平台API的类。帮助文档附加库 Java程序(Applets 和 Applications)的演示,Java程序概述,26,Java开发工具包括Javac:Java编译器,用来将java程序编译成 Bytecode。Java:Java解释器,执行已经转换成Bytecode的java应用程序。Jdb:Java调试器,用来调试java程序。Javap:反编译,将类文件还原回方法和变量

11、。Javadoc:文档生成器,创建HTML文件。Appletviwer:Applet解释器,用来解释已经转换成Bytecode的java小应用程序。,1.2.1 Java开发环境(续),Java程序概述,27,1.2.1 Java开发环境(续),环境安装以为例下载地址下载文件jdk-6u26-windows-i586-p.exej2sdk-1_6_0-doc.zip安装直接运行“jdk-6u26-windows-i586-p.exe”。文档解开“j2sdk-1_6_0-doc.zip”。,Java程序概述,28,1.2.1 Java开发环境(续),安装JDK后产生如下目录:bin目录:Java

12、开发工具,包括Java编译器、解释器等 demo目录:一些实例程序 lib目录:Java开发类库 jre目录:Java运行环境,包括Java虚拟机、运行类库等,Java程序概述,29,1.2.1 Java开发环境(续),配置环境变量:SDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于Java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。对于Windows2000、Windows2003、Windows XP,用鼠标右键点击“我的电脑”,弹出菜单,然后选择属性,弹出“系统特性”对话框,再单击该对话框中的高级选

13、项,然后点击按钮“环境变量”,添加如下的系统环境变量,Java程序概述,30,1.2.1 Java开发环境(续),Java程序概述,31,1.2.1 Java开发环境(续),系统环境ClassPath 值的设置:SDK的安装目录的jre文件夹中包含着Java应用程序运行时所需要的Java类库,这些类库被包含在jrelib目录下的压缩文件rt.jar中,Java程序概述,32,1.2.1 Java开发环境(续),Java程序概述,33,1.2.1 Java开发环境(续),几种集成开发环境netBeansJcreator LEBorland JBuilderMicrosoft Visual J+I

14、BM:Visual Age for JavaSun ONE Studio,Java程序概述,34,1.2.2 Application举例,Application运行在客户端Java虚拟机上的Java程序可在客户端机器中读写可使用自己的主窗口、标题栏和菜单程序可大可小能够以命令行方式运行主类必须有一个主方法main(),作为程序运行的入口。,Java程序概述,35,1.2.3 Application举例(续)例1-1,Java程序概述,public class Hello public static void main(String args)(你好,很高兴学习Java);,36,保存 将源文件

15、保存到D:1000中,并命名为Hello.java。注意不可写成hello.java,因为Java语言是区分大小写的。源文件的命名规则是这样的,如果源文件中有多个类,那么只能有一个类是public类。如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。,37,编译 当创建了Hello.java这个源文件后,就要使用Java编译器(javac.exe)对其进行编译 D:1000javac Hello.java运行 Java应用程序必须通过Java虚拟机中

16、的Java解释器(java.exe)来解释执行其字节码文件。Java应用程序总是从主类的main方法开始执行。因此,必须如下运行Java应用程序:D:1000java Hello,38,public class MyClass private int val1,val2;public void myFun(int x,int y)val1=x;val2=y;System.out.println(The sum is:+(val1+val2);public static void main(String arg)MyClass MyObj=new MyClass();MyObj.myFun(1,

17、2);,1.2.3 Application举例(续)例1-2,Java程序概述,39,1.2.3 Application举例(续)例1-2 运行结果,使用如下命令编译并运行程序:javacMyClass.javajava MyClass运行结果如下:The sum is:3,Java程序概述,40,Applet小应用程序运行于支持Java的Web浏览器中浏览器的解释器把字节码转换成和机器匹配的指令,在网页中执行小程序。Applet和Application的差别:运行环境的不同,小应用程序总是放在Web浏览器的图形用户界面中,1.2.3 Applet举例,Java程序概述,41,Applet的优

18、点Web 浏览器软件包括很多小应用程序运行所需的功能Applet的局限性在客户端主机的文件系统中读/写受限不能运行客户端主机的任何程序仅能在服务器和客户端之间建立联系,1.2.3 Applet举例(续),Java程序概述,42,JAVA Applet:import;import java.applet.Applet;public class MyApplet extends Appletpublic String s;public void init()s=new String(Hello World!);public void paint(Graphics g)g.drawString(s,

19、25,25);HTML:,1.2.3 Applet举例(续)例1-3,Java程序概述,43,1.2.3 Applet举例(续)例1-3注释,Graphics类使得applet绘制直线、矩形、椭圆形、字符串等方法init()初始化,实现了字符串的创建方法paint()中g为Graphics类的对象。调用了Graphics的drawString方法绘制字符串。此方法执行的结果就是从坐标(60,40)开始绘制出字符串Hello World!。,Java程序概述,44,1.2.3 Applet举例(续)例1-3运行,用支持Java的浏览器,比如IE6.0,打开Applet1.html,Java程序概

20、述,45,1.2.3 Applet举例(续)例1-3运行,用Java自带的appletviewer浏览输入:appletviewer Applet1.html,Java程序概述,46,Servlet运行在服务器端,响应客户端请求,扩展了服务器的功能 运行Servlet需要服务器的支持,需要在服务器中进行部署Servlet用到的包在J2EE的API中能找到所有的servlet都必须实现Servlet接口,1.2.4 Servlet举例,Java程序概述,47,程序首先构建HttpServletRequest,并建立一个数据表单;点击submit按钮后,servlet再次被调用,并产生一个含有表单

21、的网页。public class EchoForm extends HttpServlet public void service(HttpServletRequest req,HttpServletResponse res)throws IOException res.setContentType(text/html);PrintWriter out=res.getWriter();Enumeration flds=req.getParameterNames();,1.2.5 Servlet举例(续)例1-3,Java程序概述,48,1.2.5 Servlet举例(续)例1-3,if(!fl

22、ds.hasMoreElements()out.print();out.print();for(int i=0;i Field+i+);out.print();,Java程序概述,49,else out.print(Your form contained:);while(flds.hasMoreElements()String field=(String)flds.nextElement();String value=req.getParameter(field);out.print(field+=+value+);out.close();,1.2.5 Servlet举例(续)例1-3,Jav

23、a程序概述,50,JSP就是嵌入了Java代码的HTML JSP和servlet同是服务器端的技术。实际上,JSP文档在后台被自动转换成servlet 使用JSP便于实现网页的动静分离相对于Servlet,JSP在服务器的部署简单,1.2.6 JSP举例,Java程序概述,51,The time in second is:,1.2.6 JSP举例(续),Java程序概述,52,1.3 基本数据类型与表达式,变量与常量基本数据类型表达式与运算符类型转换,53,1.3.1 变量与常量,变量一个由标识符命名的项每个变量都有类型,例如 int 类型或 Object类型,变量还有作用域.变量的值可以被改

24、变.常量 常量一旦被初始化以后就不可改变。,基本数据类型与表达式,54,标识符标识符是一个名称,与内存中的某个位置(地址)相对应标识符的第一个字符必须是下列字符之一:大写字母(A-Z)小写字母(a-z)下划线(_)美元符号($)标识符的第二个字符及后继字符必须是:上述列表中的任意字符 数字字符(0-9),基本数据类型与表达式,1.3.1 变量与常量(续),55,整数 byte 8 bits-128+127 short 16 bits-32768+32767int 32 bits 231(231-1)long 64 bits 263(263-1)char 8 bits 0 65535,基本数据类

25、型与表达式,1.3.2 基本数据类型,56,整数运算比较运算符(关系运算符)算术比较运算符,and=算术相等比较运算符=and!=算术运算符一元运算符+和-+,-*,/,和%(取余)自增/自减运算符+/-移位运算符,and 位运算符,&,|,and 条件运算符?:类型转换运算符字符串连接运算符+,基本数据类型与表达式,1.3.2 基本数据类型(续),57,浮点数 float单精度浮点数32-bit-m2e m2em 是一个小于 224的正整数e 是一个介于-149和104之间(含)的整数double双精度浮点数64-bit-m2e m2e m是一个小于 253的正整数e是一个介于-1045 和

26、 1000之间(含)的整数,基本数据类型与表达式,1.3.2 基本数据类型(续),58,浮点运算比较运算符(关系运算符)算术比较运算符,and=算术相等比较运算符=and!=算术运算符一元运算符+和-+,-*,/,和%(取余)自增/自减运算符+/-移位运算符,and 位运算符,&,|,and 条件运算符?:类型转换运算符字符串连接运算符+,基本数据类型与表达式,1.3.2 基本数据类型(续),59,布尔类型和布尔值布尔类型表示一个逻辑量,有两个取值:true和false例如:boolean is_salaried;boolean is_hourly;is_salaried=true;/将 is

27、_salaried设置为trueis_hourly=false;/将is_hourly设置为false,基本数据类型与表达式,1.3.2 基本数据类型(续),60,布尔运算符 关系运算符=and!=逻辑“非”运算符!逻辑运算符&,和|条件“与”和条件“或”运算符&和|条件运算符?:字符串连接运算符+,基本数据类型与表达式,1.3.2 基本数据类型(续),61,String字符串String 是一个类String类JDK标准类集合中的一部分String animal=walrus;,基本数据类型与表达式,1.3.2 基本数据类型(续),62,文字量直接出现在程序中并被编译器直接使用的值.整数文字

28、量十进制如:15十六进制如:0 xff八进制如:0377,基本数据类型与表达式,1.3.2 基本数据类型(续),63,基本数据类型与表达式,1.3.2 基本数据类型(续),浮点文字量一个浮点文字量包括以下几个部分 整数部分小数点 小数部分指数(e or E)类型后缀(f or F for float,d or D for double)float 类型文字量举例:1e 1f 2.f.3f 0f 3.1 4f 6.022137e+23f double 类型文字量举例:1e1 2.3 0.0 3.1 4 1e-9d 1e137 布尔文字量布尔类型只有两个值,由文字量 true 和 false表示,

29、64,字符文字量一个字符文字量表示为一个字符或者一个转义序列,用单引号括起例如 a Z 格式字符 b backspace BS t horizontal tab HT n linefeed LF f form feed FF r carriage return CR double quote single quote backslash,基本数据类型与表达式,1.3.2 基本数据类型(续),65,字符串文字量由零个或多个字符组成,以双引号括起每一个字符都可以用转义序列来表示 例如:/空字符串/只包含 的字符串 This is a string/有16个字符的字符串 This is a+stri

30、ng/字符串常量表达式,由两个字符串常量组成,基本数据类型与表达式,1.3.2 基本数据类型(续),66,public class ex1_1 public static void main(String args)final int PRICE=30;final double PI=3.141592654;int num,total;double v,r,h;num=10;total=num*PRICE;System.out.println(total);r=2.5;h=3.2;v=PI*r*r*h;System.out.println(v);,变量声明,变量,文字量,常量声明,基本数据类型

31、与表达式,1.3.2 基本数据类型(续),67,表达式是由一系列变量、运算符、方法调用构成的,表达式可以计算出一个值来程序中的很多工作是通过计算表达式的值来完成的。有时需要的是表达式的副作用,例如赋值表达式将数值赋给变量更多时候起作用的是表达式的值,这个值可以用作方法的参数,或更大的表达式的操作数,或者影响语句的执行顺序,基本数据类型与表达式,1.3.3 表达式与运算符,68,算术运算符运算符+和-例如:i+;-j;一元运算符+和 加法运算符+和-乘法运算符*,/,和%,基本数据类型与表达式,1.3.3 表达式与运算符(续),69,赋值运算符简单赋值运算符=复合赋值运算符*=/=%=+=-=&

32、=|=E1 op=E2 等效于 E1=(T)(E1)op(E2),其中T 是 E1的类型,基本数据类型与表达式,1.3.3 表达式与运算符(续),70,举例a=5表达式的值为 5a=b=c=5 表达式的值以及 a,b,c 的值都是 5 a=5+(c=6)表达式的值是 11,a 是 11,c 是 6a=(b=4)+(c=6)表达式的值是 10,a是10,b是4,c是6a=(b=10)/(c=2)表达式的值是 5,a是5,b是10,c是2a+=a-=a*a 等效于 a=a+(a=a-a*a),基本数据类型与表达式,1.3.3 表达式与运算符(续),71,关系运算符关系表达式的类型永远是布尔类型(b

33、ool).算术比较运算符,and=类型比较运算符 instanceof例如:e instanceof Point/Point 是一个类,基本数据类型与表达式,1.3.3 表达式与运算符(续),72,相等关系运算符数字相等运算符=,!=布尔相等运算符=,!=引用相等运算符=,!=,基本数据类型与表达式,1.3.3 表达式与运算符(续),73,逻辑运算符“与”运算 否则,结果true“非”运算符!操作数的类型必须是布尔类型如果操作数的结果为 false,则表达式的结果为 true,如果操作数的结果为 true则表达式的结果为 false,基本数据类型与表达式,1.3.3 表达式与运算符(续),74

34、,条件运算符(表达式1?表达式2:表达式3)首先计算表达式1如果表达式1的值为 true,则选择表达式2的值如果表达式1的值为 false,则选择表达式3的值,基本数据类型与表达式,1.3.3 表达式与运算符(续),75,每个表达式都有类型如果表达式的类型对于上下文不合适有时可能会导致编译错误有时语言会进行隐含类型转换,基本数据类型与表达式,1.3.4 类型转换,76,扩展转换byte,short,int,long,float,double char从一种整数类型到另一种整数类型,或者从float到double的转换不损失任何信息从整数类形向float或double转换,会损失精度窄化转换do

35、uble,float,long,int,short,byte,char窄化转换可能会丢失信息,基本数据类型与表达式,1.3.4 类型转换(续),77,字符串转换任何类型(包括null类型)都可以转换为字符串类型,基本数据类型与表达式,1.3.4 类型转换(续),78,赋值转换将表达式类型转换为制定变量的类型方法调用转换适用于方法或构造方法调用中的每一个参数强制转换将一个表达式转换为指定的类型例如(float)5.0字符串转换只当一个操作数是String类型时,适用于+运算符的操作数,基本数据类型与表达式,1.3.4 类型转换(续),79,数字提升 将算术运算符的操作数转换为共同类型一元数字提升

36、如果一个操作数是 byte,short,或 char类型,一元数字提升通过扩展转换将它转换为int类型二元数字提升二元数字提升作用在特定操作符的操作数上*,/,%,+,-,=,=,!=,&,|and?:在必要时使用扩展转换来转换操作数类型,基本数据类型与表达式,1.3.4 类型转换(续),80,标准输入输出简介标准输入流 System.in标准输出流 System.out例如 System.out.println(Hello world!);,基本数据类型与表达式,1.3.4 类型转换(续),81,数组由同一类型的一连串对象或者基本数据组成,并封装在同一个标识符(数组名称)下。数组是对象动态初

37、始化可以赋值给Object类型的变量在数组中可以调用类Object 的所有方法,1.4 数组的概念,82,数组元素数组中的变量被称作数组的元素元素没有名字,通过数组名字和非负整数下标值引用数组元素。每个数组都有一个由 public final 修饰的成员变量:length,即数组含有元素的个数(length可以是正数或零),数组的概念,1.4 数组的概念(续),83,1.5 数组的创建和引用,数组的声明数组的创建数组元素的初始化数组的引用多维数组,84,数组的创建和引用,1.5.1 数组的声明,声明(Declaration)声明数组时无需指明数组元素的个数,也不为数组元素分配内存空间不能直接使

38、用,必须经过初始化分配内存后才能使用,85,Type arrayName;例如:int intArray;String stringArray;Type arrayName;例如:int intArray;String stringArray;,1.5.1 数组的声明(续),数组的创建和引用,86,用关键字new构成数组的创建表达式,可以指定数组的类型和数组元素的个数。元素个数可以是常量也可以是变量 基本类型数组的每个元素都是一个基本类型的变量;引用类型数组的每个元素都是对象的的引用,1.5.2 数组的创建,数组的创建和引用,87,arryName=new Typecomponets numb

39、er;例如:int ai;ai=new int10;String s;s=new String3;或者可以将数组的声明和创建一并执行int ai=new int10;可以在一条声明语句中创建多个数组 String s1=new String3,s2=new String8;,1.5.2 数组的创建(续),数组的创建和引用,88,声明数组名时,给出了数组的初始值,程序便会利用数组初始值创建数组并对它的各个元素进行初始化 inta=22,33,44,55;创建数组的时,如果没有指定初始值,数组便被赋予默认值初始值。基本类型数值数据,默认的初始值为0;boolean类型数据,默认值为false;引用

40、类型元素的默认值为null。程序也可以在数组被构造之后改变数组元素值,数组的创建和引用,1.5.3 数组元素的初始化,89,通过下面的表达式引用数组的一个元素:arrayNameindex数组下标必须是 int,short,byte,或者 char.下标从零开始计数.元素的个数即为数组的长度,可以通过 arryName.length引用元素下标最大值为 length 1,如果超过最大值,将会产生数组越界异常(ArrayIndexOutOfBoundsException),数组的创建和引用,1.5.4 数组的引用,90,int data=new int10;data-1 非法的data 10 非

41、法的 data 1.5 非法的 data 0 合法的 data 9 合法的,数组的创建和引用,1.5.4 数组的引用(续),91,int values=new int7;int index;index=0;values index=71;index=5;values index=23;index=3;values 2+2=values index-3;,数组的创建和引用,1.5.4 数组的引用(续),92,public class MyArray public static void main(String args)int myArray;/声明数组 myArray=new int10;/创

42、建数组 System.out.println(IndexttValue);for(int i=0;imyArray.length;i+)System.out.println(i+tt+myArrayi);/证明数组元素默认初始化为0/myArray10=100;/将产生数组越界异常,数组的创建和引用,1.5.4 数组的引用(续),93,class Gauss public static void main(String args)int ia=new int101;for(int i=0;i ia.length;i+)iai=i;int sum=0;for(int i=0;i ia.lengt

43、h;i+)sum+=iai;System.out.println(sum);输出:5050,数组的创建和引用,1.5.4 数组的引用(续),94,数组名是一个引用:例子public class Arrays public static void main(String args)int a1=1,2,3,4,5;int a2;a2=a1;for(int i=0;i a2.length;i+)a2i+;for(int i=0;i a1.length;i+)(a1+i+=+a1i);,数组的创建和引用,1.5.4 数组的引用(续),95,1.5.4 数组的引用(续),运行结果:a10=2a11=3

44、a12=4a13=5a14=6,数组的创建和引用,96,字符串引用构成的数组:String strArray;strArray=new String8;strArray0=Hello;,数组的创建和引用,1.5.4 数组的引用(续),97,例子public class ArrayOfStringsDemo public static void main(String args)String anArray=String One,String Two,String Three;for(int i=0;i anArray.length;i+)System.out.println(anArrayi.

45、toLowerCase();,数组的创建和引用,1.5.4 数组的引用(续),运行结果:string onestring twostring three,98,数组的复制:public static void arraycopy(Objectsource,intsrcIndex,Objectdest,intdestIndex,intlength),source,数组的创建和引用,1.5.4 数组的引用(续),99,例子public class ArrayCopyDemo public static void main(String args)char copyFrom=d,e,c,a,f,f,

46、e,i,n,a,t,e,d;char copyTo=new char7;System.arraycopy(copyFrom,2,copyTo,0,7);System.out.println(new String(copyTo);,数组的创建和引用,1.5.4 数组的引用(续),100,int gradeTable;gradeTable 0 1 为42gradeTable 3 4 为93gradeTable 6 2 为78,数组的创建和引用,1.5.5 多维数组,101,二维数组的声明和构造int myArray;myArray 可以存储一个指向2维整数数组的引用。其初始值为null。int m

47、yArray=new int35;建立一个数组对象,把引用存储到myArray。这个数组所有元素的初始值为零。int myArray=8,1,2,2,9,1,9,4,0,3,0,3,0,0,7;建立一个数组并为每一个元素赋值。,数组的创建和引用,1.5.5 多维数组(续),102,二维数组的长度class UnevenExample2 public static void main(String arg)int uneven=1,9,4,0,2,0,1,2,3,4;System.out.println(Length is:+uneven.length);,数组的创建和引用,1.5.5 多维数组

48、(续),运行结果:Length is:3,103,每行的长度:class UnevenExample3 public static void main(String arg)/声明并构造一个2维数组 int uneven=1,9,4,0,2,0,1,2,3,4;,数组的创建和引用,1.5.5 多维数组(续),104,/数组的长度(行数)System.out.println(Length of array is:+uneven.length);/数组每一行的长度(列数)System.out.println(Length of row0 is:+uneven0.length);System.out

49、.println(Length of row1 is:+uneven1.length);System.out.println(Length of row2 is:+uneven2.length);,1.5.5 多维数组(续),数组的创建和引用,运行结果:Length of array is:3Length of row0 is:3Length of row1 is:2Length of row2 is:5,105,int myArray;myArray=new int3;myArray0=new int3;,int x=0,2;int y=0,1,2,3,4;myArray1=x;myArray2=y;,数组的创建和引用,1.5.5 多维数组(续),106,1.6 本章小结,本章内容Java开发环境Java语言的特点基础语法复习要求下载、安装J2se熟悉命令行方式编译、运行Java程序熟悉一种集成开发环境,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号