第1章_java概述、语法-新新_第1页
第1章_java概述、语法-新新_第2页
第1章_java概述、语法-新新_第3页
第1章_java概述、语法-新新_第4页
第1章_java概述、语法-新新_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java面向对象程序设计面向对象程序设计 第第1章章 Java语言概述、语法课程内容课程内容1.Java 语言概述语言概述2.类与对象类与对象3.继承与接口继承与接口4.内部类与异常类内部类与异常类5.多线程机制多线程机制6.输入输出流输入输出流 7.泛型与集合框架泛型与集合框架8.图形用户界面程序设计图形用户界面程序设计9.JDBC连接数据库连接数据库10. Java网网 络络 编编 程程课堂教学:课堂教学:32学时学时实验:实验:16学时学时教学安排及考核方式教学安排及考核方式考核方式:机试考核方式:机试总成绩总成绩 = = 考试成绩考试成绩* *0.7+0.7+实习成绩实习成绩* *0.

2、2+0.2+考勤考勤* *0.10.1为什么要学为什么要学JAVAJAVA?Java诞生诞生Java的发展历程的发展历程Java的特点的特点安装安装JDK简单的简单的Java应用程序应用程序注释注释编程风格编程风格开发工具开发工具Eclipse本次内容本次内容基本类型基本类型输入输出数据方式输入输出数据方式数组数组Java语言概述语言概述 JavaJava具有面向对象、与平台无关、安全、具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件稳定和多线程等优良特性,是目前软件设计中优秀的编程语言设计中优秀的编程语言. .JavaJava不仅可以用来开发大型应用程序,不仅可以用来开发大

3、型应用程序,而且特别适合于而且特别适合于InternetInternet的应用开发的应用开发. .JavaJava具备了具备了“一旦写成处处可用一旦写成处处可用”的特点的特点. .JavaJava已成为网络时代最重要的语言之一已成为网络时代最重要的语言之一. . 1.1 Java的诞生的诞生 源于对独立于平台语言的需要,希源于对独立于平台语言的需要,希望这种语言能编写出嵌入各种家用望这种语言能编写出嵌入各种家用电器等设备的芯片上,且易于维护电器等设备的芯片上,且易于维护的程序。的程序。Java 语言的出现语言的出现 James GoslingJames Gosling核心人物核心人物 1995

4、1995年年6 6月月生日生日1.1 Java的发展历程的发展历程 Java是一种跨平台的面向对象语言95.5,美国Sun公司推出Java语言1995199820022005200620091996200796.1,JDK1.0发布98年末,JDK1.2面世(J2EE,J2SE,J2ME)2002.2,JDK1.4(开源框架,J2EE大放异彩)2006.12,JDK1.6发布2007.11,Google推出Android操作系统2009.4.20,Oracle以74亿美元收购Sun1.2 Java 的特点的特点 JavaJava是目前使用最为广泛的网络编程语言之是目前使用最为广泛的网络编程语言

5、之一,它具有以下特点一,它具有以下特点: : 1简单简单2面向面向对象对象平台平台无关无关 3多线程多线程4安全安全5动态动态61.2.1 简单简单JavaJava语言的语法规则和语言的语法规则和C+C+类似。常用的类似。常用的循环语句,控制语句,几乎相同。循环语句,控制语句,几乎相同。JavaJava语言对语言对C+C+进行了简化和提高。例如,进行了简化和提高。例如,指针和多重继承通常使程序变得复杂,指针和多重继承通常使程序变得复杂,JavaJava用接口取代了多重继承,并取消了用接口取代了多重继承,并取消了指针。指针。JavaJava语言还通过实现自动垃圾收集大大语言还通过实现自动垃圾收集

