Java概论.ppt

上传人:文库蛋蛋多 文档编号:2348776 上传时间:2023-02-14 格式:PPT 页数:36 大小:98.50KB
返回 下载 相关 举报
Java概论.ppt_第1页
第1页 / 共36页
Java概论.ppt_第2页
第2页 / 共36页
Java概论.ppt_第3页
第3页 / 共36页
Java概论.ppt_第4页
第4页 / 共36页
Java概论.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《Java概论.ppt》由会员分享,可在线阅读,更多相关《Java概论.ppt(36页珍藏版)》请在三一办公上搜索。

1、第一讲 序论,1、程序设计语言2、Java历史及发展3、Java语言特点4、Java开发环境5、Java类库6、Java程序,1、程序设计语言,程序设计语言的种类:机器语言:机器指令,直接执行 汇编语言:符号化,汇编器(Assembler)高级程序设计语言(编译型)高级程序设计语言(解释型),高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式,这种结构被称为“表达式”。程序中基本的动作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行,要在计算机上执行高级语言书写的程序,有两种基本方法:编译(Compilation)执行:这种方法是设法把高

2、级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(Executable)程序”。“解释”(Interpretation)执行:这种方法是即时把源程序转换为机器可执行的指令。有时为了提高效率,也可以先编译成一种中间代码。,1、程序设计语言高级程序设计语言,2、Java历史及发展,Java是一种解释型的、面向对象的编程语言。历史:1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。Oak Java:互联网给Java带来新的生机 1

3、995年Sun向公众推出Java并引起业界的轰动 发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(1995年以来)应用:Java是当今最流行的软件开发语言之一,Sun推出了 Java2&J2EE使Java具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等。,Java=“C+”“复杂性和奇异性”+“安全性和可移植性”Java语言是一个完全面向对象的语言,并且对软件工程技术有很强的支持 Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;类提供了一类对象的原型,并

4、且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。,3、Java语言特点(1)面向对象,严格的语言定义:没有“依据机器的不同而不同”或“由编译器决定”等字眼,最后的目标码都是一致的。Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。,3、Java语言特点(2)平台无关性,编译,没有绝对地址,调入包含、继承所用到的所有类,内存分配确定,变成真正可执行的机器码,不存在伪造的指针不违反访问权限不非法访问对象不导致

5、操作栈溢出,Java的编译与执行,不同的操作系统有不同的虚拟机。它类似一个小巧而高效的CPU。Bytecode代码是与平台无关的是虚拟机的机器指令。Java字节代码运行的两种方式:Interpreter(解释方式)Just-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行.,Java虚拟机,Java是在网络环境下使用的语言,一个安全的网络至少要防止以下几种破坏的可能性:毁灭系统资源 消耗系统资源 挖掘系统或个人机密 骚扰正常工作的进行,3、Java语言特点(3)安全问题,Java的安全措施,单线程程序一个时刻只能做一件事情,多线程程序允许在同一时刻

6、同时做多件事情。其它大多数高级语言,包括C,C+等,都不支持多线程,只能编写顺序执行的程序(除非有操作系统API的支持)。Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。,3、Java语言特点(4)多线程,(5)可移植性(6)分布性(7)高性能(相对于其他解释型语言)(8)健壮性,3、Java语言特点 其他,不再有全局变量 不再有#include 和#define

7、等预处理功能 不再有structure、union及typedef等 不再有函数、不再有指针、不再有多重继承 不再有goto语句 不再有操作符重载(Operatior Overloading)取消自动类型转换,要求强制转换 自动进行内存管理,3、Java语言特点(9)与C及C+的区别,4、Java开发环境,JDK j2eesdk-1_4_01-windows.exe j2sdk-1_4_2_04-nb-3_6-bin-windows.exe j2sdk-1_4_2-doc.zip集成环境 Jbuilder(Borland)Visual J+(Microsoft)JPad TextPad,安装J

8、DK后产生如下目录结构:bin目录:Java开发工具,包括Java编译器、解释器等 demo目录:一些实例程序 lib目录:Java开发类库 jre目录:Java运行环境,包括Java虚拟机、运行类库等,4、Java开发环境,Java开发工具包括:Javac:Java编译器,用来将java程序编译成 Bytecode。Java:Java解释器,执行已经转换成Bytecode的 java应用程序。Jdb:Java调试器,用来调试java程序。Javap:反编译,将类文件还原回方法和变量。Javadoc:文档生成器,创建HTML文件。Appletviwer:Applet解释器,用来解释已经转换成

9、Bytecode的java小应用程序。,4、Java开发环境,设置环境变量:PATH=bin;CLASSPATH=.;Windows 98:autoexec.batWindows NT/2000/XP:控制面板系统高级环境变量,4、Java开发环境,C:,Jdk,bin,lib,javac,java,appletviewer,用户类文件所在目录c:javaexamplesapplications,当前目录,jre,demo,4、Java开发环境,Java程序由各种类(class)组成你自己编写的类(Java class librariesJava API)JDKJava Development

