2Java语言基础new.ppt

上传人:sccc 文档编号:5347495 上传时间:2023-06-28 格式:PPT 页数:69 大小:741.01KB
返回 下载 相关 举报
2Java语言基础new.ppt_第1页
第1页 / 共69页
2Java语言基础new.ppt_第2页
第2页 / 共69页
2Java语言基础new.ppt_第3页
第3页 / 共69页
2Java语言基础new.ppt_第4页
第4页 / 共69页
2Java语言基础new.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《2Java语言基础new.ppt》由会员分享,可在线阅读,更多相关《2Java语言基础new.ppt(69页珍藏版)》请在三一办公上搜索。

1、2 Java语言基础,2 Java语言基础,2 Java语言基础,本章要点,Java语言基础 Java注释语句 Java分支程序设计 Java循环程序设计 Java数组 Java字符串,2 Java语言基础,2.1 标识符和关键字,Java语言中的类名、对象名、方法名、常量名和变量名统称为标识符。标识符由程序员定义,可以由字母、数字、下划线(_)和($)符号组成,但是标识符的第一个字符不允许为数字,只允许为字母、下划线(_)或($)符号。在Java语言中还定义了一些专有词汇,统称为关键字,例如public、class、int等,它们都具有一种特定的含义,只能用于特定的位置,不能作为标识符使用。

2、,2 Java语言基础,Java关键字,在定义标识符时,不允许定义为表中列出的任一关键字,2 Java语言基础,Java标识符命名规则,Java标识符的具体命名规则如下:一个标识符可以由几个单词连接而成,以表明它的意思。对于类名,每个单词的首字母都要大写,其他字母则小写,例如RecordInfo。对于方法名和变量名,除了第一个单词的首字母小写外,其他单词的首字母都要大写,例如getRecordName()。,2 Java语言基础,Java标识符命名规则,对于常量名,每个单词的每个字母都要大写,如果由多个单词组成,通常情况下单词之间用下划线(_)分隔,例如MAX_VALUE。对于包名,每个单词的

3、每个字母都要小写,例如com.frame。注意:Java语言是区分字母大小写的,即Java不等于java,2 Java语言基础,2.1.1 常量的概念及使用要点,所谓常量,就是值永远不允许被改变的量。如果要声明一个常量,就必须用关键字final修饰,声明常量的具体方式如下:final 常量类型 常量标识符;例如:final int YOUTH_AGE;/声明一个int型常量final float PIE;/声明一个float型常量注意:按照Java命名规则,常量标识符所有的字符都要大写,各个单词之间用下划线 _ 分隔,2 Java语言基础,常量,在声明常量时,通常情况下立即为其赋值,即立即对常

4、量进行初始化,声明并初始化常量的具体方式如下:final 常量类型 常量标识符=常量值;例如:final int YOUTH_AGE=18;/声明int型常量,初始化为18final float PIE=3.14F;/声明float型常量,初始化为3.14说明:为float型常量赋值时,需要在数值的后面加上一个字母“F”或“f”。,2 Java语言基础,常量,声明多个同一类型的常量,可以采用下面的形式:final 常量类型 常量1=常量值1,常量2=常量值2,;例如:final int NUM1=14,NUM2=25,NUM3=36;注意:如果在声明常量时已经对其进行了初始化,则常量的值不允许

5、再被修改,2 Java语言基础,2.1.2 变量的概念及使用要点,所谓变量,就是值可以被改变的量。声明变量的具体方式如下:变量类型 变量标识符;例如:注意:定义变量名时,按照Java的命名规则,第一个单词的首字母小写,其他单词的首字母大写,例如“partyMemberAge”。,String name;/声明String型变量int partyMemberAge;/声明int型变量,2 Java语言基础,变量,在声明变量时,可以立即为其赋值,即立即对变量进行初始化,具体语法如下:变量类型 变量标识符=变量值;例如:,int partyMemberAge=26;/声明一个int型变量float

