收藏 分享(赏)

huaruan-corejava1.ppt

上传人:gsy285395 文档编号:4529085 上传时间:2019-01-02 格式:PPT 页数:56 大小:2.82MB
下载 相关 举报
huaruan-corejava1.ppt_第1页
第1页 / 共56页
huaruan-corejava1.ppt_第2页
第2页 / 共56页
huaruan-corejava1.ppt_第3页
第3页 / 共56页
huaruan-corejava1.ppt_第4页
第4页 / 共56页
huaruan-corejava1.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、Java面向对象程序设计,何卫东 2012.9,2,课程地位,3,学位课程,考核:出勤:15%课堂表现:10%书面作业:9%课堂测试:6%期末考试:60%,4,课程目标,掌握Java语言基础知识 理解面向对象的编程思想 运用Java编写多线程及网络应用程序 运用AWT和Swing编写图形用户界面程序 运用JDBC编写数据库访问程序 运用Swing和JDBC实现C/S结构的应用程序,第一卷,Java 基础,6,本章目标,了解Java 语言 了解Java 程序的类型 掌握Java 程序运行环境的配置 理解Java 虚拟机 (JVM) 了解Java的特点 理解数据类型 掌握运算符 掌握数组 运用控制

2、流语句,7,Java语言的简介,Sun Microsystems 于1995年推出 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器 1994年将Oak语言更名为Java(印尼爪哇岛/咖啡) Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题,8,Java平台无关性,Java是一种既面向对象又可跨平台的语言 它用于创建单机应用程序、基于网络的程序和消费类设备程序。例如:移动电话和掌上导航系统同时对Internet强有力支持(applet),9,Java与Inte

3、rnet,Internet使Java成为网上最流行的编程语言 Java对Internet的影响也意义深远 在Java出现以前,几乎没有什么工具可以在 Internet上执行动态交互程序 Applet程序可以对用户的输入和操作做出响应,10,Java程序的类型,Applet,应用程序,它是用 Java 编写的、在 Internet 上运行的程序,在任何客户端系统上均可下载 Applet。,它是指在计算机的操作系统支持下运行的程序。应用程序既可以基于GUI,又可以 基于命令行界面。,11,Java的开发环境,JDK是有助于程序员开发Java程序的Java开发工具包 j2sdk1.4.2_02 了解

4、安装目录 : bin目录:存放可执行文件; lib目录:存放Java的类库文件; include目录:存放用于本地方法的文件; demo目录:存放演示程序; jre目录:存放Java运行环境文件;,12,配置环境变量,演示环境变量的配置,13,Java开发工具包,它是一组命令行工具 主要有: javac; java; javadoc;,14,JDK 中的工具-1,javac:用于编译Java 源代码的编译器 语法:javac 选项 源文件 源文件以扩展名.java 结尾 选项可以包括: -classpath -d,15,JDK 中的工具2,java:用于执行 Java 字节码的解释器 java

5、 选项 类名称 参数 选项可以包括 -classpath -versionJava开发工具:JBuilder、Eclipse、Jcreator、记事本,16,开发Java程序的步骤,创建Java源程序 Java源程序一般用java作为扩展名,是一个文本文件,用Java语言写成,可以用任何文本编辑器创建与编辑; 编译源程序 Java编译器,“javac”,读取你的Java源程序并翻译成Java虚拟机能够明白的指令集合,且以字节码的形式保存在文件中。通常,字节码文件以class作为扩展名; 运行class(字节码)文件 Java解释器读取字节码,取出指令并且翻译成计算机能执行的代码,完成运行过程;

6、,17,第一个Java程序,/* 此类用于在屏幕上显示消息。* author Michael*/ public class Message /* 这是一个 main 方法*/public static void main(String args) /* 输出此消息 */System.out.println(“欢迎来到Java世界!“); ,18,在记事本编辑Java程序,public class Message /* 这是一个 main 方法。*/public static void main(String args) /* 输出此消息 */System.out.println(“欢迎来到 J

7、ava 世界!“); ,演示编辑和保存Java程序,19,编译和运行,演示编译和运行Java程序,20,分析程序 3-1,符号 /* */ 指示中间的语句是该程序中的注释。多行注释以 /* 开始,以 */ 结束。单行注释以 / 开始,以行末结束java文档注释使用/* */ 关键字 class 声明类的定义,还帮助编译器理解它是一个类的声明 整个类及其所有成员都是在一对大括号中(即 和 之间)定义的。它们标志着类定义块的开始和结束,21,分析程序 3-2,程序从 main( ) 方法开始执行 关键字 public 是一个访问说明符,控制类成员的可见度和作用域 关键字 static 允许调用 m