10、 Kit(1.11.4)独立软件供应商、免费软件/共享软件几点提示使用类库可以 提高软件重用/提高效率/提高移植性网络上有许多开放的Java源码资源,5、Java类库,Java Packages(1),Languagejava.langClasses that contain the main core of the Java language.Utilitiesjava.utilSupport for utility data structures.I/Ojava.ioSupport for various types of input/output.Textjava.textLocaliz

11、ation support for handling text,dates,numbers,and messages.Mathjava.mathClasses for performing arbitrary-precision integer and floating-point arithmetic.AWT java.awtUser interface design and event-handling.Swingjavax.swingClasses for creating all-Java,lightweight components that behave similarly on

12、all platforms.,Java Packages(2),Javaxjavax Extensions to the Java language.Appletjava.applet Classes for creating applets.Beansjava.beans Classes for developing JavaBeans.Reflectionjava.lang.reflect Classes used to obtain runtime class information.SQLjava.sql Support for accessing and processing dat

13、ain databases.RMIjava.rmi Support for distributed programming.N Classes that support development of networking applications.Securityjava.securitySupport for cryptographic security,Java程序分两种:Java应用程序(Java Application)Java小程序(Java Applet),6、Java程序,Java程序结构:package语句:零个或一个,必须放在文件开始 import语句:零个或多个,必须放在所

14、有类定义之前 public ClassDefinition:零个或一个 ClassDefinition:零个或多个 InterfaceDefinition:零个或多个类个数:至少一个类,最多只能有一个public类源文件命名:若有public类,源文件必须按该类命名标识符:区分大小写,6、Java程序,类库支持:引用其他类。类定义:定义程序所需的类及接口,包括其内部的变量、方法等。main()方法:应用程序的入口,与标准C中main()函数的地位是一样的。一个应用程序有且只有一个main()方法,main()方法必须包含在一个类中,该类即为应用程序的外部标志。程序注释:与C类似,/*/,6、J

15、ava程序Java应用程序(Java Application),编辑存盘:文件名和公共类名(用public声明)要一致 HelloWorldApp.java编译程序:javac HelloWorldApp.java运行程序:java HelloWorldApp运行结果:Hello World!,public class HelloWorldApp public static void main(String args)System.out.println(“Hello World!”);,6、Java程序第一个Java应用程序,声明一个类:public class HelloWorldApp,

16、类名第一个字母大写。一个类中可有很多方法,main方法是运行程序的第一个方法,方法名的第一个字母小写。System.out.println是向屏幕输出,相当于C中的printf()。,6、Java程序第一个Java应用程序,public class HelloWorldApp public static void main(String args)System.out.println(“Hello World!”);,注意 程序进入从一个类的main方法开始,必须保证主类HelloWorldApp中实现了main方法。必须保证HelloWorldApp.java文件在当前目录下 必须保证PAT

17、H环境变量中有jdk_homebin,6、Java程序第一个Java应用程序,public class CommArg public static void main(String args)/Display command arguments int i;if(args.length 0)/have some command arguments for(i=0;iargs.length;i+)System.out.println(arg+i+=+argsi);else/no command argument System.out.println(No arguments!);,6、Java程

18、序第二个Java应用程序(命令行参数),命令行参数:main(String args),与标准C中main(int argc,char*argv)相似。字符串的拼接:arg+i+=+argsi。编译程序:javac HelloWorldApp.java 运行程序(命令行参数获取):java CommArg first second third 运行结果:arg0=first arg1=second arg2=third,6、Java程序第二个Java应用程序(命令行参数),第一次使用Java时常见的问题,编译时 运行时,使用“.”作为目录名分割符:your homejavac examples

19、.ch1.Welcome1.java错误:不能读:examples.ch1.Welcome1.java1 个错误解决办法:your homejavac examplesch1Welcome1.java或者your homejavac examples/ch1/Welcome1.java,Java编译时常见的问题(1),Java编译时常见的问题(2),忘记文件后缀.javayour homejavac examplesch1Welcome1javac:无效的参数:examplesch1Welcome1用法:javac 解决办法:your homejavac examplesch1Welcome1

20、.java或者your homejavac examples/ch1/Welcome1.java,Java运行时常见的问题(1),使用“”最为包名的分割符:your homejava examplesch1Welcome1Exception in thread main java.lang.NoClassDefFoundError:examplesch1Welcome1(wrong name:examples/ch1/Welcome1)at java.lang.ClassLoader.defineClass0(Native Method)解决办法:your homejava examples.

21、ch1.Welcome1或者your homejava examples/ch1/Welcome1,Java运行时常见的问题(2),没有把当前目录加到classpath环境变量中:your homejava examples.ch1.Welcome1Exception in thread main java.lang.NoClassDefFoundError:examplesch1Welcome1解决办法:set classpath=%classpath%;.或者your homejava classpath.examples.ch1.Welcome1,Java编译小窍门,命令行:javac*.java可以编译当前目录下所有的.java文件命令行:javac yourpackage*.java编译yourpackage目录下所有的.java文件,Java语言学习,1、阅读类库文档,了解、掌握Java开发类库的使用方法;2、多分析例子程序,多上机练习。3、了解OO的思想。,

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号