6、money=3150;/声明float类型变量,2 Java语言基础,同类型变量,如果需要声明多个同一类型的变量,也可以采用下面的形式:变量类型 变量1,变量2,变量3;变量类型 变量4=变量值4,变量5=变量值5,变量6=变量值6;例如:说明:变量区别于常量,它的值允许被改变。,int A,B,C;/声明3个int型变量int D=4,E=5,F=6;/声明并分别初始化3个int型变量,2 Java语言基础,2.2 数据类型,Java语言中的数据类型划分为两大类,分别是基本数据类型和引用数据类型。其中基本数据类型由Java语言定义,不可以再进行划分。基本数据类型的数据占用内存的大小固定,在内

7、存中存入的是数值本身引用数据类型在内存中存入的是引用数据的存放地址,并不是数据本身。Java语言中的数据类型分类情况如下图所示:,2 Java语言基础,数据类型,2 Java语言基础,2.2.1 基本数据类型,基本数据类型分为:整数型浮点数型字符型逻辑型(布尔型)它们分别用来存储整数、小数、字符和布尔值。,2 Java语言基础,整数型,声明为整数型的常量或变量用来存储整数,整数型包括:字节型(byte)短整型(short)整型(int)长整型(long)这4个数据类型的区别是它们在内存中所占用的字节数不同,因此,它们所能够存储的整数的取值范围也不同。,2 Java语言基础,整数占用内存大小以及

8、取值范围,2 Java语言基础,长整型数值,在为long型常量或变量赋值时,需要在所赋值的后面加上一个字母“L”(或“l”),说明所赋的值为long型。如果所赋的值未超出int型的取值范围,也可以省略字母“L”(或“l”)。例如下面的代码均是正确的。,long la=9876543234L;/超出了int取值范围,必须加“L”long lb=98765432L;/未超出int取值范围,也可以加“L”long lc=98765432;/未超出int取值范围,可以省略“L”,2 Java语言基础,浮点数,声明为浮点数型的常量或变量用来存储小数,浮点数包括单精度型(float)和双精度(double

9、)两个基本数据类型,这两个数据类型的区别是它们在内存中所占用的字节数不同,因此,它们所能够存储的整数的取值范围和精度也不同,2 Java语言基础,float型数值,在为float型常量或变量赋值时,需要在所赋值的后面加上一个字母“F”(或“f”),说明所赋的值为float型。如果所赋的值为整数,并且未超出int型的取值范围,也可以省略字母“F”(或“f”)。例如下面的代码均是正确的。,float fa=9412.75F;/赋值为小数,必须“F”float fb=9876543210F;/赋值超出int取值范围,必须“F”float fc=9412F;/未超出int取值范围,可以“F”float

10、 fd=9412;/也可以省略“F”,2 Java语言基础,double型数值,在为double型常量或变量赋值时,需要在所赋值的后面加上一个字母“D”(或“d”),说明所赋的值为double型。如果所赋的值为小数,或者所赋的值为整数,并且未超出int型的取值范围,也可以省略字母“D”(或“d”)。例如下面的代码均是正确的。,double da=9412.75D;/所赋值为小数,可以加上“D”double db=9412.75;/所赋值为小数,也可以省略“D”double dc=9412D;/未超出int取值范围,可以加上“D”double dd=9412;/未超出int取值范围,可以省略“D

11、”double de=9876543210D;/超出int取值范围,必须加上“D,2 Java语言基础,字符型,声明为字符型的常量或变量用来存储单个字符,它占用内存的2个字节来存储,字符型利用关键字“char”进行声明。Java中的字符以二进制的形式存储到计算机中,采用无符号编码,一共可存储65536个字符,计算机可通过数据类型判断要输出的是一个字符还是一个整数。,2 Java语言基础,字符型数值,在为char型常量或变量赋值时,无论值是一个英文字母,或者是一个符号,还是一个汉字,必须将所赋的值放在英文状态下的一对单引号中。例如下面的代码分别将字母“M”、符号“*”和汉字“男”赋值给char型