8、ain( ) 方法,而无需创建类的实例 关键字 void 告诉编译器 main( ) 方法在执行时不返回任何值,22,分析程序 3-3,main( )方法是所有Java 应用程序的起始点 args 是String类型的数组 println( )方法通过 System.out 显示作为参数传递给它的字符串,23,Java虚拟机(JVM),可运行Java字节码的虚拟计算机系统 它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信,用户USER,字节码程序,JVM (Java 虚拟机),操作系统,硬 件,24,Java虚拟机的运行过程,编译时,.java,(源代码),.class,(

9、字节码),运行时,解释器,硬件,网络,字节码校验器,类加载器,JIT代码 生成器,25,Java API文档,26,文档注释,演示文档注释,27,Java的特点,简单 - Java 设计人员删除了C+ 中许多复杂的功能,如指针操纵和运算符重载等 面向对象 - 在 Java 中任何东西都是对象。因此,重点集中在数据、应用程序中操作对象的方法以及过程上 健壮性 - Java 在编译和解释时都会检查代码,28,Java的特点,安全性 - Java 提供了用于执行程序的受控环境,以及多层次的安全控制 分布式 - Java 可用于开发能够在多个平台、操作系统和图形用户界面之间移植的应用程序 多线程 -

10、Java 程序使用称为“多线程”的进程同时处理多项任务,29,Java 语言的基础知识,数据类型,变量,运算符,控制流语句,Java 块,变量是存储数据的基本单元(命名原则,区分大小写 )。,数据类型确定要存储在内存中的数据的类型。,运算符是一个符号,用于操作一个或多个参数以得出结果。,程序是按顺序执行的。控制流语句允许改变此顺序。,30,数据类型,byte 1 char 2 boolean 1 true/false short 1 int 4 long 8 long m=2L float 4 float f=2.3f double 8 (系统默认浮点类型),数组 类 接口String s1=

11、“hello”String s1=new String(“hello”),原始数据类型(值),引用数据类型(值的地址),31,变量,变量声明由以下三个部分组成:数据类型名称要赋给的初始值(可选),语法:数据类型 标识符 =值, 标识符=值;,32,class VariableTest public static void main(String args) double a = 1.0;int b = 3;System.out.println(“双精度变量的值为: “+a);System.out.println(“整型变量的值为:“+b); ,示例,声明变量并初始化,33,变量的作用域和生存期

12、,变量可以在代码块中声明 块以左大括号开始,以右大括号结束 块用来定义作用域 每次创建一个新块后,就会创建一个新的作用域 变量的作用域是一个作用的范围,每个变量都有自己的作用域 变量的生存期是指变量的生存周期,34,class ScopeVar public static void main(String args) int num = 10; if ( num = 10) /num 在内层作用域中可用int num1 = num * num;System.out.println(“num 和 num1 的值为“ + num + “ “ + num1);System.out.println(“

13、num 的值为“ + num); ,示例,检查变量的作用域 如果从变量的作用域外访问变量,则会出错!,35,数据转换类型,自动类型转换,强制类型转换,将一种类型的变量赋给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换: 两种类型兼容; 目标类型大于源类型; byte-short-int-long-float-double int i=5; float fm=i; 5.0int i=7/2 double i=7/2 结果?,强制转换用于显式类型转换。如果被转换的值的数据类型大于其目标类型,就会丢失部分信 息float f=1.56f; int i=(int) f; 1,36,类型强制

14、转换,类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据示例: float c = 34.89675f; int b = (int) c + 10; / 将 c 转换为整型,37,类型提升规则,两种类型兼容; 目标类型大于源类型;例如: byte、char和 short 型值可提升为 int 型 对于表达式 如果一个操作数为 long 型,则整个表达式提升为 long 型 如果一个操作数为 float 型,则整个表达式提升为 float 型 如果一个操作数为 double 型,则整个表达式提升为 double 型,38,运算符,39,示例,代码片断:int a= 5, b

15、= 12,d=10,c; c=a+b; 加法 c=b%a; 取模 d+; 递增 d-; 递减c 和 d 的值:c=17 相加后 c=2 这是 a/b 的余数 d=11 递增后 d=10 递减后,代码片断:boolean i=true, j=false; boolean or=i|j, and=ior 和 and 的值or=true 使用逻辑 or and=false 使用逻辑 and not=false 使用一元逻辑 not,算术运算符,逻辑运算符,40,运算符的优先级,表达式通常由多个运算符组成。优先级的规则决定每个运算符在任何给定表达式中的计算顺序,41,控制流语句,所有应用程序开发环境都

