Java2JAVA语言基础.ppt

上传人:新** 文档编号:571214962 上传时间:2024-08-09 格式:PPT 页数:43 大小:193.50KB
返回 下载 相关 举报
Java2JAVA语言基础.ppt_第1页
第1页 / 共43页
Java2JAVA语言基础.ppt_第2页
第2页 / 共43页
Java2JAVA语言基础.ppt_第3页
第3页 / 共43页
Java2JAVA语言基础.ppt_第4页
第4页 / 共43页
Java2JAVA语言基础.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Java2JAVA语言基础.ppt》由会员分享,可在线阅读,更多相关《Java2JAVA语言基础.ppt(43页珍藏版)》请在金锄头文库上搜索。

1、第第2章章 JAVA语言基础语言基础标识符、关键字和类型标识符、关键字和类型表达式与程序流控制表达式与程序流控制数组数组1标识符标识符标识符包括:标识符包括: 变量名,类名,方法(函数)名变量名,类名,方法(函数)名以字母,以字母,_,或,或$开头开头 大小写敏感,且长度没有限定大小写敏感,且长度没有限定如:如:usernameuser_name_sys_varl$change2风格约定:风格约定: _,$不作为变量名,方法名开头不作为变量名,方法名开头 变量名、方法名首单词小写,其余单词只有变量名、方法名首单词小写,其余单词只有 首字母大写首字母大写 如如anyVariableWorld 接

2、口名、类名首单词第一个字母大写。接口名、类名首单词第一个字母大写。 常量:完全大写常量:完全大写 注释:注释:/ 注释一行注释一行 /* */注释一行或多行注释一行或多行 /* 可用可用javadoc命令转化为命令转化为HTML文件文件*/标识符标识符3关键字关键字* 当前不使用 * 为Java 2 增加的4Java 基本数据类型基本数据类型逻辑型逻辑型文字型文字型整数类型整数类型浮点型浮点型5逻辑型:逻辑型:boolean adj. 布尔数学体系的布尔数学体系的 , 取值取值:true , false例如:例如:boolean truth n. 事实;真理;实质;诚实事实;真理;实质;诚实

3、= true;基本数据类型基本数据类型-逻辑型与文字型逻辑型与文字型6文字型:文字型:char 、String char: 16位的位的unicode(国际码)字符。国际码)字符。如,如,char mychar=Q; unicode字符集是一套字符编码系统,可以支持字符集是一套字符编码系统,可以支持各类文字的字符,达各类文字的字符,达34168个字符。个字符。 定义形式:定义形式:a; t; u? String 是类,是类,String greeting=“Good Morning! n”;基本数据类型基本数据类型-文字型文字型7整数类型:整数类型:byte, short, int 和和 lo

4、ng类型类型长度长度取值范围取值范围byte8位位-27 27-1short16位位 -215 215-1int32位位 -231 231-1long64位位 -263 263-1基本数据类型基本数据类型-整数类型整数类型8 Java中缺省整型是中缺省整型是 int可有可有3种形式:十进制、八进制、十六进制种形式:十进制、八进制、十六进制十进制十进制八进制八进制十六进制十六进制int 2407710XAB07long 24L0771L0XAB07L整型常量整型常量9浮点型:浮点型:float 和和 double长度:长度: float : 32位位 double: 64位位缺省是缺省是 dou

5、ble 类型,如类型,如3.14 (double 型)型)表达方法:表达方法:E或或e - 科学记数法科学记数法 6.02e23F或或f - 表示表示float类型,类型, 6.02e23FD或或d - 表示表示double 型,型, 2.718D基本数据类型基本数据类型-浮点型浮点型10JDK1.6中的枚举类型中的枚举类型public enumn. 枚举,列举型别;电话号码映射 Names Li,Zhang,Wang,Zhao,ChenNames name = Names.Wang;11类的初步概念类的初步概念“日期日期”类型的两种不同表达:类型的两种不同表达:方式一:方式一:int day

6、, month, year; /定义年、月、日定义年、月、日int d1,m1,y1; / 定义一个日期定义一个日期int d2,m2,y2;/定义另一个日期定义另一个日期方式二:方式二: class Dateint day;int month;int year;void setDate( int a, int b, int c). Java用用class创建新的类型。创建新的类型。 12类的变量的声明与引用类的变量的声明与引用在在Java中,一个类中,一个类的变量的变量声明后,不能直接引用,必须经过实声明后,不能直接引用,必须经过实例化:例化: 基本类型声明后,直接开空间。基本类型声明后,直

7、接开空间。如:如: int a; a = 12; 非基本类型不直接开空间,而是开辟引用空间,数据空间非基本类型不直接开空间,而是开辟引用空间,数据空间没有开。只有通过实例化,才能给数据开辟空间。没有开。只有通过实例化,才能给数据开辟空间。13类的变量的声明与引用类的变量的声明与引用例:例: 1Date today;2today = new Date( );today daymonthyear0xabcd0000xabcd14引用变量之间的赋值引用变量之间的赋值1Date a, b ;2a=new Date( );3b = a ;ab daymonthyear0xabcd0000xabcd0xa