12、变量ca、cb和cc。,char ca=M;/将大写字母“M”赋值给char型变量char cb=*;/将符号“*”赋值给char型变量char cc=男;/将汉字“男”赋值给char型变量,2 Java语言基础,逻辑型,声明为逻辑型的常量或变量用来存储逻辑值,逻辑值只有true和false,分别用来代表逻辑判断中的“真”和“假”,逻辑型利用关键字“boolean”进行声明。例如下面的代码分别将true和false赋值给变量ba和bb。,boolean ba=true;/将true赋值给变量baboolean bb=false;/将false赋值给变量bb,2 Java语言基础,逻辑型,也可以

13、将逻辑表达式赋值给boolean型变量,例如下面的代码分别将逻辑表达式“6 8”赋值给boolean型变量ba和bb。,boolean ba=6 8;/将表达式“6 8”赋值给变量bb,2 Java语言基础,2.2.2 引用数据类型,引用数据类型包括类引用、接口引用以及数组引用。下面的代码分别声明一个java.lang.Object类的引用、java.util.List接口的引用和一个int型数组的引用。说明:将引用数据类型的常量或变量初始化为null时,表示引用数据类型的常量或变量不引用任何对象。,Object object=null;/声明一个Object类的引用变量List list=n

14、ull;/声明一个List接口的引用变量int months=null;/声明一个int型数组的引用变量,2 Java语言基础,基本类型与引用类型举例,【例2.2】基本数据类型与引用数据类型例如:创建一个档案类Record在该类中利用引用类型变量name存储姓名利用char型变量sex存储性别利用int型变量age存储年龄利用boolean型变量married存储婚姻状况提供一些操作这些变量的方法创建档案类Record的引用变量,2 Java语言基础,Java虚拟机的处理方式,对于基本数据类型的变量,Java虚拟机会根据变量的实际类型为其分配内存空间。例如为int型变量分配4个字节的内存空间。

15、而引用类型的变量,Java虚拟机在内存空间中存放的并不是变量所引用的对象,而是对象在堆内存中存放的地址,所以引用变量最终只是指向被引用的对象,而不是存储引用对象的数据,因此两个引用变量之间的赋值,就是将一个引用变量存储的地址复制给另一个引用变量,从而使两个变量指向同一个对象。,2 Java语言基础,例如创建一个图书类Book:声明两个Book类的实例,分别通过变量book1和book2进行引用,对book1进行具体的初始化,而将book2初始化为null,具体代码如下。,public class Book String isbn=“978-7-115-16451-3”;String name=

16、“应用开发完全手册”;String author=“科技”;float price=59.00F;,Book book1=new Book();Book book2=null;,2 Java语言基础,Java虚拟机为引用变量book1、book2及book1所引用对象的成员变量分配的内存空间如下图所示。从图中可以看出,变量book1引用了Book类的实例,book2没有引用任何实例。,2 Java语言基础,下面对变量book2进行具体的初始化,将book1引用实例的地址复制给book2变量,即book2与book1引用同一个Book类的实例,具体代码如下:book2=book1;此时Java虚

17、拟机的内存空间分配情况如下图所示。,2 Java语言基础,2.2.3 数据类型之间的相互转换,所谓数据类型之间的相互转换,就是将变量从当前的数据类型转换为其他数据类型。在Java中数据类型之间的相互转换可以分为以下3种情况:基本数据类型之间的相互转换;字符串与其他数据类型之间的相互转换;,2 Java语言基础,2.2.4 数据类型之间的相互转换,在对多个基本数据类型的数据进行混合运算时,如果这几个数据并不属于同一基本数据类型,需要先将它们转换为统一的数据类型,然后才能进行运算。基本数据类型之间的相互转换又分为两种情况:自动类型转换强制类型转换。,2 Java语言基础,(1)自动类型转换,当需要

18、从低级类型向高级类型转换时,编程人员无需进行任何操作,Java会自动完成类型转换。低级类型是指取值范围相对较小的数据类型,高级类型则指取值范围相对较大的数据类型,例如long型相对于float型是低级数据类型,但是相对于int型则是高级数据类型。在基本数据类型中,除了boolean类型外均可参与算术运算,这些数据类型从低到高的排序如下图所示。,2 Java语言基础,自动类型转换,在不同数据类型间的算术运算中,自动类型转换可以分为两种情况进行考虑:第一种情况含有int、long、float或double型的数据第二种情况含有byte、short或char型的数据。,2 Java语言基础,自动类型

