《java编译器安装.ppt》由会员分享,可在线阅读,更多相关《java编译器安装.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Core JavaJava面向对象程序设计面向对象程序设计何卫东2012.9Core Java2课程地位C+HTMLSQL ServerLogic JavaC#/WinFormsCore JavaProject1:ADO.Net+WinForms C/SADO.Net/Three TierJavaScript/xmlOracleJava OOPLinux.Net/OOPJSPAjax/Web ServiceJSP/Servlet/JavaBean/Web ServiceStruts/Hibernate/Spring/AjaxASP.NetCertified TestIBM Project/Mi
2、crosoft Project软件工程软件工程Core Java3学位课程考核:出勤:15%课堂表现:10%书面作业:9%课堂测试:6%期末考试:60%Core Java4课程目标q掌握Java语言基础知识q理解面向对象的编程思想q运用Java编写多线程及网络应用程序q运用AWT和Swing编写图形用户界面程序q运用JDBC编写数据库访问程序q运用Swing和JDBC实现C/S结构的应用程序Core Java第一卷第一卷Java 基础Core Java6本章目标q了解Java 语言 q了解Java 程序的类型 q掌握Java 程序运行环境的配置 q理解Java 虚拟机(JVM)q了解Java的
3、特点q理解数据类型q掌握运算符q掌握数组q运用控制流语句Core Java7Java语言的简介 qSun Microsystems 于1995年推出q1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器q1994年将Oak语言更名为Java(印尼爪哇岛/咖啡)qJava 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题Core Java8Java平台无关性 qJava是一种既面向对象又可跨平台的语言q它用于创建单机应用程序、基于网络的程序和消费类设备程序。例如:移动电话和掌
4、上导航系统 同时对Internet强有力支持(applet)Java 字节码(可跨平台)WindowsLinuxSolaris运行编译Java 源程序代码JVMJava 虚拟机Core Java9Java与Internet qInternet使Java成为网上最流行的编程语言 qJava对Internet的影响也意义深远 q在Java出现以前,几乎没有什么工具可以在 Internet上执行动态交互程序 qApplet程序可以对用户的输入和操作做出响应 Core Java10Java程序的类型Applet应用程序应用程序它是用 Java 编写的、在 Internet 上运行的程序,在任何客户端系
5、统上均可下载 Applet。它是指在计算机的操作系统支持下运行的程序。应用程序既可以基于GUI,又可以基于命令行界面。Core Java11Java的开发环境 qJDK是有助于程序员开发Java程序的Java开发工具包 q了解安装目录:qbin目录:存放可执行文件;qlib目录:存放Java的类库文件;qinclude目录:存放用于本地方法的文件;qdemo目录:存放演示程序;qjre目录:存放Java运行环境文件;Core Java12配置环境变量 演示环境变量的配置单击右键选择高级选择路径添加路径Core Java13Java开发工具包 q它是一组命令行工具q主要有:qjavac;qjav
6、a;qjavadoc;Core Java14JDK 中的工具-1qjavac:用于编译Java 源代码的编译器q语法:javac 选项 源文件 q源文件以扩展名.java 结尾q选项可以包括:q-classpathq-dCore Java15JDK 中的工具2 qjava:用于执行 Java 字节码的解释器qjava 选项 类名称 参数q选项可以包括q-classpathq-versionJava开发工具:JBuilder、Eclipse、Jcreator、记事本Core Java16开发Java程序的步骤 q创建Java源程序qJava源程序一般用java作为扩展名,是一个文本文 件,用Ja
7、va语言写成,可以用任何文本编辑器创建 与编辑;q编译源程序qJava编译器,“javac”,读取你的Java源程序并翻译 成Java虚拟机能够明白的指令集合,且以字节码的 形式保存在文件中。通常,字节码文件以class作为 扩展名;q运行class(字节码)文件qJava解释器读取字节码,取出指令并且翻译成计算 机能执行的代码,完成运行过程;Core Java17第一个Java程序/*此类用于在屏幕上显示消息。*author Michael */public class Message /*这是一个 main 方法 */public static void main(String args)
8、/*输出此消息*/System.out.println(“欢迎来到Java世界!);Core Java18在记事本编辑Java程序public class Message /*这是一个 main 方法。*/public static void main(String args)/*输出此消息*/System.out.println(欢迎来到 Java 世界!);演示编辑和保存Java程序依次选择程序附件记事本单击开始Core Java19编译和运行演示编译和运行Java程序单击开始进入程序所保存的目录依次选择程序-附件-命令提示符编译Javac Message.java运行java Messa
9、ge输出结果Core Java20 分析程序 3-1 q符号/*/指示中间的语句是该程序中的注释。多行注释以/*开始,以*/结束。单行注释以/开始,以行末结束 java文档注释使用/*/q关键字 class 声明类的定义,还帮助编译器理解它是一个类的声明q整个类及其所有成员都是在一对大括号中(即 和 之间)定义的。它们标志着类定义块的开始和结束Core Java21 分析程序 3-2 q程序从 main()方法开始执行q关键字 public 是一个访问说明符,控制类成员的可见度和作用域q关键字 static 允许调用 main()方法,而无需创建类的实例q关键字 void 告诉编译器 main
10、()方法在执行时不返回任何值Core Java22分析程序 3-3qmain()方法是所有Java 应用程序的起始点qargs 是String类型的数组qprintln()方法通过 System.out 显示作为参数传递给它的字符串Core Java23Java虚拟机(JVM)q可运行Java字节码的虚拟计算机系统 q它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信用户USER字节码程序JVM(Java 虚拟机)操作系统硬 件Core Java24Java虚拟机的运行过程编译时.java(源代码).class(字节码)运行时解释器硬件硬件网络网络字节码校验器类加载器JIT代
11、码生成器Core Java25Java API文档选择包选择包中的接口或类可查看相应帮助Core Java26文档注释演示文档注释进入程序所保存的目录双击index.html文档注释文档注释进入程序所保存的目录执行javadoc Message.javaCore Java27Java的特点 q简单-Java 设计人员删除了C+中许多复杂的功能,如指针操纵和运算符重载等q面向对象-在 Java 中任何东西都是对象。因此,重点集中在数据、应用程序中操作对象的方法以及过程上q健壮性-Java 在编译和解释时都会检查代码Core Java28Java的特点 q安全性-Java 提供了用于执行程序的受控
12、环境,以及多层次的安全控制q分布式-Java 可用于开发能够在多个平台、操作系统和图形用户界面之间移植的应用程序q多线程-Java 程序使用称为“多线程”的进程同时处理多项任务Core Java29Java 语言的基础知识数据类型变量运算符控制流语句Java 块块变量是存储数据的基本单元变量是存储数据的基本单元(命名原则,区分大小写命名原则,区分大小写)。数据类型数据类型确定要存储在内存中的数据的类型。运算符运算符是一个符号,用于操作一个或多个参数以得出结果。程序是按顺序执行的。控制流语句控制流语句允许改变此顺序。Core Java30数据类型qbyte 1qchar 2qboolean 1
13、true/falseqshort 1qint 4qlong 8 long m=2L qfloat 4 float f=2.3f qdouble 8(系统默认浮点类型)q数组q类q接口String s1=“hello”String s1=new String(“hello”)原始数据类型(值)引用数据类型(值的地址)Core Java31变量变量声明由以下三个部分组成:q数据类型q名称q要赋给的初始值(可选)语法:数据类型 标识符=值,标识符=值;Core Java32class VariableTest public static void main(String args)double a=
14、1.0;int b=3;System.out.println(双精度变量的值为:+a);System.out.println(整型变量的值为:+b);示例声明变量并初始化Core Java33变量的作用域和生存期q变量可以在代码块中声明q块以左大括号开始,以右大括号结束q块用来定义作用域q每次创建一个新块后,就会创建一个新的作用域q变量的作用域是一个作用的范围,每个变量都有自己的作用域q变量的生存期是指变量的生存周期Core Java34class ScopeVar public static void main(String args)int num=10;if(num=10)/num 在内
15、层作用域中可用 int num1=num*num;System.out.println(“num 和 num1 的值为+num+num1);System.out.println(“num 的值为+num);示例q检查变量的作用域q如果从变量的作用域外访问变量,则会出错!Core Java35数据转换类型自动类型转换强制类型转换q将一种类型的变量赋给另 一种类型的变量时,只要 满足以下条件,就会发生 自动类型转换:q两种类型兼容;q目标类型大于源类型;byte-short-int-long-float-doubleint i=5;float fm=i;5.0int i=7/2 double i=
16、7/2 结果?q强制转换用于显式类型 转换。如果被转换的值 的数据类型大于其目标 类型,就会丢失部分信 息float f=1.56f;int i=(int)f;1 Core Java36类型强制转换q类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据 示例:float c=34.89675f;int b=(int)c+10;/将 c 转换为整型Core Java37类型提升规则q两种类型兼容;q目标类型大于源类型;例如:qbyte、char和 short 型值可提升为 int 型q对于表达式q如果一个操作数为 long 型,则整个表达式提升为 long 型q如果一个操作数
17、为 float 型,则整个表达式提升为 float 型q如果一个操作数为 double 型,则整个表达式提升为 double 型Core Java38运算符运算符运算符描述描述示例示例算术运算符算术运算符使用数字操作数。这些运算符主要用于数学计算+,-,*,%等等关系运算符关系运算符用于测试两个操作数之间的关系。使用关系运算符的表达式的结果为 boolean 型=,=,、=、=、=和!=5.逻辑运算符,如&、|、&、|6.条件运算符和赋值运算符,如?:、=、*=、/=、+=和-=Core Java41控制流语句q所有应用程序开发环境都提供一个判定过程,称为控制流语句,它用于引导应用程序的执行q
18、流控制使程序员可以创建一个应用程序,该应用程序能够检查现有的条件并决定适当的操作过程q循环或迭代是重要的编程结构,可用于重复执行一组操作q跳转语句允许以非线性的方式执行程序Core Java42控制流语句的类型q判断语句判断语句qif-else 语句qswitch-case 语句q循环语句循环语句qwhile 循环qdo-while 循环qfor 循环Core Java43if-else 语句qIf-else 语句测试条件的结果,然后根据此结果来执行相应的操作q它可用于以两个不同的路径来执行程序qif-else 语句的语法为:if(condition)action1;elseaction2;C
19、ore Java44switch-case 语句qswitch-case 语句可用于替换 if-else-if 语句q在表达式可以得出多个值的情况下,使用此语句q使用 switch-case 语句会带来更好的效果qswitch-case 语句的语法为:switch(表达式)case 常量1:操作 1 的语句;break;case 常量2:操作 2 的语句;break;.case 常量n:操作 n 的语句;break;default:默认语句;Core Java45循环 3-1while 只要指定的条件评估为 true,while 循环则执行一个 语句或一组语句语法语法int count=0;w
20、hile(count 10)System.out.println(count);count+;示例示例while(测试)/语句 被执行被执行条件=trueCore Java46循环 3-2do-whiledo-while 循环执行某些语句,直到指定的条件为真。此循环确保循环体至少执行一次语法do System.out.println(count);count+;while(count 10)示例do /语句 while(测试)被执行被执行条件条件=trueCore Java47循环 3-3forfor 循环主要用于按预定的次数执行语句或语句块语法for(count=0;count 10;cou
21、nt+)System.out.println(count);示例for(初始化;测试;增量)操作语句;条件=true被执行Core Java48跳转语句2-1q两种跳转语句为:qbreakqcontinue break 语句:用于终止块。continue 语句:有时程序员可能希望继续循环,而停止处理其主体内的其余代码,以进行特定的迭代。continue 语句可用于这种操作。Core Java49跳转语句2-2q将 break 关键字引入循环q避免不必要的执行q终止循环 int number=29;for(int i=2;i number;i+)if(number%i=0)System.out.
22、println(i+“是非质数);continue;System.out.println(i+“是质数);Core Java50数组2-1q数组是一个引用变量,用于将相同数据类型的数据存储在存储单元中q可以使用以下三种方式声明数组:q数据类型 标识符;q数据类型 标识符=new 数据类型大小;q数据类型 标识符=值 1,值 2,值 N;q数组可以为多维Core Java51数组 2-2q一维数组由一列相同类型的数据组成q可以通过指定数组的名称和大小来声明数组一维数组一维数组多维数组多维数组q多维数组是数组的数组q要声明一个多维数组,必须 使用另一组方括号来指定附 加索引Core Java52示
23、例q数组声明q访问数组元素q使用 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(“数组中的最后一个元素为:“+numbersnumbers.length
24、-1);Core Java53 命令行参数 q在程序执行过程中,可以通过传递命令行参数将信息传递至 main()方法q可以通过 String 参数访问这些参数class ComndLineArg1 public static void main(String args)for(int i=0;iargs.length;i+)System.out.println(argsi);输出结果 输出结果 Core Java54使用转义序列格式化输出q每当要将输出结果显示到屏幕上时,就需要进行格式化q可以使用 Java 提供的转义序列进行格式化示例:System.out.println(“生日t快乐”);输出结果:生日快乐Core Java55总结qJava 是面向对象的跨平台语言qJava 可用来生成两类程序:应用程序、小应用程序qJDK 提供多种工具,这些工具位于 JDK 的 bin 目录下,具体如下:javac java javadocqJava 字节码是 Java 虚拟机(JVM)可理解的机器语言指令,通常作为 Java 语言源代码的编译结果而生成Core Java56qJava 中的数据类型分为两种:原始数据类型和引用数据类型q变量是存储数据的基本单元q数组用于将相同数据类型的多项数据存储在连续的内存单元中qJava 提供各种类型的运算符qJava 支持用作控制语句的各种编程结构