java课件第三章ch.ppt
《java课件第三章ch.ppt》由会员分享,可在线阅读,更多相关《java课件第三章ch.ppt(139页珍藏版)》请在三一办公上搜索。
1、第3章 Java语言基础,3.1 Java语言的基本语法3.2 控制语句3.3 数组3.4 字符串,本章主要介绍编写Java程序必须了解的若干语言基础知识,包括数据类型、变量、常量、表达式和流程控制语句等。掌握这些基础知识,是书写正确的Java程序的前提条件。,3.1 Java语言的基本语法,Java语言使用国际字符格式标准(Unicode)。Unicode字符集采用16位编码,其前256个字符与ASCII字符集完全一致。除了ASCII字符之外,Unicode字符集还提供了其它语言文字,如汉字、希腊文、韩文等。,3.1 Java语言的基本语法3.1.1 标识符,Java标识符(identifi
2、er)是以字母开头的字母数字序列。标识符是用户定义的单词,用于标识变量、常量、类、方法、对象、文件等。其命名规则如下:“字母”、“数字”具有宽泛含义。字母通常指大小写英文字母、下划线(_)、美 元符($)等,也可以是Unicode字符集中的字符,如汉字等。数字通常指09。标识符可以是字母、数字等字符的任意组合,除此之外,不能包含其它字符(如+、-以及空格等)。标识符区分字母大小写,或者说大小写敏感。标识符不能使用Java中的关键字。标识符长度不受限制。,3.1.1 标识符,错误的标识符:int 2x;double my salary;String x+y;String test1-2-3;St
3、ring class;String Java 在Java规范中,Java约定:关键字、变量名、对象名、方法名、包名通常使用小写;如果由多个单词构成标识符,则首字母小写,其后单词首字母大写,如toString;类名首字母大写,如FirstJava;常量名全部字母均大写,如BOOK。,关键字,关键字是Java语言保留的具有特定含义的英文单词。每一个关键字都有一种特定含义,不能被赋予别的含义,也不能把关键字作为标识符来使用。Java中关键字以及其含义如教材表3-1所示。,分隔符,圆括号、大括号、中括号、空格、逗号、分号等称为分隔符,Java规定任意两个相邻标识符、数、关键字或两个语句之间必须至少有一
4、个分隔符,以便编译程序能识别。,分隔符,常用的分隔符如下:圆括号“()”:在方法声明和调用时候可以包括一组参数;在控制语句或者强制类型转换中用于数据的执行和数据类型的转换。大括号“”:在类、方法体、语句块以及初始化数组中的值声明时使用。中括号“”:在声明数组以及在访问数组元素中使用。空格“”:在源代码中用空格符改善源代码的书写形式,可以分割相邻的两个语法符号,使程序易读,空格符号可以是空格、Tab制表符、回车符和换行符等。逗号“,”:多个变量声明,方法中的参数之间可以使用。分号“;”:在语句结束以及for控制语句中可以使用。句号“.”:在调用方法、变量时可以使用。,【例3-1】分隔符的使用(S
5、eparator.java)/*功能简介:本程序演示分隔符的使用。首先声明一个数组,然后通过for语句把数组的值取出并相加,最后输出计算结果。*/public class Separatorpublic static void main(String args)/声明整型变量i和sum,sum并初始化int i,sum=0;int a=1,2,3,4,5;/声明整型数组/控制语句和数组遍历for(i=0;ia.length;i+)/遍历数组并计算结果sum+=ai;/for结束System.out.println(sum);/main()方法结束/类Separator结束,3.2.4 数据类型
6、,Java语言中的数据类型分为两大类:基本数据类型和引用数据类型。,1.布尔类型 只有两个取值true(真)和false(假),全是小写,计算机内部用8位来表示。Java语言不允许数值类型和布尔类型之间进行转换。而在C/C+中,允许用数值表示,如用0表示false,非零表示true。Java语言中不允许这样做。2.整数类型 Java语言根据数据在内存中占用的位数不同提供了4种整数类型,分别是:byte,short,int,long,它们的位数递增,表示的数的范围也越来越大。如表3-2所示。,表3-2 Java整数类型,整型常量有3种表示形式:十进制整数、八进制整数、十六进制整数。所有Java编
7、程语言中的整数类型都是带符号的数字,不存在无符号整数。当一个整数为长整型时,需在该数的后面加L,3.浮点类型 浮点类型是包含有小数部分的数值。Java中的浮点类型按其取值范围之不同,可分为float(浮点类型)和double(双精度型)两种,如表3-3所示。表3-3Java浮点类型,Java用浮点类型表示数学中的实数,一个浮点数值包括整数部分和小数部分。浮点数有两种表示方式:标准记数法由整数部分、小数点和小数部分构成,如1.0,123.45等。科学记数法一由十进制整数、小数点、小数和指数部分构成,指数部分由字母E或e跟上带正负号的整数表示 在浮点型常量后加上f或F,表示单精度。如:,2.6f,
8、2.6F。在浮点型常量后不加任何字符或者加d或D表示双精度,如:2.11,2.3e3,2.3e3d,2.3e3D,2.6,2.6d,2.6D。,4.字符类型 字符类型(char)数据是由一对单引号()括起来的单个字符,该字符是16位的Unicode码。用单引号括起来称为字符常量,字符常量有两种表示法:一种是用单引号将可见ASCII字符括起来,如A、a、V等;另一种是用Unicode值表示。,Java的字符类型采用一种新的国际标准统一字符编码标准字符集Unicode编码。统一字符编码标准是一种十六位的字符编码标准,而ASCII则是七位编码,只适用于英文。另有西欧国家所用的ISO Latin-1八
9、位编码。使用Unicode的好处就是用一个字符集就可解决所有现今世界上的可书写语言。Unicode共有65536个编码,其中有近39000种已被定义完成,而中国字就占了21000种!虽然Java程序是用Unicode写成的,但是亦支持ASCII及ISO Latin-1的格式。因其一般是将十六位的Unicode藉UTF-8编码方式,转成八位字节流(stream)后写入文件。故与ASCII,ISO Latin-1的编码方式互通。事实上,大多数的Java程序是用ASCII写成的,因为只有较少数的文本编辑器支持Unicode。,转义符是一些有特殊含义,很难用一般方式表达的字符,如:回车、换行等。为了表
10、达清楚这些特殊的字符,同C语言一样,在JAVA中,所有的转义符都用反斜线()开头,后面跟着一个字符来表示某个特定的转义符,Java中的转义字符如表3-4所示。表3-4 转义字符,【例3-2】转义字符的使用(转义字符.java)/转义字符.java/*开发者:*功能简介:表3-4中转义字符的使用。*/public class 转义字符public static void main(String args)(中国n欢迎n你!t);,5.类型转换 Java程序中的类型转换可分为显式类型转换和隐式类型转换两种形式。(1)隐式类型转换 对于由二元运算中的算术运算符组成的表达式,一般要求运算符两边的两个操
11、作数的类型一致,如果两者的类型不一致,则系统会自动转换为较高(即占用内存较多,取值范围较大)的类型,这便是隐式数据类型转换。,(2)显式类型转换 隐式类型转换只能由较低类型向较高类型转换,但是在实际工作中,有时也可能需要由较高类型向较低类型转换。例如,在计算数值时为了保证其精度,为某些变量取了较高的数据类型(如double型),但在输出时,往往只需要保留两、三位小数或者只输出整数,这时只能进行显式类型转换。显式类型转换需要人为地在表达式前面指明所需要转换的类型,系统将按这一要求把某种类型强制性地转换为指定的类型。格式如下:(),表3-5基本数据类型的转换,【例3-3】类型转换的使用(类型转换.
12、java)/类型转换.javapublic class 类型转换public static void main(String args)int x=100;/隐式转换long y=x;(类型转换:整型+x+转换为长整型+y);double d=1212;/显示类型转换,强制类型转换int a=(int)d;(类型转换:double类型+d+转换为int类型+a);,注意:除了上面的基本数据类型以外,Java中还存在一种引用数据类型,包括类和接口等。如对应基本数据类型int,char,double的类Integer,Character,Double等等,这些类包含了一些特定的方法可以实现对数值的
13、专门操作,如把字符串转换成双精度型数值等。,Java的安全和健壮性很大程度上来自于它是一种强类型语言。究其原因:首先,每个变量有类型,每个表达式有类型,而且每种类型都是严格定义的;其次,所有的数值传递,不管是直接的还是通过方法调用经由参数传过去的,都要先进行类型相容性的检查,而有些语言就没有自动强迫进行数据类型相容性的检查或对冲突的类型进行转换的机制。Java编译器对所有的表达式和参数都要进行类型相容性的检查,以保证类型是兼容的。任何类型的不匹配都将被报告为错误而不是警告。在编译器完成编译以前,错误必须被改正过来。,3.1.5 常量和变量,1.常量常量是在程序执行中其值不能被改变的量。(1)直
14、接常量和符号常量 常量有两种形式:直接常量和符号常量。直接常量是指在程序中直接引用的常量,包括数值型常量和非数值型常量。其中,数值型常量称为常数,包括整数和浮点数,如10,-10.16等。非数值型常量有字符常量、字符串常量和布尔常量,如X,abc,true等。符号常量是以标识符形式出现的常量,符号常量必须先声明后使用。声明符号常量可以提高程序的可读性,使程序易于修改。,3.1.5 常量和变量,(2)常量声明 常量声明的形式与变量声明基本一样,还需要使用关键字final。格式如下:修饰符 final 数据类型 常量标识符=常量值;修饰符:用于表示该常量的权限,如public、private等。f
15、inal:用于表示该符号常量的值是不能更改的。数据类型:可以是基本数据类型。例:public final int MAX=10;final float PI=3.14f;,3.1.5 常量和变量,Java语言约定常量标识符全部用大写字母表示。标识符一旦被声明为常量,就不能再做它用。声明常量的好处有两点:一是增加可读性,从常量名可知常量的含义;二是增强可维护性,只要在常量声明处修改常量值,即可改变程序中多处使用的常量值。,3.1.5 常量和变量,变量是在程序的运行过程中数值可变的数据,通常用来记录运算中间结果或保存数据。JAVA中的变量必须先声明后使用。Java中的变量在声明时最好进行初始化操作
16、,否则在后面程序中访问没有初始化的变量会造成编译错误。JAVA的变量有一定的生存期和有效范围,同C语言一样,JAVA用大括号将若干语句组成语句块,变量的有效范围就是声明它的语句所在的语句块,一旦程序的执行离开了这个语句块,变量就变得没有意义,不能再使用了。,3.1.5 常量和变量,变量声明的格式如下:修饰符 类型 变量标识符=初始化表达式;见例3-4,注意各种基本的数据类型的声明方法;后面语句实现了将各种数据类型的数据转化为字符串形式,并输出,注意它是如何实现转化的。,public class VariableDeclarationpublic static void main(String
17、args)boolean b=true;byte b1=1;short s=2;int i=3;long l=4;float f=1.11f;double d=2.222d;char c=x;String s1=我爱学习Java课程!;System.out.println(b=+b);System.out.println(b1=+b1);System.out.println(s=+s);System.out.println(i=+i);System.out.println(l=+l);System.out.println(f=+f);System.out.println(d=+d);Syste
18、m.out.println(c=+c);System.out.println(s1=+s1);,3.1.6 运算符与表达式,程序中对数据的操作,实际上是指对数据的运算。表示运算类型的符号称为运算符,参与运算的数据称为操作数。运算符把操作数按Java语法规则连接起来组成表达式。运算符和表达式构成了程序中完成各种运算任务的语句,是程序设计的基础。,3.1.6 运算符与表达式,1.运算符 Java提供了多种运算符。按参与运算的操作数的数目可分为一元运算符、二元运算符和三元运算符。按照运算符的功能可分为算术运算符、关系运算符、布尔逻辑运算符、位运算符以及赋值、条件、实例等其它运算符。,3.1.6 运算
19、符与表达式,(1)算术运算符 算术运算符包括+、-、*、/、+、-和%,使用整型、字符型或浮点型操作数。对于除法运算(/),若操作数均为整数,结果也为整数;若有浮点数参与运算,结果为浮点数。例如:3/6的结果为0,3.0/6的结果为0.5。取模运算(%)可用于整型或浮点型操作数,运算结果的符号与第一个操作数的符号相同。例如:10%-3的结果为1,-10%3的结果为-1。,3.1.6 运算符与表达式,自增运算符(+)和自减运算符(-)是一元运算符,分别用于实现将变量的值增1和减1,要求操作数必须是整型或字符型变量。自增、自减运算符的前置运算是先实施自增、自减运算,再使用自增、自减后的操作数的值;
20、后置运算是先使用操作数的值,再对操作数实施自增、自减运算。如:int x=2;int y=(+x)*3;int x=2;int y=(x+)*3;算术运算符的优先级顺序为:+、-最高,然后是*、/、%,最后是+、-。同级运算按从左到右的顺序进行。,3.1.6 运算符与表达式,Java对加运算进行了扩展,使它能够进行字符串的连接,如“abc”+“de”,可得到字符串“abcde”。(=+100+200+=);(=+(100+200)+=);(=+100+200);System.out.println(100+200+=);结果为:=100200=300=100200300=,3.1.6 运算符与
21、表达式,(2)关系运算符 关系运算符包括、=、=、!=,用于比较两个值,返回布尔类型的值true或false。关系运算符都是二元运算符,常与逻辑运算符一起表示流程控制语句的判断条件。一般建议不要直接比较两个浮点数是否相等,因为float和double类型不能精确表示浮点数。关系运算符的优先级低于算术运算符。,3.1.6 运算符与表达式,(3)布尔逻辑运算符 布尔逻辑运算符包括&、|、!、&和|,用于对布尔类型数据进行与、或、非、异或等运算,运算结果是布尔类型数据。其中!(逻辑非)是一元运算符,(异或)及其它运算符都是二元运算符。,3.1.6 运算符与表达式,其中,,逻辑运算符,3.1.6 运算
22、符与表达式,(4)位运算符 位运算符包括&、|、和,用于对二进制位进行操作,操作数只能是整型数据或字符型数据。除(取反)是一元运算符外,其余位运算符均为二元运算符。,3.1.6 运算符与表达式,表3-7 位运算真值表,3.1.6 运算符与表达式,(带符号右移位)运算可以将一个二进制数的各位右移若干位,低位移出丢弃,高位补符号位,即正数的高位补0,负数的高位补1。(不带符号右移位)运算也可以将一个二进制数的各位右移若干位,低位移出丢弃,但高位补0。执行位运算时要特别注意的是,整型、字符型操作数在计算机内部是以补码形式表示的。,3.1.6 运算符与表达式,例如,用一个字节存储整数时:5/运算结果为
23、-6,实际上是00000101,结果为1111101056/运算结果为3,实际上是0000010100000110,结果为00000011-32/运算结果为-1,实际上是11111101右移2位,高位补符号位,结果为11111111-34/运算结果为15,实际上是11111101右移4位,高位补0,结果为00001111 Java规定,逻辑右移运算符()的操作数只能是int和long型。,1,1,-65,原码,反码,补码,1.正数的反码、补码和原码同形;负数的反码:为其原码符号位不变,其它按位求反;负数的补码:先对原码求其反码,再在末位加1。,为了简化运算操作和运算器的设计,计算机中用到了反码
24、和补码编码形式。利用“补码”可以实现加减法之间的相互转换。,原码 反码 补码,反码,补码,3.1.6 运算符与表达式,(5)赋值运算符 赋值运算符包括=和复合赋值运算符,如算术复合赋值运算符+=、-=、*=、/=、%=,位复合赋值运算符=、=、变量i既是参与+运算的操作数之一,也是存储运算结果的变量。,3.1.6 运算符与表达式,(6)条件运算符 条件运算符(?:)是三元运算符。例如:x?y:z其计算过程是:先计算x的值;若x的值为true,则该条件运算的结果为y的值,否则该条件运算的结果为z的值。要求y与z的值具有相同的数据类型。,3.1.6 运算符与表达式,(7)实例运算符 实例运算符(i
25、nstanceof)用于判断一个指定对象是否是一个指定类(或它的子类)的实例。例如:obj instanceof myclass 其中obj是一个对象,myclass是一个类,若obj是myclass创建的对象,则运算结果是true,否则是false。,3.1.6 运算符与表达式,括号与方括号:括号的优先级在所有的运算符中是最高的,方括号是数组运算符运算符:用于访问对象实例或者类的属性和方法new运算符:用于创建一个新的对象或者新的数组。,3.1.6 运算符与表达式,2.表达式 表达式是语句中最常见的组成元素之一。本质上,表达式描述运算规则并按规则执行运算,运算得到的结果值称为表达式的值,该值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课件 第三 ch
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5436228.html