19、转换第一种情况,如果在算术表达式中含有int、long、float或double型的数据,Java首先会将所有数据类型较低的变量自动转换为表达式中最高的数据类型,然后再进行计算,并且计算结果的数据类型是表达式中级别最高的数据类型。,2 Java语言基础,例如下面这段代码:Java首先会自动将表达式“b*c-i+l”中的变量b、c和i的数据类型转换为long型。然后再进行计算,并且计算结果的数据类型为long型。所以将表达式“b*c-i+l”直接赋值给数据类型相对小于long型(例如int型)的变量是不允许的,但是可以直接赋值给数据类型相对大于long型(例如float型)的变量。,byte b

20、=75;char c=c;int i=794215;long l=9876543210L;long result=b*c-i+l;,2 Java语言基础,再看下面这段代码:Java首先会自动将表达式“b*c-i+d”中的变量b、c和i的数据类型转换为double型,然后再进行计算,并且计算结果的数据类型为double型。所以将表达式“b*c-i+d”直接赋值给数据类型相对小于double型(例如long型)的变量是不允许的。,byte b=75;char c=c;int i=794215;double d=11.17;double result=b*c-i+d;,2 Java语言基础,自动类型

21、转换第二种情况,如果在算术表达式中只含有byte、short或char型的数据,Java首先会将所有变量的类型自动转换为int型,然后再进行计算,并且计算结果的数据类型是int型。,2 Java语言基础,例如下面这段代码:Java首先会自动将表达式“b+s*c”中的变量b、s和c的数据类型转换为int型,然后再进行计算,并且计算结果的数据类型为int型。所以将表达式“b+s*c”直接赋值给数据类型小于int型(例如char型)的变量是不允许的,但是可以直接赋值给数据类型相对大于int型(例如long型)的变量。,byte b=75;short s=9412;char c=c;int resul

22、t=b+s*c;,2 Java语言基础,再看下面这段代码:即使是在这段代码中,Java也会自动将表达式“s1*s2”中的变量s1和s2的数据类型转换为int型,然后再进行计算,并且计算结果的数据类型也为int型。对于数据类型为byte、short、int、long、float和double的变量,可以将数据类型较小的数据或变量,直接赋值给数据类型较大的变量,但是相反的条件则不成立。,short s1=75;short s2=9412;int result=s1*s2;,2 Java语言基础,(2)强制类型转换,如果需要把数据类型较高的数据或变量赋值给数据类型相对较低的变量,就必须进行强制类型转

23、换。例如将Java默认为double型的数据“7.5”,赋值给数据类型为int型变量的方式如下:int i=(int)7.5;这句代码在数据“7.5”的前方添加了代码“(int)”,意思就是将数据“7.5”的类型强制转换为int型。在执行强制类型转换时,可能会导致数据溢出或精度降低。例如上面语句中变量i的值最终为7,导致数据精度降低。,2 Java语言基础,强制类型转换,如果将Java默认为int型的数据“774”赋值给数据类型为byte型变量,方法如下:byte b=(byte)774;最终变量b的值为6,原因是整数774超出了byte型的取值范围,在进行强制类型转换时,整数774的二进制数

24、据的前24位将被舍弃,变量b的数值是后8位的二进制数据,如下图所示。,2 Java语言基础,2.3 运 算 符,Java语言中的运算符主要包括:赋值运算符算术运算符关系运算符逻辑运算符位运算符,2 Java语言基础,2.3.1 赋值运算符,赋值运算符的符号为“=”,它的作用是将数据、变量、对象赋值给相应类型的变量,例如下面的代码:赋值运算符的运算顺序为从右到左。例如在下面的代码中,首先是计算表达式“9412+75”的和,然后将计算结果赋值给变量result:,int i=75;/将数据赋值给变量long l=i;/将变量赋值给变量Object object=new Object();/创建对象

