java语言第1天(简介).ppt_第1页
java语言第1天(简介).ppt_第2页
java语言第1天(简介).ppt_第3页
java语言第1天(简介).ppt_第4页
java语言第1天(简介).ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

Java 语言简介,2,1.1.1 Java发展史,Java语言之父James Gosling 在1990年,Sun公司成立了一个软件设计团队,其中除了James Gosling,还有Patrick Naughton和Mike Sheridan等人,他们合作的项目称为“绿色计划”。 1992年,Sun公司的FirstPerson小组,开发手机、PDA应用软件,最初使用的是C+语言 小组转移到交互式电视ITV机顶盒的开发,Oak语言,即Java的前身 1994年底,James Gosling参加了在硅谷召开的“技术、教育和设计大会”。他报着试一试的心情向与会者演示了Java的功能。他点击了网页上的一个静止的分子结构图标,一条命令通过互联网送到了几百英里外的网站,下载了一段Java小程序,在本地工作站上开始执行。在几秒钟时间里,原本静止的网页上,一个分子图像以三维动画的方式转了起来。 1996年,Java编译器的第一版发布并发放许可 1997年,SUN推出Java1.1 (JDK 1.0),国际标准化组织批准Java规范 1998年,SUN推出Java 2 (JDK 1.2)后续JDK1.3和JDK1.4 目前JDK1.5,更名为Java5(最新1.6Beta版),3,什么是 JAVA,Java 完全面向对象的编程语言。 Java 可用来生成两类程序:应用程序、 小应用程序( Applet ) 。 Java 既是一种解释执行的语言,也是一种编译执行的语言。,4,Java的基本特点3-1,简单 Java的风格类似于C+; Java摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理; 面向对象 在 Java 中任何东西都是对象,因此,重点集中在数据以及应用程序中的数据操作方法。 分布式 Java提供了包容广泛的例程库. 健壮性 Java是强类型的语言 Java的自动垃圾收集机制防止了内存丢失等动态内存分配导致的问题。 Java不支持指针,这杜绝了内存的非法访问。 Java解释器运行时实施检查,可以发现数组和字符串访问的越界,5,Java的基本特点3-2,安全 Java语言提供的安全 编译器提供的安全 字节码校验器 类加载器 体系结构中立 源代码级 目标代码级 可移植性 Java 程序被编译成一种与体系结构无关的字节代码 任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。 “一处编译多处执行”,6,Java的基本特点3-3,解释执行 编译器 javac 将处理.java源文件生成类文件 类文件可通过名称为 java 的加载实用程序解释执行,将Java 字节码转换为机器可执行代码。 高性能 通过JIT编译器首先将字节码编译成固有代码,将结果缓存下来,然后在需要时调用它们。 多线程 Java语言内置支持多线程的功能 Java 类库提供了 Thread 类 动态 Java自身的设计使它适合于一个不断发展的环境。在Java类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。,基于java当前主流的引用介绍,1. 简单,面向对象,分布式,解释的,健壮的,完全的,结构中立的,可移植的,性能很优异的,多线程的,动态的,适合的Internet环境上开发应用系统. 3.Java可以制作大部分网络应用程序系统,而且与如今流行的WWW浏览器结合很好. 4.Java不仅仅是一种语言,更重要的是一种区别于传统系统,遵守“网络就是计算机“信条的平台技术.Java平台将面向对象系统扩展成包括程序和数据的网络计算机(NC),而这个平台的核心就是Java虚拟机,许多使Java成为万能开发平台的属性都源于Java虚拟机的概念和实现.,8,Java虚拟机,Java虚拟机是一种利用软件方法实现的抽象化的计算机,基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。 Java虚拟机将在内部创建一个运行时系统,帮助以下列方式执行代码: 加载 .class 文件 管理内存 执行垃圾收集,9,设置系统环境变量,JAVA_HOME指JDK的安装目录。 JAVA_HOME=JDK安装路径 Classpath指JDK运行库文件所在位置 classpath=. Path设定JDK命令所在目录。 path= JDK安装路径bin,10,Java Application程序基本结构,package语句 import语句 class 主类名称 public static void main(String args) 方法体 ,简单的java程序,/文件名 HelloWorld.java /声明一个类 public class HelloWorld /声明一个方法 public static void main(String args) /输出 System.out.println(“hello world!“); ,12,System.out.println方法,对象: System.out System.out.println(“Hello JAVA!“); 标准输出对象 输出到命令窗口 (例如, MS-DOS 窗口) 方法: System.out.println System.out.println(“Hello JAVA!“); 显示一行文本信息 输出内容在小括号内,13,注 释,Java 语言提供三种类型的注释: 单行注释 多行注释 文档注释,以 / 开始,并以换行符结束,以 /* 开始,并以 */ 结束,以 /* 开始,并以 */ 结束, 注释中的每一行都必须以 * 开始。 使用javadoc工具从源代码和文档注释中将信息取出,然后转换为HTML文件。,14,注释,/ End of method: main /* * * This is the comment in JAVA * */ /* This is the comment in JAVA */ /* This is the documentation comment */ /* This is the comment in JAVA */,15,Java 程序的运行环境,Java虚拟机,Java是解释执行的高级编程语言,16,JDK 包括下列实用程序,javac:Java编译器,将Java源代码换成字节代码 java:Java解释器,直接从类文件执行Java应用程序代码 appletviewer(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器,17,常见问题解答,文件名必须与类的名称一致,18,常见问题解答,源文件名的后缀必须是 “.java”.,19,常见问题解答,在编译时,文件名必须带后缀 “.java”.,20,常见问题解答,在运行程序时,文件名必须不含有任何后缀名,标识符,作用:赋予变量、方法、类和接口的名称; 在Java中标识符的命名必须符合以下规则: 标识符必须以字母或下划线或 $ 符号开始。其余字符可以是字母、数字、$ 符号和下划线。 标识符只能包含两个特殊字符,即下划线 (_) 和美元符号 ($)。不允许有任何其他特殊字符。 标识符不能包含空格。 不能是Java中关键字 是大小写敏感的, 且无最大长度;,标识符举例,关键字的作用,掌握Java语言的另一个途径: 理解并使用48个关键字 掌握分类 注意: true、false和null为小写,严格地讲,它们不是关键字,而是文字。然而,这种区别是理论上的。 无sizeof运算符;所有类型的长度和表示是固定的,不依赖执行。,Java 语言的关键字,48个关键字 abstract do implements private throw boolean double import protected throws break else instanceof public transient byte extends int return true case false interface short try catch final long static void char finally native super volatile class float new switch while continue for null synchronized default if package this,变量,变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。 例如:int a,b,c; double dNum1,dNum2=0.0; 变量具有 3 个特性: 名称 : 标识符 初始值 :为其赋值或者是保留缺省值 作用域 : 在不同程序块中的可用性及生命周期 Java中有3种变量: 实例变量:定义对象的属性 类 变 量:定义整个类的属性 局部变量:内部方法定义或语句块内使用,第一个字母小写,后续单词大写开头,其它字母小写。,常 量,常量是具有不会改变数值的变量 声明关键字:final final float PI=3.1415926; final boolean OPEN=false; 常量的名称通常是大写,基本/原始数据类型,Java 共有四类八种基本/原始数据类型: 四种整数类型(byte、short、int、long) 两种浮点数类型(float、double) 一种字符类型(char) 一种布尔类型(boolean),基本数据类型,整数类byte,short,int,long,采用三种进制十进制、八进制和十六进制; 2 十进制值是2 077 首位的0表示这是一个八进制的数值 0xBAAC 首位的0x表示这是一个十六进制的数值 具有缺省int; 用字母“L”和“l”定义long; 注意: 所有Java编程语言中的整数类型都是带符号的数字。 大写或小写L同样都是有效的,但由于小写l与数字1容易混淆,因而,使用小写不是一个明智的选择。,整型数据类型,示例 byte b1; 缺省值为0 byte b2 = 127; 赋初值为127 short s1 = (short)(b1 + b2); 强制类型转换 short s2 = (short)(b1 + 123) 强制类型转换 int n = b1 + b2; 不需要强制类型转换 long l1 = 2343; 不需要强制类型转换 long l2 = 4294967296L; 必须用L或l结尾,布尔数据类型,布尔型数据只有两个值true和false 它们不对应于任何整数值 false为缺省值 布尔型数据只能参与逻辑关系运算: 注意: 在整数类型和boolean类型之间无转换计算。 有些语言(特别值得强调的是C和C+)允许将数字值转换成逻辑值, 这在Java编程语言中是不允许的;boolean类型只允许使用boolean值。,基本数据类型转换,基本数据类型在赋值时的自动类型转换规则: byte short, char, int, long, float, double short int, long, float, double char int, long, float, double int long, float, double long float, double float double 反向的类型转换必须使用强制类型转换 转换过程中可能损失精度 (byte)255 = -1 (byte)0x5634 = 0x34 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入 (int)23.7 = 23 (int)-45.89f = -45,算术运算符,关系运算符,关系运算符用于测试两个操作数之间的关系。 关系表达式将返回一个布尔结果。,逻辑表达式,布尔运算符如下: ! Complement(取反) if ( i ) /generates a compile error if (i !=0) / Correct,逻辑表达式,MyDate d = null; if (d! = null) & (d,day() 31) / do something with d 形成if ()语句自变量的布尔表达式是合法且安全的。这是因为当第一个子表达式是假时,第二个子表达式被跳过,而且当第一个子表达式是假时,整个表达式将总是假,所以不必考虑第二个子表达式的值。类似的,如果使用运算符,而且第一个表达式返回真, 则第二个表达式不必求值,因为整个表达式已经被认为是真。,逻辑运算符,逻辑运算符与布尔操作数一起使用,位运算符,用于 int、short、long、byte 和 char 数据类型,赋值运算符,一次可以为多个变量赋值,如: int a = 20000; int p,q,r,s; p = q = r = s = a;,赋值运算符 (=) 用于为变量赋值,三元运算符 (?:),三元运算符 (? :) 可以替代 if-else 结构,class TernaryOp public static void main(String args) int salary,daysPresent = 30; salary = daysPresent = 20 ? 2000 : 3000; System.out.println(“您本月薪资为 $“+salar

温馨提示

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

最新文档

评论

0/150

提交评论