6、大大简化了程序设计人员的内存管理工作。简化了程序设计人员的内存管理工作。1.2.2 面向对象(面向对象(重点重点)JavaJava语言以面向对象为基础。语言以面向对象为基础。JavaJava语言中,不能在类外面定义单独的语言中,不能在类外面定义单独的数据和函数,所有对象都要派生于同一数据和函数,所有对象都要派生于同一个基类,并共享它所有功能。个基类,并共享它所有功能。也就是说,也就是说,JavaJava语言最外部的数据类型语言最外部的数据类型是对象,所有的元素都要通过类和对象是对象,所有的元素都要通过类和对象来访问。来访问。1.2.3 平台无关(平台无关(重点重点)JavaJava程序具有与体

7、系结构无关的特性。程序具有与体系结构无关的特性。JavaJava可以在平台之上再提供一个可以在平台之上再提供一个JavaJava运运行环境。行环境。这一特征使这一特征使JavaJava程序可以方便地移植到程序可以方便地移植到网络的不同机器。同时,网络的不同机器。同时,JavaJava的类库中的类库中也实现了针对不同平台的接口,使这些也实现了针对不同平台的接口,使这些类库可以移植。类库可以移植。1.2.3 平台无关(平台无关(重点重点)1.2.4 多线程多线程多线程机制使应用程序能够并行执行,多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确而且同步机制保证了对共享数据的正确操

8、作。操作。通过使用多线程,程序设计者可以分别通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。容易地实现网络上的实时交互行为。1.2.5 安全安全四个层面:语言级安全性、编译时安全性、四个层面:语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。运行时安全性、可执行代码安全性。数据结构是完整的对象;数据结构是完整的对象;编译时进行编译时进行javajava语言和语义检查;语言和语义检查;运行时运行时javajava类需要类加载器载入,并

9、经由字类需要类加载器载入,并经由字节码校验器校验之后才可以运行;节码校验器校验之后才可以运行;在网络上使用时,对他的权限进行了设计,在网络上使用时,对他的权限进行了设计,保证了被访问用户的安全性。保证了被访问用户的安全性。1.2.6 动态动态JavaJava的设计使它适合于一个不断发展的环境。的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且而不会影响用户程序的执行。并且JavaJava通过接通过接口来支持多重继承口来支持多重继承, ,使之比严格的类继承具有使之比严格的类继承具有更灵活的方式和扩展性

10、。自己编写类,类库引更灵活的方式和扩展性。自己编写类,类库引入的,而类又是运行时动态加载的。入的,而类又是运行时动态加载的。1.3 安装安装JDK_三种平台三种平台 目前目前JavaJava平台主要分为下列平台主要分为下列3 3个版本个版本: : Java SEJava SE,标准版标准版Java EEJava EE,企业版企业版Java MEJava ME,微型版微型版Java Development KitJava开发工具集开发工具集JDK提供标准的提供标准的Java JDK,可以,可以开发开发Java桌面应用程序和低端桌面应用程序和低端的服务器程序的服务器程序可以用来构建企业级的服务可以

11、用来构建企业级的服务应用,包含了应用,包含了Java SE平台,平台,并增加了附加类库,以便支并增加了附加类库,以便支持目录管理,交易管理和企持目录管理,交易管理和企业级消息处理等功能业级消息处理等功能很小的很小的Java运行环境,用于嵌入式的运行环境,用于嵌入式的消费产品中消费产品中 Java SEJava SE平台是学习掌握平台是学习掌握JavaJava语言的最佳平台,而掌握语言的最佳平台,而掌握Java SEJava SE又是进一步学习又是进一步学习Java EEJava EE和和Java MEJava ME所必须的。所必须的。1 1 下载下载JDK1.8(8.0)JDK1.8(8.0)

12、。 本书将使用本书将使用针对针对WindowWindow操作系统平台的操作系统平台的JDKJDK,因此,因此下载的版本为下载的版本为jdk-8u112-windows-jdk-8u112-windows-i586.exei586.exe。2 2 选择安装路径界面选择安装路径界面。为了便于今。为了便于今后设置环境变量,建议修改默认的安装后设置环境变量,建议修改默认的安装路径为:路径为:D:javajdk1.8D:javajdk1.8。3 3 系统环境系统环境pathpath的设置。的设置。 4 4 系统环境系统环境classpathclasspath的设置。的设置。 图1.4 JDK的目录结构1

13、.3 安装安装JDK_三种平台三种平台 Windows系统执行命令系统执行命令时要搜寻的路径时要搜寻的路径Java在编译和运行时在编译和运行时要找的要找的class所在的所在的路径路径binbin目录目录liblib目录目录includeinclude目录目录demodemo目录目录jrejre目录目录JDKJDK目录目录 结构结构存放包含存放包含编译器、解释器编译器、解释器等可等可执行文件执行文件存放存放Java的类库文件的类库文件存放用于本地方法的文件存放用于本地方法的文件演示代码演示代码Java运行时环境的根路径运行时环境的根路径samplesample目录目录JDK提供的简单示例代码提

14、供的简单示例代码1.3 安装安装JDK_三种平台三种平台 将源文件编译成字节码 解释执行平台无关的字节码程序Javacjava1.3 安装安装JDK_三种平台三种平台 配置环境变量配置环境变量(1)(1)为什么要设置为什么要设置PathPath环境变量?环境变量?nJava编译器(javac.exe)和Java解释器(java.exe)位于Java安装目录的bin文件夹中。n为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path值。如何设置?如何设置?n鼠标右击“我的电脑”,然后依次选取:“属性”“高级”“环境变量”配置环境变量配置环境变量如何设置?如何设置?n点击“编辑”之后,将j

15、dk的bin目录添加到path中:配置环境变量配置环境变量n测试path的设置:n点击开始运行,运行cmd进入DOS环境,在命令行上输入javac,如果出现javac的帮助信息,则说明安装成功。 配置环境变量配置环境变量为什么要设置为什么要设置CLASSPATHCLASSPATH环境变量?环境变量? CLASSPATH保存的是用于搜索Java编译或者运行时需要用到的类的搜索路径列表。 Java的类库放在jre/lib目录的rt.jar中。如何设置?如何设置? “系统变量” “新建” “新建系统变量” 在“变量名”中写“CLASSPATH”,在“变量值”中加“.;” 即可把当前工作目录加入到CL

16、ASSPATH。 添加“rt.jar”可将Java类库加入CLASSPATH。 配置环境变量配置环境变量配置环境变量配置环境变量 “我的电脑”-右键“属性”-“高级”-“环境变量” 系统环境classpath的设置配置环境变量配置环境变量(2)(2)演示环境变量的配置单击右键选择高级选择路径添加路径1.3 安装安装JDK_三种平台三种平台 1.4 Java程序的开发步骤程序的开发步骤 1 1编写源文件。扩展名必须是编写源文件。扩展名必须是.java.java。 2 2编译编译JavaJava源程序。使用源程序。使用JavaJava编译器编译器(javac.exejavac.exe)编译源文件,

17、得到字节码)编译源文件,得到字节码文件。文件。 3. 3. 运行运行JavaJava程序。使用程序。使用Java SEJava SE平台中平台中的的JavaJava解释器(解释器(java.exejava.exe)来解释执行)来解释执行字节码文件。字节码文件。 1.5 简单的简单的Java应用程序应用程序例例1 1 1 1编写源文件编写源文件(JavaJava应用程序的源文件是由若干个书写形式互相独立的类组应用程序的源文件是由若干个书写形式互相独立的类组成)。成)。public class Teacher public static void main (String args) System

18、.out.println(“I am a teacherI am a teacher); Student stu=new Student(); stu.speak(We are students); class Student public void speak(String s) System.out.println(s); 源文件源文件命名为命名为Teacher.javaTeacher.java 保存至保存至C:chapter1 。 注:注:良好的编码习惯良好的编码习惯 、源文件的命名源文件的命名 规则规则2 2编译编译JavaJava源程序源程序。C:chapter1C:chapter1

19、javac Teacher. java javac Teacher. java 3. 3. 运行运行JavaJava程序。程序。 C:chapter1C:chapter1java Teacherjava Teacher 如果源文件有多个类,那么只能有一个如果源文件有多个类,那么只能有一个Public类;如果有一个类是类;如果有一个类是Public类,类,那么源文件的名字必须与这个类的名字那么源文件的名字必须与这个类的名字完全相同,扩展名是完全相同,扩展名是.java; 如果源文件没有错误,编译如果源文件没有错误,编译源文件将生成多个扩展名源文件将生成多个扩展名为为.class的文件,每个扩展的

20、文件,每个扩展名是名是.class的文件中只存放的文件中只存放一个类的字节码文件,其文一个类的字节码文件,其文件名与该类的名字相同。这件名与该类的名字相同。这些字节码文件被存放在与源些字节码文件被存放在与源文件相同的目录中文件相同的目录中Java应用程序总是从主类的应用程序总是从主类的main方法开始执行。方法开始执行。 当当Java应用程序中有多个类时,应用程序中有多个类时,Java命令执行的类名必须是主类的命令执行的类名必须是主类的名字(没有扩展名)。名字(没有扩展名)。一个一个Java应用程序的源文件必须应用程序的源文件必须有一个类含有有一个类含有public static void m

21、ain (String args) 方法,称这方法,称这个类为应用程序的主类个类为应用程序的主类1.5 简单的简单的Java应用程序应用程序小测试小测试P11 P11 例例2 2 1 1编写源文件命名为:编写源文件命名为: People.java2 2编译编译JavaJava源程序源程序 javac People.java 3. 3. 运行运行JavaJava程序程序 java A 1.6 注释注释 编译器忽略注释内容,注释的目的是有利于代码的编译器忽略注释内容,注释的目的是有利于代码的维护和阅读,因此给代码增加注释是一个良好的编程维护和阅读,因此给代码增加注释是一个良好的编程习惯。习惯。Ja

22、vaJava支持两种格式的注释:单行注释和多行注支持两种格式的注释:单行注释和多行注释。释。 单行注释使用单行注释使用“/”表示单行注释的开始,即该表示单行注释的开始,即该行中从行中从“/”开始的后续内容为注释。开始的后续内容为注释。多行注释使用多行注释使用“/*”表示多行注释的开始,以表示多行注释的开始,以“*/”表示多行注表示多行注释的结尾,之间的内容均为注释语句。释的结尾,之间的内容均为注释语句。 1.7 编程风格编程风格 1 、Allmans风格风格 AllmansAllmans风格也称风格也称“独行独行”风格,即左、右大风格,即左、右大括号各自独占一行。括号各自独占一行。2 、 Ke

23、rnighan风格风格KernighanKernighan风格也称风格也称“行尾行尾”风格,即左大括风格,即左大括号在上一行的行尾,而右大括号独占一行号在上一行的行尾,而右大括号独占一行 。 1.8 JAVAJAVA常用开发工具常用开发工具 文本编辑器:如,记事本,UltrEdit Eclipse JCreator Jbuilder NetBeans 等能够很快理解程序中各部分代码之间的关系,能够很快理解程序中各部分代码之间的关系,有利于理解有利于理解JavaJava面向对象的设计思想面向对象的设计思想从事大规模企业级从事大规模企业级JavaJava应用开发非常困难,不应用开发非常困难,不能进

24、行复杂的能进行复杂的JavaJava软件开发,也不利于团体协软件开发,也不利于团体协同开发同开发 BorlandBorland公司开发公司开发,Java,Java可视化开发环境可视化开发环境. . JBuilderJBuilder环境开发程序方便,支持最新的环境开发程序方便,支持最新的JavaJava技术,它是纯的技术,它是纯的Java Java 开发环境,适合企业的开发环境,适合企业的J2EEJ2EE开发开发EclipseEclipse是基于是基于JavaJava的,开放源码的、可扩展的应的,开放源码的、可扩展的应用开发平台,它为编程人员提供了一流的用开发平台,它为编程人员提供了一流的Jav

25、aJava集成集成开发环境开发环境是一个是一个JavaJava集成开发环境(集成开发环境(IDE )IDE ),设计接近,设计接近WindowsWindows界面风格,其最大特点是与机器中所装的界面风格,其最大特点是与机器中所装的JDKJDK完美结合,是其它任何一款完美结合,是其它任何一款IDEIDE所不能比拟的。所不能比拟的。它是一种初学者很容易上手的它是一种初学者很容易上手的javajava开发工具,缺点开发工具,缺点是只能进行简单的程序开发,不能进行企业是只能进行简单的程序开发,不能进行企业J2EEJ2EE的的开发应用。开发应用。 开放源代码开放源代码IDEIDE 对初学者而言,不要使用

26、任何对初学者而言,不要使用任何IDE工工具来学习具来学习Java编程,编程,Windows平台平台上选择记事本上选择记事本经验经验 2.0开发工具开发工具EclipseEclipse简介简介 Eclipse是基于Java的,开放源码的、可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境 Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT) Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它