25、,int result=9412+75;,2 Java语言基础,赋值运算符,如果两个变量的值相同,也可以采用下面的方式完成赋值操作:,int x,y;/声明两个int型变量x=y=0;/为两个变量同时赋值,2 Java语言基础,2.3.2 算术运算符,算术运算符支持整数型数据和浮点数型数据的运算,当整数型数据与浮点数型数据之间进行算术运算时,Java会自动完成数据类型的转换,并且计算结果为浮点数型。,2 Java语言基础,2.4.3 关系运算符,关系运算符用于比较大小,运算结果为boolean型,当关系表达式成立时,运算结果为true,否则运算结果为false。,要注意关系运算符“=”和赋值运

26、算符“=”的区别!,2 Java语言基础,2.4.4 逻辑运算符,逻辑运算符用于对boolean型数据进行运算,运算结果仍为boolean型。Java中的逻辑运算符包括:!(取反)(异或)&(与)|(或)&(简洁与)|(简洁或),2 Java语言基础,取反运算符“!”,运算符“!”用于对逻辑值进行取反运算,当逻辑值为true时,经过取反运算后运算结果为false,否则当逻辑值为false时,经过取反运算后运算结果则为true,例如下面的代码:,System.out.println(!true);/输出结果为falseSystem.out.println(!false);/输出结果为true,2

27、 Java语言基础,异或运算符“”,运算符“”用于对逻辑值进行异或运算,当运算符的两侧同时为true或false时,运算结果为false,否则运算结果为true。例如下面的代码:,System.out.println(true true);/输出的运算结果为falseSystem.out.println(true false);/输出的运算结果为trueSystem.out.println(false true);/输出的运算结果为trueSystem.out.println(false false);/输出的运算结果为false,2 Java语言基础,运算符“&”和“&”,运算符“&”和“&