16、提供一个判定过程,称为控制流语句,它用于引导应用程序的执行 流控制使程序员可以创建一个应用程序,该应用程序能够检查现有的条件并决定适当的操作过程 循环或迭代是重要的编程结构,可用于重复执行一组操作 跳转语句允许以非线性的方式执行程序,42,控制流语句的类型,判断语句 if-else 语句 switch-case 语句 循环语句 while 循环 do-while 循环 for 循环,43,if-else 语句,If-else 语句测试条件的结果,然后根据此结果来执行相应的操作 它可用于以两个不同的路径来执行程序 if-else 语句的语法为:if (condition)action1;else

17、action2;,44,switch-case 语句,switch-case 语句可用于替换 if-else-if 语句 在表达式可以得出多个值的情况下,使用此语句 使用 switch-case 语句会带来更好的效果 switch-case 语句的语法为:switch (表达式) case 常量1:操作 1 的语句;break;case 常量2:操作 2 的语句;break;.case 常量n:操作 n 的语句;break;default:默认语句; ,45,循环 3-1,while,只要指定的条件评估为 true,while 循环则执行一个语句或一组语句,语法,int count = 0;

18、while (count 10) System.out.println(count);count+; ,示例,while (测试)/ 语句,被执行,条件 = true,46,循环 3-2,do-while,do-while 循环执行某些语句,直到指定的条件为真。此循环确保循环体至少执行一次,语法,do System.out.println(count);count+; while (count 10),示例,do / 语句while (测试),被执行,条件 = true,47,循环 3-3,for,for 循环主要用于按预定的次数执行语句或语句块,语法,for(count = 0; count

19、 10; count+) System.out.println(count); ,示例,for(初始化;测试; 增量)操作语句; ,条件 = true,被执行,48,跳转语句2-1,两种跳转语句为: break continuebreak 语句:用于终止块。continue 语句:有时程序员可能希望继续循环,而停止处理其主体内的其余代码,以进行特定的迭代。continue 语句可用于这种操作。,49,跳转语句2-2,将 break 关键字引入循环 避免不必要的执行 终止循环,int number = 29;for (int i = 2; i number; i+) if (number % i

20、 = 0) System.out.println(i+“是非质数“);continue; System.out.println(i+“是质数“);,50,数组2-1,数组是一个引用变量,用于将相同数据类型的数据存储在存储单元中 可以使用以下三种方式声明数组: 数据类型 标识符; 数据类型 标识符= new 数据类型大小; 数据类型 标识符= 值 1,值 2,值 N ; 数组可以为多维,51,数组 2-2,一维数组由一列相同类型的数据组成 可以通过指定数组的名称和大小来声明数组,一维数组,多维数组,多维数组是数组的数组 要声明一个多维数组,必须使用另一组方括号来指定附加索引,52,示例,数组声明

21、 访问数组元素 使用 length 属性,演示:示例 3,/* 数组初始化*/double nums = 2, 0, 1;/* 输出数组元素*/ System.out.println(“位置 3 的值为:“ + nums2);,int numbers = 8, 18, 5, 2, 1, 10;/numbers.length属性表示数组大小System.out.println(“数组中元素的总数为:“+ numbers.length);System.out.println(“数组中的第一个元素为:“ + numbers0);System.out.println(“数组中的最后一个元素为:“ +

22、numbersnumbers.length - 1);,53,命令行参数,在程序执行过程中,可以通过传递命令行参数将信息传递至 main( ) 方法 可以通过 String 参数访问这些参数,class ComndLineArg1 public static void main(String args ) for(int i=0;iargs.length;i+) System.out.println(argsi); ,输出 结果,输出 结果,54,使用转义序列格式化输出,每当要将输出结果显示到屏幕上时,就需要进行格式化 可以使用 Java 提供的转义序列进行格式化示例:System.out.p

23、rintln (“生日t快乐”);输出结果:生日 快乐,55,总结,Java 是面向对象的跨平台语言 Java 可用来生成两类程序:应用程序、 小应用程序 JDK 提供多种工具,这些工具位于 JDK 的 bin 目录下,具体如下:javac java javadoc Java 字节码是 Java 虚拟机 (JVM) 可理解的机器语言指令,通常作为 Java 语言源代码的编译结果而生成,56,Java 中的数据类型分为两种:原始数据类型和引用数据类型 变量是存储数据的基本单元 数组用于将相同数据类型的多项数据存储在连续的内存单元中 Java 提供各种类型的运算符 Java 支持用作控制语句的各种编程结构,

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

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报