27、允许他们构建与 Eclipse 环境无缝集成的工具。33包资源管理器包资源管理器代码编辑区代码编辑区类结构区类结构区控制台控制台 2.0开发工具开发工具EclipseEclipse简介简介Eclipse 常用快捷键介绍常用快捷键介绍 Ctrl + i :规范代码格式单行 Ctrl+Shift+F 格式化当前代码 Ctrl + shift +M :import 类的路径(包括Java的标准类以及自己定义的类) Ctrl+shift+T: 查找工程下某一个类的源代码,(包括Java的标准类以及自己定义的类) Ctrl+shift+/: 注释掉一段代码块. 选择某个方法或者类对象名,按下Ctrl键,

28、 点击鼠标,可以查看方法代码或者类的实现. Ctrl+D删除当前行 Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Alt+/ 提示提示小结小结Java特点特点Java环境配置环境配置Eclipse使用使用2.2 基本数据类型基本数据类型 基本数据类型也称作简单数据类型。基本数据类型也称作简单数据类型。JavaJava语言有语言有8 8种基本数据类型,分别是:种基本数据类型,分别是: booleanboolean、bytebyte、shortshort、intint、longlong、floatfloat、doubledouble、charchar。 这这8 8种基本数据类型习惯上可分

29、为以下四大类型:种基本数据类型习惯上可分为以下四大类型: 逻辑类型:逻辑类型:booleanboolean 整数类型:整数类型:bytebyte、shortshort、intint、longlong 字符类型:字符类型:charchar 浮点类型:浮点类型:floatfloat、doubledouble 2.2.5 基本数据类型的转换基本数据类型的转换 Java中数据的基本类型(不包括逻辑类型)按精度从中数据的基本类型(不包括逻辑类型)按精度从“低低”到到“高高”排列:排列:byte short char int long float doublebyte short char int lon