28、”均用于逻辑与运算,当运算符的两侧同时为true时,运算结果为true,否则运算结果均为false。例如下面的代码:,System.out.println(true/输出结果为false,2 Java语言基础,运算符“&”和“&”的区别,运算符“&”为简洁与运算符,运算符“&”为非简洁与运算符,它们的区别如下:运算符“&”只有在其左侧为true时,才运算其右侧的逻辑表达式,否则直接返回运算结果false。运算符“&”无论其左侧为true或false,都要运算其右侧的逻辑表达式,最后才返回运算结果。,2 Java语言基础,运算符“|”和“|”,运算符“|”和“|”均用于逻辑或运算,当运算符的两侧

29、同时为false时,运算结果为false,否则运算结果均为true,例如下面的代码:,System.out.println(true|true);/输出的运算结果为trueSystem.out.println(true|false);/输出的运算结果为trueSystem.out.println(false|true);/输出的运算结果为trueSystem.out.println(false|false);/输出的运算结果为falseSystem.out.println(true|true);/输出的运算结果为trueSystem.out.println(true|false);/输出的运算

30、结果为trueSystem.out.println(false|true);/输出的运算结果为trueSystem.out.println(false|false);/输出的运算结果为false,2 Java语言基础,运算符“|”和“|”的区别,运算符“|”为简洁或运算符,运算符“|”为非简洁或运算符,它们的区别如下:运算符“|”只有在其左侧为false时,才运算其右侧的逻辑表达式,否则直接返回运算结果true。运算符“|”无论其左侧为true或false,都要运算其右侧的逻辑表达式,最后才返回运算结果。,2 Java语言基础,2 Java语言基础,注释语句,单行注释-/多行注释-“/*/”,

31、2 Java语言基础,2.5 字 符 串,在Java语言中,提供了一个专门用来操作字符串的类java.lang.String,在本节将学习该类的使用方法。,2 Java语言基础,2.5.1 创建字符串对象,声明并初始化字符串的常用语法如下:在初始化字符串对象时,可以将字符串对象初始化为空值,也可以初始化为具体的字符串。例如下面的代码:,String 字符串变量=字符串;,String aStr=null;/初始化为空值String bStr=“”;/初始化为空字符串String cStr=“MWQ”;/初始化为“MWQ”,2 Java语言基础,2.5.2 连接字符串,连接字符串可以通过运算符“

32、+”实现,与算术运算中的意义是不同的,这里的“+”符号意思是将多个字符串合并到一起生成一个新的字符串。对于“+”运算符,如果有一个操作元为String类型,则为字符串连接运算符,将生成新的字符串。【例2-5】通过运算符“+”连接字符串。,String love=“耐心”+“真心”;,String aStr=“单价:”+5元;/“单价:5元”String bStr=“15”+15;/“1515”,2 Java语言基础,2.5.3 字符串操作,在使用字符串时,经常需要对字符串进行处理,以满足一定的要求。常用的字符串操作包括:比较字符串获取字符串的长度字符串的大小写转换查找字符串截取子字符串去掉字符

33、串的首尾空格替换字符串中的字符或子串分割字符串,2 Java语言基础,2.6 数 组,数组是一种最为常见的数据结构,通过数组可以保存一组相同数据类型的数据,数组一旦创建,它的长度就固定了。数组的类型可以为基本数据类型,也可以为引用数据类型,可以是一维数据,二维数据,甚至是多维数据。,2 Java语言基础,2.6.1 一维数组,声明一维数组的方式如下:这两种声明数组格式的作用是相同的。创建数组实质上就是在内存中为数组分配相应的存储空间,有两种方式可以创建数组,一种是通过new关键字创建,另一种是通过“”创建,例如:,数组类型 数组标识符;数组类型 数组标识符;,int months=new in

34、t12;/months的长度为12boolean members=false,true,true,false;/members的长度为4,2 Java语言基础,一维数组,在访问数组中的元素时,需要同时指定数组标识符和元素在数组中的索引,例如访问上面代码中创建的数组,输出索引位置为2的元素,具体代码如下:执行这段代码,输出的内容为“0”和“true”,在通过new关键字创建数组时,得到的数组并没有被初始化,int型数组默认数组元素均为0,而通过“”创建数组的同时就初始化了数组。,System.out.println(months2);System.out.println(members2);,2

35、 Java语言基础,一维数组,如果需要为数组中的某个元素赋值,方式如下:如果需要获得一维数组的长度,可以通过下面的方式:,months2=68;members2=false;,System.out.println(months.length);/输出值为12System.out.println(members.length);/输出值为4,2 Java语言基础,2.6.2 二维数组,Java语言中的二维数组是一种特殊的一维数组,即数组的每个元素又是一个一维数组,Java语言并不直接支持二维数组。声明二维数组的方式如下:例如分别声明一个int型和boolean型二维数组,具体代码如下:,数组类型

36、 数组标识符;或数组类型 数组标识符;,int days;boolean holidays;,2 Java语言基础,二维数组,创建数组实质上就是在内存中为数组分配相应的存储空间,有两种方式可以创建数组,一种是通过new关键字创建,另一种是通过“”创建,例如:二维数组可以看做一个表格。数组days看成一个2行3列的表格,数组holidays看成2行3列的表格,int days=new int23;boolean holidays=true,false,true,false,true,false;,2 Java语言基础,二维数组,例如访问上面代码中创建的数组,具体代码如下:如果是通过下面的方式获得

37、二维数组的长度,得到的是二维数组的行数:如果需要获得二维数组的列数,可以通过下面的方式:,System.out.println(days12);System.out.println(holidays12);,System.out.println(days.length);/输出值为2System.out.println(holidays.length);/输出值为2,System.out.println(days0.length);/输出值为3System.out.println(holidays0.length);/输出值为3,2 Java语言基础,二维数组,如果是通过“”创建的数组,数组中

38、每一行的列数也可以不相同,例如:通过下面的方式得到的只是第1行拥有的列数:如果需要获得二维数组中第2行和第3行拥有的列数,可以通过下面的方式:,boolean holidays=true,false,true,/二维数组的第1行为3列 false,true,/二维数组的第2行为2列 true,false,true,false;/二维数组的第3行为4列,System.out.println(holidays0.length);/输出值为3,System.out.println(holidays1.length);/输出值为2System.out.println(holidays2.length);/输出值为4,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号