8、bcd15运算符与表达式运算符与表达式与与C不同之处:不同之处: Java是强类型语言,类型限制比是强类型语言,类型限制比C严格,运算严格,运算符的操作对象的类型会受到更多限制。符的操作对象的类型会受到更多限制。 Java不提供指针运算符,增加了对象操作符不提供指针运算符,增加了对象操作符instanceof,字符串运算符字符串运算符+和零填充的右移和零填充的右移等。等。16算术运算操作符:算术运算操作符:+,-,*,/, %, +, - -关系操作符:关系操作符:, =, , , & , |, (逐位异或),逐位异或), (按位取反)按位取反)逻辑操作符:逻辑操作符:&, |, !, (异或

9、异或),&, |赋值操作符:赋值操作符:=, +=, -=, *=, /=, %=,&=, |=, =, =, =其它操作符其它操作符: ?: , , . , ( ),(type), new, instanceofJava操作操作符类别符类别17逻辑操作符与位操作符相同的,根据操作数逻辑操作符与位操作符相同的,根据操作数判定是何种运算符判定是何种运算符 &, | - 称为不短路与、或;称为不短路与、或; &,| - 称为短路与、或。称为短路与、或。逻辑操作符与位操作符逻辑操作符与位操作符18用用+ 运算符连接字符串运算符连接字符串String salutation = “Dr. ”;Strin

10、g name = “Pete” + “Seymour” ;String title = salutation + name ;则则title 值:值:Dr. Pete Seymour 19右移操作符右移操作符 和和 :带符号右移:带符号右移1010 2 111010. :无符号右移,以:无符号右移,以0 填充填充1010 2 001010 .20Java 强制类型转换强制类型转换一般形式:一般形式:(type) expression例:例:(float)x/2对强制类型转换的限制:对强制类型转换的限制:整型与浮点型可以相互转换,但基本类型整型与浮点型可以相互转换,但基本类型 和数组、对象等复合

11、类型之间不能互相转换。和数组、对象等复合类型之间不能互相转换。21位操作示例位操作示例public class BitwiseDemo static final int VISIBLE = 1; static final int DRAGGABLE = 2; static final int SELECTABLE = 4; static final int EDITABLE = 8; public static void main(String args) int flags = 0; flags = flags | VISIBLE; flags = flags | DRAGGABLE; if

12、 (flags & VISIBLE) = VISIBLE) if (flags & DRAGGABLE) = DRAGGABLE) System.out.println(Flags are Visible and Draggable.); 22flags = flags | EDITABLE; if (flags & EDITABLE) = EDITABLE) System.out.println(Flags are now also Editable.); Flags are Visible and Draggable.Flags are now also Editable.运行结果:运行结

13、果:23程序流控制程序流控制 while do while for If else switch24While语句举例语句举例public class WhileDemo public static void main(String args) String copyFromMe = Copy this string until you + encounter the letter g.; StringBuffer copyToMe = new StringBuffer(); int i = 0; char c = copyFromMe.charAt(i); while (c != g) co

14、pyToMe.append(c); c = copyFromMe.charAt(+i); System.out.println(copyToMe); Copy this strin结果:结果:25do-while语句示例语句示例public class DoWhileDemo public static void main(String args) String copyFromMe = Copy this string until you + encounter the letter g.; StringBuffer copyToMe = new StringBuffer(); int i

15、= 0; char c = copyFromMe.charAt(i); do copyToMe.append(c); c = copyFromMe.charAt(+i); while (c != g); System.out.println(copyToMe); Copy this strin结果:结果:26JDK1.6中中for 循环的优化循环的优化l将一个集合作为一个整体放入将一个集合作为一个整体放入for循环中,在循环中,在for循环中可将集合中的元素进行逐个处理。循环中可将集合中的元素进行逐个处理。 String names =Wang,Zhang,Li,Wu;for(String o

16、ption: names) System.out.println(option); 27特殊跳转语句特殊跳转语句 break label 从从switch语句、循环语句中跳出。语句、循环语句中跳出。 continuelabel 跳过标号循环体的其余部分,不带跳过标号循环体的其余部分,不带label 跳过跳过 最内层循环的剩余语句。最内层循环的剩余语句。 label: statement28特殊跳转语句举例特殊跳转语句举例1 Loop: while (true)2 for( )3switch( )4case -1:5case n:6break loop ; 78910 11 test: for(

17、 )12 13 while( )14if( )1516continue test ;17 18 19 /跳出跳出while去去11行行/ 跳到跳到11行行29数组数组声明数组声明数组数组的创建与初始化数组的创建与初始化多维数组多维数组数组拷贝数组拷贝30数数 组组l数组中的元素都是同一种类型。数组中的元素都是同一种类型。l数组的长度在创建的时候确定,并且在创数组的长度在创建的时候确定,并且在创建后固定不变。建后固定不变。l如果要建立存储不同类型数据的集合,或如果要建立存储不同类型数据的集合,或者要求集合的长度可以动态变化,可以使者要求集合的长度可以动态变化,可以使用用Collection(集合

18、)类。(集合)类。31数组声明数组声明可以声明基本类型和类类型的数组可以声明基本类型和类类型的数组声明包含两部分:数组类型与数组名称。声明包含两部分:数组类型与数组名称。格式:格式: C,C+ 标准形式:标准形式:char s ; Point p ; char s ; Point p ;32数组声明数组声明在在Java中中数组作为类来处理数组作为类来处理,所以数组,所以数组 声明并不创建实例对象,而是创建一声明并不创建实例对象,而是创建一 个可用来引用该数组的引用。个可用来引用该数组的引用。33数组的创建与初始化数组的创建与初始化可以象其它对象一样,使用可以象其它对象一样,使用new来创建,格