30、g float double 当把级别低的变量的值赋给级别高的变量时,系统当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。例如:自动完成数据类型的转换。例如: float x=100;float x=100; 当把级别高的变量的值赋给级别低的变量时,必须当把级别高的变量的值赋给级别低的变量时,必须使用使用显示显示类型转换运算。显示转换的格式:类型转换运算。显示转换的格式:(类型(类型名)要转换的值名)要转换的值; ; 例如例如 int x=(int)34.89; int x=(int)34.89; 2.3从命令行输入、输出数据从命令行输入、输出数据 1 输入基本型数据输入基

31、本型数据 可以使用Scanner类创建一个对象: Scanner reader=new Scanner(System.in); reader对象调用下列方法,读取用户在命令行(例如,MS-DOS窗口)输入的各种基本类型数据: nextBoolean()、 nextByte()、 nextShort()、 nextInt() nextLong()、nextFloat()、nextDouble()。 上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认。 import javax.swing.JOptionPane; public class DataInputDialog /*对话框输入

32、数据 * param args */ public static void main(String args) / TODO Auto-generated method stub String str; str=JOptionPane.showInputDialog(input data:); int num=Integer.parseInt(str); System.out.println(num); 第二种方式:对话框输入数据第二种方式:对话框输入数据 输出基本型数据输出基本型数据 用System.out.println()或System.out.print()可输出串值、表达式的值,二者

