Java语言基础知识 (2).ppt
《Java语言基础知识 (2).ppt》由会员分享,可在线阅读,更多相关《Java语言基础知识 (2).ppt(131页珍藏版)》请在三一办公上搜索。
1、第一章Java 语言基础知识,目录,1.1 Java语言概述1.2 Java程序开发过程与示例1.3 标识符、关键字和数据类型1.4 数组1.5 运算符、表达式和语句1.6 本章小结,Java语言是一门面向对象的程序设计语言。除了面向对象的特点以外,Java语言还在安全性、平台无关性、支持多线程、内存管理等许多方面具有卓越的优点。,1.1 Java语言概述,1.1.1 Java的诞生,1995年6月,由SUN公司推出源于对跨平台语言的需要1990年,James Gosling领导的“绿色计划”小组开发,最初命名为“Oak”Oak:名称源于窗外有一棵橡树Java:印尼的爪哇岛,盛产咖啡;“为世人
2、端上一杯热咖啡”,1.1.2 Java的特点,简单语法类似C+摈除了指针等容易混乱的概念内存管理机制:可自动进行垃圾回收面向对象平台无关性“一次编写,到处运行”,解释型编译型:源程序一次性编译为二进制代码解释型:源程序不预编译,在运行时逐语句翻译为二进制代码执行。,Java执行过程首先,源程序经编译生成中间代码然后,中间代码经解释生成二进制代码,?,因此,严格来说,Java是混合型,多线程Java是第一个在语言级别提供内置多线程支持的高级语言安全性Java不支持指针,避免了混乱的内存操作Java程序限制在其运行环境中,避免了病毒感染动态,问题:Java是如何实现跨平台的?,简单来说,因为Jav
3、a使用了“中间代码”(字节码,Bytecode)及“虚拟机”技术,只要在不同的平台安装了相应的Java虚拟机(JVM),“中间代码”都能够正确运行。Java程序“汉语”中间代码“世界语”JVM 世界各地的“翻译”,源程序,二进制代码,新硬件,硬件A的指令集,新硬件的指令集,?,新指令集,新程序,新二进制代码,C程序执行过程,源程序,统一中间代码,编译器,新硬件,新指令集,新二进制代码,解释器,二进制代码,新的解释器,JVM去解决(与程序员无关),根据指令集,按新指令集,JAVA程序执行过程,Java中没有#include 和#define 等预处理功能,用import语句来包含其它类和包;Ja
4、va中没有struct,union及typedef;Java中没有不属于类成员的函数,没有指针和多重继承,Java只支持单继承;Java中禁用goto,但goto还是保留的关键字;Java中没有操作符重载;Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能;.,1.1.3 Java与C+的区别,Java 开发环境Application举例Applet举例,1.2 Java程序开发过程与示例,Java程序编译执行的过程,1.2.1 Java开发环境,一次编写,各处运行,Java APIs(应用程序接口)经过编译的,可在程序中使用的Java类库。Java VM(虚拟机)Java
5、 程序由Java虚拟机程序执行(或解释执行)。,Java平台架构,JDKJava2 SDK(Software Development Kit)Standard Edition(J2SE)Enterprise Edition(J2EE)Micro Edition(J2ME),JDK介绍,开发工具编译器调试器 文档制作工具运行环境 Java虚拟机组成Java平台API的类。帮助文档附加库 Java程序(Applets 和 Applications)的Demo,JDKJ2SE核心组成部分,J2SE版本中包含的开发工具有:Javac:编译器,用来将java程序编译成 BytecodeJava:解释器,
6、执行BytecodeJdb:调试器,用来调试java程序Javap:反编译,将Bytecode文件还原回方法和变量Javadoc:文档生成器,创建HTML文件Appletviwer:Applet解释器,用来解释已经转换成Bytecode的Java Applet程序,JDK开发工具,下载地址http:/安装运行可执行文件,如“jdk-6u7-windows-i586-p.exe”文档可同时下载帮助文档,JDK安装,安装JDK后产生如下目录:bin目录:Java开发工具,包括Java编译器、解释器等demo目录:一些实例程序lib目录:Java开发类库jre目录:Java运行环境,包括Java虚拟
7、机、运行类库等,IDEIntegration Develop EnvironmentEclipseNetBeansJCreatorBorland JBuilderMicrosoft Visual J+Visual Age for JavaSun ONE Studio,常用的Java集成开发环境,Application运行在客户端Java虚拟机上的Java程序可在客户端机器中读写可使用自己的主窗口、标题栏和菜单程序可大可小能够以命令行方式运行主类必须有一个主方法main(),作为程序运行的入口。,1.2.2 Application举例,public class MyClass private i
8、nt val1,val2;public void myFun(int x,int y)val1=x;val2=y;System.out.println(The sum is:+(val1+val2);public static void main(String arg)MyClass MyObj=new MyClass();MyObj.myFun(1,2);,例1.1,使用如下命令编译并运行程序:javacMyClass.javajava MyClass运行结果如下:The sum is:3,例1-1 运行结果,1.2.3 Applet举例,Applet小应用程序运行于支持Java的Web浏览
9、器中浏览器的解释器把字节码转换成和机器匹配的指令,在网页中执行小程序。Applet和Application的差别:运行环境的不同,Applet总是放在Web浏览器中。,Applet的优点不需要安装,借助浏览器可直接运行Applet的局限性在客户端主机的文件系统中读/写受限不能运行客户端主机的任何程序仅能在服务器和客户端之间建立联系,例1-2,JAVA Applet文件名:MyApplet.javaimport java.awt.Graphics;import java.applet.Applet;public class MyApplet extends Appletpublic String
10、 s;public void init()s=new String(Hello World!);public void paint(Graphics g)g.drawString(s,25,25);HTML文件名:Applet1.html,一个Applet不再需要main方法,但是必须有且只有一个类扩展了Applet类(即子类),而且必须是public的,这个类称为主类。Import用来引入Java包中的一个或者所有类import java.applet.Applet:引入包“java.applet”中的“Applet”类import java.applet.*:引入包“java.applet
11、”中的所有类如果不使用Import语句,则主类必须使用“包名+类名”的完整路径。例如:public class MyApplet extends java.applet.Applet,例1-2MyApplet.java文件说明,Graphics类java.awt包中的类,用来绘制直线、矩形、字符串等图形方法init()Applet类中的基本方法,可以在其中编写初始化代码方法paint()g为Graphics类的对象,调用了Graphics的drawString方法绘制字符串;g.drawString(s,25,25);执行的结果就是从坐标(25,25)开始绘制出字符串“Hello World!
12、”,单位是像素。,例1-2Applet1.html文件说明,使用HTML(超文本标记语言)编写的网页 表示要运行Appletcode=主类对应的class文件Width、Height表示规定程序运行界面大小Code、Width、Height是必需的,如果.class文件与HTML文件不在同一个目录,可以用codebase指定所在目录,例如:Applet1.html在c:MyApplet.class在c:codeaa目录则codebase=“code/aa”,使用javac编译“MyApplet.java”用支持Java的浏览器(如:IE)打开Applet1.html,例1-2运行,或者用Jav
13、a自带的appletviewer浏览输入:appletviewer Applet1.html,1.2.4 什么是JSP,JSP是Java Server Pages的缩写,Java动态页面利用JSP可以建立安全、跨平台的先进动态网站Microsoft对应的技术是ASP(Active Server Pages),JSP和ASP技术非常相似,与ASP相比,JSP以Java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离,能够脱离硬件平台的束缚,以及编译后运行等优点,完全克服了ASP的脚本级执行的缺点。,标识符和关键字Java的基本数据类型类型转换,1.3 标识符、关键字和数据类型,1.3
14、.1 标识符和关键字,标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。关键字在Java语言中已经被赋予特定意义的一些单词。不可以把这类词作为名字来用。具体见P11(存在错误:find应为final),Java标识符的规则,由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符。即:标识符的第一个字符必须是下列字符之一:大写字母(A-Z)小写字母(a-z)下划线(_)美元符号($)标识符的第二个字符及后继字符必须是:上述列表中的任意字符 数字字符(0-9),Java基本命名规则,包的命名所有字母小写;“域名命名法”为了保
15、障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名是不会重复的,所以程序员一般采用互联网上的域名称作为程序包的唯一前缀,例如:net.frontfree.javagroup。,类的命名对于其中的每个单词首字母大写,其他字母小写例如:Circle、TestPage;如果类名称中包含单词缩写,则这个缩写单词的每个字母均应大写,如:XMLExample。方法的命名 第一个单词全部小写,而后面的单词首字母大写,例如:run、sendMessge。,常量的命名所有字母大写,如果一个常量名称由多个单词组成,则使用下划线分割这些单词
16、,例如:MAX_VALUE。参数、类成员变量、局部变量命名规则与方法命名规则一致,例如:class Student String className;private void getName(String studentNumber)int sqlString;,基本数据类型也称作简单数据类型。Java语言有8种简单数据类型,分别是:boolean、byte、short、int、long、float、double、char。这8种数据类型习惯上可分为4大类型:逻辑类型:boolean字符类型:char整数类型:byte、short、int、long浮点类型:float、double,1.3.2
17、 基本数据类型,1、逻辑类型(布尔类型)常量:true、false变量:使用关键字boolean定义,定义时也可以赋给初值,如:boolean x;boolean tom_12;boolean x,tom,jiafei;boolean x=true,tom=false,jiafei;,注意:Java中的布尔型是一个独立的类型,不像C语言中的布尔型代表0和1两个整数,因此,Java中的布尔类型不能转换成数字。Java为布尔型分配4个字节长度。,2、整数类型使用关键字int来定义int型整型变量,定义时也可以赋给初值,如:int x=12,tom=-1230,height=9898,number;
18、有byte、short、int、long四种整数类型,1)int型内存分配给4个字节取值范围:-231231-12)byte型内存分配给1个字节取值范围:-2727-1,3)short型内存分配给2个字节取值范围:-215215-14)long型内存分配给8个字节取值范围:-263263-1,3、字符类型常量:Java使用Unicode字符集,Uincode表中的字符就是一个字符常量,字符常量需使用单引号扩起,例如:A、b、?、!、9、好、t、Unicode:称为统一码或万国码,覆盖了世界上大部分文字,最多可识别65536个字符。,变量:使用关键字char来定义字符变量,如:char x=A,
19、tom=爽,jiafei;对于char型变量,内存分配给2个字节。内存中实际保存的是字符的Unicode码,因此可用整数给char赋值,如:char x=97;,例1-3 字符类型,public class Example2_1 public static void main(String args)char chinaWord=你,japanWord=;int p1=36328,p2=38358;System.out.println(汉字你在unicode表中的顺序位置:+(int)chinaWord);System.out.println(日语在unicode表中的顺序位置:+(int)j
20、apanWord);System.out.println(unicode表中第+p1+位置上的字符是:+(char)p1);System.out.println(unicode表中第+p2+位置上的字符是:+(char)p2);,例1-3 运行结果,附:Java转义字符表,4、浮点类型:分为float和double两种类型float型:单精度浮点数常量:123.5439f,123.0f,2e40f(2乘10的40次方,科学计数法)变量:使用关键字float定义,如:float x=12.76f,tom=1234.987f;内存分配给4个字节取值范围:10-381038、-1038-10-38,
21、double型:双精度浮点数常量:12389.5439d(d可以省略),123.0,6e-140(6乘10的-140次方,科学计数法)变量:使用关键字double定义,如:double x=12.76,tom=1234098.987;内存分配给8个字节取值范围:10-30810308、-10308-10-308,把一种基本数据类型变量的值赋给另一种基本类型变量时,就涉及到数据类型转换。基本类型数据的下列类型会涉及到数据转换,不包括逻辑类型和字符类型。我们将这些类型按精度从“底”到“高”排列了顺序:byte short int long float double,1.3.3 类型转换,级别低的变
22、量的值赋给级别高的变量时,系统自动完成数据类型的转换(隐式转换),例如:1)float x=100;如果输出x的值,结果将是100.02)int x=50;float y;y=x;如果输出y的值,结果将是50.0,级别高的变量的值赋给级别底变量时,必须使用显示类型转换。显示转换的格式:(类型名)要转换的值例如:int x=(int)23.89;long y=(long)34.98F;输出x,y的值将是23和34强制转换运算可能导致精度的损失,当把一个整数赋值给一个byte、short、int或long型变量时,不可以超出这些变量的取值范围,否则会导致溢出。例如:byte a=(byte)128
23、;byte b=(byte)(-129);那么a和b得到的值分别是-128和127。,例1-4 类型转换,public class Example2_2 public static void main(String args)int c=2200;long d=8000;float f;double g=123456789.123456789;c=(int)d;f=(float)g;/导致精度的损失.System.out.print(c=+c);System.out.println(d=+d);System.out.println(f=+f);System.out.println(g=+g);
24、,附:JAVA常量与变量补充知识,JAVA中变量默认值:整 型:0浮点型:0.0布尔型:false字符型:u0000对 象:null,附:JAVA常量与变量补充知识,JAVA中数值常量默认类型:整型常量:int浮点常量:double变量名只是表示内存中的某处地址,方便程序员编程使用的,变量名本身在内存中是不保存的。(编译时会建立字符表,记录变量名代表的地址,编译后就不复存在了),数组由同一类型的一连串对象或基本数据组成,并封装在同一数组名称下,元素类型可以是Java中任一类型数组是对象可动态初始化可以赋值给Object类型的变量在数组中可以调用类Object 的所有方法,1.4 数组,数组元素
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言基础知识 2 Java 语言 基础知识
链接地址:https://www.31ppt.com/p-6510177.html