19、式:来创建,格式:new new elementTypeelementType arraySizearraySize 例:例: s = new char20; /创建有创建有20个字符的数组个字符的数组 p = new Point100; /创建创建100个个Point的的引用数组引用数组 34数组的初始化数组的初始化数组元素是被初始化的。数组元素是被初始化的。字符串字符串 - u0000, null对象数组对象数组 - null用初始值创建数组用初始值创建数组String names = “Jack”, “Wang”, “Lee”;int a = 1, 2, 3;Date d = new D

20、ate( ), new Date( ), new Date( )35对象数组对象数组除了基本类型以外,还可以创建对象类型的数组。除了基本类型以外,还可以创建对象类型的数组。Point p ; p = new Point100; /创建创建100个引用个引用创建创建100个个Point对象:对象:p0 = new Point( );p1 = new Point( );36对象数组举例对象数组举例public class public class ArrayOfStringsDemoArrayOfStringsDemo public static void main(String public s

21、tatic void main(String argsargs) ) String String anArrayanArray = String One, String Two, = String One, String Two, String Three ; String Three ; for ( for (intint i = 0; i i = 0; i anArray.lengthanArray.length; i+) ; i+) System.out.println(anArrayi.toLowerCaseSystem.out.println(anArrayi.toLowerCase

22、(); (); 37多维数组多维数组声明方法声明方法 int a ; 或或int a;实例化实例化 a = new int44; /直接为每一维分配内存,生成规则数组直接为每一维分配内存,生成规则数组 a = new int4 ; / 只有最后维可以不给值,其它都要给,可只有最后维可以不给值,其它都要给,可 /以生成不规则数组以生成不规则数组 a0 = new int10 ; a1 = new int5; 数组成员变量数组成员变量length - 数组元素个数数组元素个数: a = new int 1012; a.length = 10 ; a0.length = 12 ;38多维数组示例多维

23、数组示例public class ArrayOfArraysDemo2 public class ArrayOfArraysDemo2 public static void main(String public static void main(String argsargs) ) intint aMatrixaMatrix = new int4; = new int4; /populate matrix /populate matrix for (for (intint i = 0; i i = 0; i aMatrix.lengthaMatrix.length; i+) ; i+) aMa

24、trixiaMatrixi = new int5; /create sub-array = new int5; /create sub-array for (for (intint j = 0; j j = 0; j aMatrixi.lengthaMatrixi.length; j+) ; j+) aMatrixijaMatrixij = i + j; = i + j; /print matrix /print matrix for (for (intint i = 0; i i = 0; i aMatrix.lengthaMatrix.length; i+) ; i+) for (for

25、(intint j = 0; j j = 0; j aMatrixi.lengthaMatrixi.length; j+); j+) System.out.print(aMatrixijSystem.out.print(aMatrixij + ); + ); System.out.printlnSystem.out.println(); (); 39数组拷贝数组拷贝数组一旦创建,其大小不可变,但已有的数组变量数组一旦创建,其大小不可变,但已有的数组变量 可指向全新的数组;该数组原指的内容丢失可指向全新的数组;该数组原指的内容丢失int a = new int6;a = new int10 ;

26、/ 不必重新声明不必重新声明 a 数组变量之间赋值是引用赋值。数组变量之间赋值是引用赋值。1 int a = new int 6;2 int b ;3 b = a ;ab40数组数据的复制,通过拷贝数组的函数。数组数据的复制,通过拷贝数组的函数。 System.arrayCopy(ObjectObject sourcesource, , intint srcIndexsrcIndex, , Object Object destdest, , intint destIndexdestIndex, , intint lengthlength) 数组拷贝数组拷贝41数组拷贝示例数组拷贝示例publi

27、c class public class ArrayCopyDemoArrayCopyDemo public static void main(String public static void main(String argsargs) ) char char copyFromcopyFrom = d, e, c, a, f, f, e, i, n, = d, e, c, a, f, f, e, i, n,a, t, e, d ;a, t, e, d ;char char copyTocopyTo = new char7; = new char7; System.arraycopy(copyFromSystem.arraycopy(copyFrom, 2, , 2, copyTocopyTo, 0, 7); , 0, 7); System.out.println(newSystem.out.println(new String(copyToString(copyTo); ); 42数组拷贝示例数组拷贝示例运行结果:运行结果: 43

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号