33、的区别是前者输出数据后换行,后者不换行。 允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出,如: System.out.println(m+个数的和为+sum); System.out.println(“:”+123+“大于”+122) 2.4 数组数组 数组是相同类型的变量按顺序组成的一种复合数组是相同类型的变量按顺序组成的一种复合数据类型,称这些相同类型的变量为数组的元数据类型,称这些相同类型的变量为数组的元素或单元。数组通过数组名加索引来使用数组素或单元。数组通过数组名加索引来使用数组的元素。索引从的元素。索引从0开始。开始。C如何定义和使用数组的?int a1

34、0;a0=5;2010-1-1043数组的使用数组的使用定义一维数组变量定义一维数组变量为数组分配内存单元为数组分配内存单元使用数组元素使用数组元素在在javajava里,一里,一维数组维数组的使用的使用分三步分三步2.4.1 声明数组声明数组 声明一维数组有下列两种格式:声明一维数组有下列两种格式: 数组的元素类型数组的元素类型 数组名字数组名字 ; 或或 数组的元素类型数组的元素类型 数组名字数组名字; 例如:例如:float boy; 或或 float boy; 声明声明2维数组有下列两种格式:维数组有下列两种格式: 数组的元素类型数组的元素类型 数组名字数组名字; 或或 数组的元素类型

35、数组的元素类型 数组名字数组名字; 例如:例如:char cat; 或或 char cat; 数组boy的元素可以存放float型数据、数组cat的元素可以存放char型数据。2.4.1 声明数组声明数组 数组的元素的类型可以是数组的元素的类型可以是Java的任何一种类型。的任何一种类型。 假如已经声明了一种People类型数据,那么可以如下声明一个数组: People china; 数组china的元素可以存放People类型的数据。 2.4.2 创建数组创建数组 为数组分配内存空间的格式如下为数组分配内存空间的格式如下: 数组名字 = new 数组元素的类型数组元素的个数; 例如:例如:

