huaruan-corejava1.ppt_第1页
huaruan-corejava1.ppt_第2页
huaruan-corejava1.ppt_第3页
huaruan-corejava1.ppt_第4页
huaruan-corejava1.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

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的特点理解数据类型掌握运算符掌握数组运用控制流语句,7,Java语言的简介,SunMicrosystems于1995年推出1991年Sun公司的JamesGosling等人开始开发名称为Oak的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器1994年将Oak语言更名为Java(印尼爪哇岛/咖啡)Java既安全、可移植,又可跨平台,而且人们发现它能够解决Internet上的大型应用问题,8,Java平台无关性,Java是一种既面向对象又可跨平台的语言它用于创建单机应用程序、基于网络的程序和消费类设备程序。例如:移动电话和掌上导航系统同时对Internet强有力支持(applet),9,Java与Internet,Internet使Java成为网上最流行的编程语言Java对Internet的影响也意义深远在Java出现以前,几乎没有什么工具可以在Internet上执行动态交互程序Applet程序可以对用户的输入和操作做出响应,10,Java程序的类型,Applet,应用程序,它是用Java编写的、在Internet上运行的程序,在任何客户端系统上均可下载Applet。,它是指在计算机的操作系统支持下运行的程序。应用程序既可以基于GUI,又可以基于命令行界面。,11,Java的开发环境,JDK是有助于程序员开发Java程序的Java开发工具包j2sdk1.4.2_02了解安装目录: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选项类名称参数选项可以包括-classpath-versionJava开发工具:JBuilder、Eclipse、Jcreator、记事本,16,开发Java程序的步骤,创建Java源程序Java源程序一般用java作为扩展名,是一个文本文件,用Java语言写成,可以用任何文本编辑器创建与编辑;编译源程序Java编译器,“javac”,读取你的Java源程序并翻译成Java虚拟机能够明白的指令集合,且以字节码的形式保存在文件中。通常,字节码文件以class作为扩展名;运行class(字节码)文件Java解释器读取字节码,取出指令并且翻译成计算机能执行的代码,完成运行过程;,17,第一个Java程序,/*此类用于在屏幕上显示消息。*authorMichael*/publicclassMessage/*这是一个main方法*/publicstaticvoidmain(Stringargs)/*输出此消息*/System.out.println(“欢迎来到Java世界!);,18,在记事本编辑Java程序,publicclassMessage/*这是一个main方法。*/publicstaticvoidmain(Stringargs)/*输出此消息*/System.out.println(欢迎来到Java世界!);,演示编辑和保存Java程序,19,编译和运行,演示编译和运行Java程序,20,分析程序3-1,符号/*/指示中间的语句是该程序中的注释。多行注释以/*开始,以*/结束。单行注释以/开始,以行末结束java文档注释使用/*/关键字class声明类的定义,还帮助编译器理解它是一个类的声明整个类及其所有成员都是在一对大括号中(即和之间)定义的。它们标志着类定义块的开始和结束,21,分析程序3-2,程序从main()方法开始执行关键字public是一个访问说明符,控制类成员的可见度和作用域关键字static允许调用main()方法,而无需创建类的实例关键字void告诉编译器main()方法在执行时不返回任何值,22,分析程序3-3,main()方法是所有Java应用程序的起始点args是String类型的数组println()方法通过System.out显示作为参数传递给它的字符串,23,Java虚拟机(JVM),可运行Java字节码的虚拟计算机系统它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信,用户USER,字节码程序,JVM(Java虚拟机),操作系统,硬件,24,Java虚拟机的运行过程,编译时,.java,(源代码),.class,(字节码),运行时,解释器,硬件,网络,字节码校验器,类加载器,JIT代码生成器,25,JavaAPI文档,26,文档注释,演示文档注释,27,Java的特点,简单-Java设计人员删除了C+中许多复杂的功能,如指针操纵和运算符重载等面向对象-在Java中任何东西都是对象。因此,重点集中在数据、应用程序中操作对象的方法以及过程上健壮性-Java在编译和解释时都会检查代码,28,Java的特点,安全性-Java提供了用于执行程序的受控环境,以及多层次的安全控制分布式-Java可用于开发能够在多个平台、操作系统和图形用户界面之间移植的应用程序多线程-Java程序使用称为“多线程”的进程同时处理多项任务,29,Java语言的基础知识,数据类型,变量,运算符,控制流语句,Java块,变量是存储数据的基本单元(命名原则,区分大小写)。,数据类型确定要存储在内存中的数据的类型。,运算符是一个符号,用于操作一个或多个参数以得出结果。,程序是按顺序执行的。控制流语句允许改变此顺序。,30,数据类型,byte1char2boolean1true/falseshort1int4long8longm=2Lfloat4floatf=2.3fdouble8(系统默认浮点类型),数组类接口Strings1=“hello”Strings1=newString(“hello”),原始数据类型(值),引用数据类型(值的地址),31,变量,变量声明由以下三个部分组成:数据类型名称要赋给的初始值(可选),语法:数据类型标识符=值,标识符=值;,32,classVariableTestpublicstaticvoidmain(Stringargs)doublea=1.0;intb=3;System.out.println(双精度变量的值为:+a);System.out.println(整型变量的值为:+b);,示例,声明变量并初始化,33,变量的作用域和生存期,变量可以在代码块中声明块以左大括号开始,以右大括号结束块用来定义作用域每次创建一个新块后,就会创建一个新的作用域变量的作用域是一个作用的范围,每个变量都有自己的作用域变量的生存期是指变量的生存周期,34,classScopeVarpublicstaticvoidmain(Stringargs)intnum=10;if(num=10)/num在内层作用域中可用intnum1=num*num;System.out.println(“num和num1的值为+num+num1);System.out.println(“num的值为+num);,示例,检查变量的作用域如果从变量的作用域外访问变量,则会出错!,35,数据转换类型,自动类型转换,强制类型转换,将一种类型的变量赋给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换:两种类型兼容;目标类型大于源类型;byte-short-int-long-float-doubleinti=5;floatfm=i;5.0inti=7/2doublei=7/2结果?,强制转换用于显式类型转换。如果被转换的值的数据类型大于其目标类型,就会丢失部分信息floatf=1.56f;inti=(int)f;1,36,类型强制转换,类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据示例:floatc=34.89675f;intb=(int)c+10;/将c转换为整型,37,类型提升规则,两种类型兼容;目标类型大于源类型;例如:byte、char和short型值可提升为int型对于表达式如果一个操作数为long型,则整个表达式提升为long型如果一个操作数为float型,则整个表达式提升为float型如果一个操作数为double型,则整个表达式提升为double型,38,运算符,39,示例,代码片断:inta=5,b=12,d=10,c;c=a+b;加法c=b%a;取模d+;递增d-;递减c和d的值:c=17相加后c=2这是a/b的余数d=11递增后d=10递减后,代码片断:booleani=true,j=false;booleanor=i|j,and=ior和and的值or=true使用逻辑orand=false使用逻辑andnot=false使用一元逻辑not,算术运算符,逻辑运算符,40,运算符的优先级,表达式通常由多个运算符组成。优先级的规则决定每个运算符在任何给定表达式中的计算顺序,41,控制流语句,所有应用程序开发环境都提供一个判定过程,称为控制流语句,它用于引导应用程序的执行流控制使程序员可以创建一个应用程序,该应用程序能够检查现有的条件并决定适当的操作过程循环或迭代是重要的编程结构,可用于重复执行一组操作跳转语句允许以非线性的方式执行程序,42,控制流语句的类型,判断语句if-else语句switch-case语句循环语句while循环do-while循环for循环,43,if-else语句,If-else语句测试条件的结果,然后根据此结果来执行相应的操作它可用于以两个不同的路径来执行程序if-else语句的语法为:if(condition)action1;elseaction2;,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循环则执行一个语句或一组语句,语法,intcount=0;while(count10)System.out.println(count);count+;,示例,while(测试)/语句,被执行,条件=true,46,循环3-2,do-while,do-while循环执行某些语句,直到指定的条件为真。此循环确保循环体至少执行一次,语法,doSystem.out.println(count);count+;while(count10),示例,do/语句while(测试),被执行,条件=true,47,循环3-3,for,for循环主要用于按预定的次数执行语句或语句块,语法,for(count=0;count10;count+)System.out.println(count);,示例,for(初始化;测试;增量)操作语句;,条件=true,被执行,48,跳转语句2-1,两种跳转语句为:breakcontinuebreak语句:用于终止块。continue语句:有时程序员可能希望继续循环,而停止处理其主体内的其余代码,以进行特定的迭代。continue语句可用于这种操作。,49,跳转语句2-2,将break关键字引入循环避免不必要的执行终止循环,intnumber=29;for(inti=2;inumber;i+)if(number%i=0)System.out.println(i+“是非质数);continue;System.out.println(i+“是质数);,50,数组2-1,数组是一个引用变量,用于将相同数据类型的数据存储在存储单元中可以使用以下三种方式声明数组:数据类型标识符;数据类型标识符=new数据类型大小;数据类型标识符=值1,值2,值N;数组可以为多维,51,数组2-2,一维数组由一列相同类型的数据组成可以通过指定数组的名称和大小来声明数组,一维数组,多维数组,多维数组是数组的数组要声明一个多维数组,必须使用另一组方括号来指定附加索引,52,示例,数组声明访问数组元素使用length属性,演示:示例3,/*数组初始化*/doublenums=2,0,1;/*输出数组元素*/System.out.println(“位置3的值为:+nums2);,intnumbers=8,18,5,2,1,10;/numbers.length属性表示数组大小System.out.println(“数组中元素的总数为:+numbers.length

温馨提示

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

评论

0/150

提交评论