36、boy= new float4; 为数组分配内存空间后,数组为数组分配内存空间后,数组boy获得获得4个用来存放个用来存放float类型数据的内存空间,即类型数据的内存空间,即4个个float型元素。型元素。数组变量数组变量boy中存放着这些内存单元的首地址中存放着这些内存单元的首地址,该地,该地址称作数组的引用,这样数组就可以通过索引操作这些址称作数组的引用,这样数组就可以通过索引操作这些内存单元内存单元 。2.4.2 创建数组创建数组 boy图图2.4 数组的内存模型数组的内存模型 0 x785BAboy0boy1boy2boy3声明数组和创建数组可以一起完成,例如:float boy=n

37、ew float4;二维数组和一维数组一样,在声明之后必须用new运算符分配内存空间,例如:int mytwo; mytwo=new int 34;或 int mytwo=new int34; 2.4.3 数组元素的使用数组元素的使用 一维数组通过索引符访问自己的元素,如boy0,boy1等。注意:注意:索引从0开始,数组若有7个元素,那么索引到6为止,如果程序使用了如下语句:boy7=384.98f;程序运行时将发生.ArrayIndexOutOfBoundsException异常,因此在使用数组时必须谨慎,防止索引越界。2.4.3 数组元素的使用数组元素的使用 二维数组也通过索引符访问自己

38、的元素,如a01,a12等;需要注意的是索引从0开始,比如声明创建了一个二维数组a:int a = new int23;那么第一个索引的变化范围从0到1,第二个索引变化范围从0到2。 2.4.4 length的使用的使用 一数组的元素的个数称作数组的长度。对于一维数组,“数组名字.length”的值就是数组中元素的个数。对于二维数组“数组名字.length”的值是它含有的一维数组的个数。 对于 float a = new float12; a.length的值12对于 int b = new int36; b.length的值是3 2.4.5 数组的初始化数组的初始化 创建数组后,系统会给每个

39、数组元素一个默认的值,如,float型是0.0。 在声明数组时同时也可以给数组的元素一个初始值,如:Float boy = 21.3f,23.89f,2.0f,23f,778.98f;也可以直接用若干个一维数组初始化一个二维数组。 2.4.6 数组的引用数组的引用 数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素。例如,对于int a = 1,2,3,b = 4,5;int a = 1,2,3,b = 4,5; 如果使用了下列赋值语句(a和b的类型必须相同):a=b; 那么a中存放的引用和b的相同。 ArrayCopy.javaArrayCopy.java

40、2.4.7 表示格式表示格式 ArraysArrays类调用类调用 public static String toString(int a)public static String toString(int a)方法,可以得到参数指定的一维数组a的如下格式的字符串表示: a0,a1 a0,a1 aa.length-1aa.length-12.4.8 复制数组复制数组 1arraycopy方法方法 SystemSystem类调用方法类调用方法 public static void arraycopy(public static void arraycopy(sourceArraysourceAr

41、ray, ,int index1int index1,copyArray,int index2,copyArray,int index2,int lengthint length) )可以将数可以将数组组sourceArraysourceArray从索引从索引index1index1开始后的开始后的lengthlength个元素个元素中的数据复制到数组中的数据复制到数组copyArraycopyArray中,中,copyArraycopyArray数组从第数组从第index2index2元素开始存放这些数据。元素开始存放这些数据。 2copyOf和和copyOfRange()方法方法 Arra

42、ysArrays类调用类调用copyOf方法方法复制整个数组复制整个数组中元素的值到另一个数组中中元素的值到另一个数组中。 public static double copyOf(double original,int newLength)public static double copyOf(double original,int newLength) Arrays Arrays类调用类调用copyOfRange()方法方法复制复制数组中部分元素的值复制到另一数组中部分元素的值复制到另一个数组中个数组中 public static double copyOfRange(double orig

43、inal,int from,int to) public static double copyOfRange(double original,int from,int to) 2.4.9 排序与二分查找排序与二分查找 1Arrays类调用 public static void sort(double a) 方法可以把参数a指定的double类型数组按升序排序。2Arrays类调用 public static void sort(double a,int start,int end)方法可以把参数a指定的double类型数组中索引star至end-1的元素的值按升序排序。3Arrays类调用(二分法) public static int binarySear

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论