java语言基础课件.ppt

上传人:rrsccc 文档编号:10346976 上传时间:2021-05-10 格式:PPT 页数:86 大小:326KB
返回 下载 相关 举报
java语言基础课件.ppt_第1页
第1页 / 共86页
java语言基础课件.ppt_第2页
第2页 / 共86页
java语言基础课件.ppt_第3页
第3页 / 共86页
java语言基础课件.ppt_第4页
第4页 / 共86页
java语言基础课件.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《java语言基础课件.ppt》由会员分享,可在线阅读,更多相关《java语言基础课件.ppt(86页珍藏版)》请在三一文库上搜索。

1、java语言基础,1,第二章 java 语言基础,java语言的词法 数据类型 变量 操作符与表达式 流程控制语句 数组与字符串,java语言基础,2,java语言的词法,空格与分号 注释 标识符 关键字,第二章 java 语言基础,java语言基础,3,java语言的词法1. 空格与分号,Java是一种自由格式的语言,可以用任意个空格、制表符、换行符隔开每个词。如:System.out.println( Counted + count + chars. ); 分号作为语句的结束符,每个语句必须以分号作为结束符。,第二章 java 语言基础,java语言基础,4,java语言的词法2. 注释,

2、三种注释格式: / 实现单行注释 /* 这是* 一段注释,* 它跨越了多个行*/ /* JDK的javadoc工具用这种注释信息能 自动从程序中抽出类的公共接口形成文档。 */,第二章 java 语言基础,java语言基础,5,java语言的词法3.标识符,定义:标识符用来作为类、方法和变量的名字 语法规则:以字母、下划线( _ )、美元符号($)开始,后跟这三种符号或数字。 例如:identifier _sys_ var1 $change userName user_ name 必须要区分大小写 没有长度限制,第二章 java 语言基础,java语言基础,6,java语言的词法3.标识符续,

3、约定: 类名, 接口名 :首字母应该大写。 class ThisIsAClassNameinterface Account 字段、方法以及对象: 首字母应小写。 thisIsMethodOrFieldName() 对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: 常量:全部用大写字母表示。 如:GREEN HEAD_ COUNT Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。 如: package java.awt.event,第二章 java 语言基础,java语言基础,7,第二章 java 语言基础,java语言

4、的词法4.关键字,关键字是由系统定义的一些词,它们在程序里代表特定的含义。定义表示符时要避免使用这些词。,java语言基础,8,数据类型,基本数据类型(primitive type:) 引用数据类型(reference type),第二章 java 语言基础,java语言基础,9,字符型: char 整型: byte , short , int , and long 浮点型: double , float 布尔型: boolean (取值 true 或 false),第二章 java 语言基础,数据类型 基本数据类型(primitive type:),java语言基础,10,数据类型字符型数据

5、,第二章 java 语言基础,字符型常量: 字符常量是用单引号括起来的一个字符,如a,A 转义字符,以反斜杠( )开头,将其后的字符转变为另外的含义,java语言基础,11,数据类型字符型数据,转义字符描述 ddd1到3位8进制数所表示的字符(ddd) uxxxx1到4位16进制数所表示的字符(xxxx) 单引号字符 双引号字符 反斜杠字符 r回车 n换行 f走纸换页 t横向跳格 b退格,第二章 java 语言基础,java语言基础,12,数据类型字符型数据,第二章 java 语言基础,2. 字符型变量(char): 它在机器中占16位,其范围为065535 字符型变量的定义如:char c=

6、a; 可以把它当作整数数据来操作。例如: int three=3; char one=1; char four=(char)(three+one); /four=4,java语言基础,13,数据类型字符型数据,第二章 java 语言基础,3. 字符串型常量: 字符串常量是作为String类的一个对象来处理的,而不是一个基本数据. 字符串常量是用双引号(“”)括起来的一串字符,如“This is a string.n”。 字符串连接使用 + 操作符 int count=7 例如:Counted + count + chars.,java语言基础,14,数据类型字符型数据,第二章 java 语言基

7、础,3. 字符串型常量: 字符串连接使用 + 操作符 int x = 0, y = 1, z = 2;String sString = x, y, z ;System.out.println(sString + x + y + z);System.out.println(x + sString);,java语言基础,15,数据类型整型数据,第二章 java 语言基础,整型常量: 三种表示形式: 十进制整数,如123,456,0 八进制整数,以0开头,如0123表示十进制数83,011表示十进制数9。 十六进制整数,以0 x或0X开头,如0 x123表示十进制数291 默认整型常量为 int 类

8、型。在机器中占32位 对于long型值,则要在数字后加L或l,如123L表示一个长整数。在机器中占64位。,java语言基础,16,第二章 java 语言基础,2. 整型变量 整型变量的类型有byte, short, int, long四种 整型长度数据类型取值范围 8 bits byte -2 7 to 2 7 -1 16 bits short -2 15 to 2 15 -1 32 bitsint -2 31 to 2 31 -1 64 bits long -2 63 to 2 63 -1,数据类型整型数据,java语言基础,17,第二章 java 语言基础,3. 整型变量的定义 例如:

9、byte b; /指定变量b为byte型 short s; /指定变量s为short型 int i; /指定变量i为int型 long l; /指定变量l为long型,数据类型整型数据,java语言基础,18,数据类型浮点型数据,第二章 java 语言基础,1. 实型常量 Java的实常数有两种表示形式: 十进制数形式: 由数字和小数点组成,且必须有小数点,如0.123, .123, 123.,123.0 科学计数法形式: 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。 实常数默认类型为double型,在机器中占64位, 对于float型的值,则要在数字后

10、加f或F,如12.3F,它在机器中占32位,且表示精度较低。,java语言基础,19,数据类型浮点型数据,第二章 java 语言基础,2. 实型变量 实型变量的类型有float和double两种: 数据类型所占位数 float32 double64 3.实型变量定义 例如: float f; /指定变量f为float型 double d; /指定变量d为double型,java语言基础,20,数据类型举 例,第二章 java 语言基础,请看Literals.java,java语言基础,21,数据类型引用数据类型(reference type),第二章 java 语言基础,数组Array ,类

11、class,接口interface属于reference 类型。 reference 类型的变量是所引用的对象的内存地址。 例子:,java语言基础,22,数据类型引用数据类型(reference type),第二章 java 语言基础,public class MyDate private int day = 1; private int month = 1; private int year = 2000; public MyDate( int day, int month, int year) . public void print() . public class TestMyDate

12、 public static void main( String args) MyDate my_ birth = new MyDate( 22, 7, 1964); ,java语言基础,23,数据类型引用数据类型(reference type),第二章 java 语言基础,创建一个类对象: MyDate my_ birth = new MyDate( 22, 7, 1964);,java语言基础,24,数据类型引用数据类型(reference type),第二章 java 语言基础,两个引用变量的赋值将会产生如下结果: int x = 7; int y = x; MyDate s = new

13、 MyDate( 22, 7, 1964); MyDate t = s; t = new MyDate( 22, 12, 1964); 两个变量指向一个对象:,java语言基础,25,数据类型引用数据类型(reference type),第二章 java 语言基础,当t 变量赋予一个新值时: t = new MyDate(22, 12, 1964); 两个变量分别指向两个对象:,java语言基础,26,数据类型引用数据类型(reference type),第二章 java 语言基础,见例题:Assignment.java 结果: 1: n1.i: 9, n2.i: 472: n1.i: 47,

14、 n2.i: 473: n1.i: 27, n2.i: 27 将一个对象传递到方法内部时,也会产生此现象 见例题:PassObject .java 输出结果如下:1: x.c: a2: x.c: z,java语言基础,27,变 量,第二章 java 语言基础,1. 变量的定义 变量名是一个合法的标识符 它是字母、数字、下划线或美元符“”的序列 变量名不能以数字开头 不能为保留字 变量名区分大小写 变量名应具有一定的含义,以增加程序的可读性,java语言基础,28,变 量,第二章 java 语言基础,2. 变量的作用域 变量的作用域指明可访问该变量的一段代码 按作用域来分,变量可以有下面几种:

15、局部变量 Local variable 类变量 Member variable 方法参数 Method parameter 例外处理参数 Exception-handler parameter,java语言基础,29,2. 变量的作用域,第二章 java 语言基础,1. 变量的作用域,2. 变量的作用域,java语言基础,30,变 量,第二章 java 语言基础,3. 变量的声明 格式:type identifier=value,identifier=value; 例如: int a, b, c; double d1, d2=0.0; 方法参数和例外处理参数的变量值是由调用者给出。,java语

16、言基础,31,变 量,第二章 java 语言基础,4. 变量的默认初始化值,java语言基础,32,运算符和表达式,第二章 java 语言基础,运算符指明对操作数所进行的运算。 按功能分类: 算术运算符(+,-,*,/,%,+,-) 关系运算符(,=, Integer n2 = new Integer(47); System.out.println(n1 = n2); System.out.println(n1 != n2); 结果:false true,java语言基础,37,运算符和表达式关系运算符,第二章 java 语言基础,说明: 若想对比两个对象的实际内容是否相同,使用方法equal

17、s()。 例如: public class EqualsMethod public static void main(String args) Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1.equals(n2); ,java语言基础,38,运算符和表达式关系运算符,第二章 java 语言基础,说明: 假设您创建了自己的类,结果如何? 例如: class Value int i; public class EqualsMethod2 public static void main

18、(String args) Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 100; System.out.println(v1.equals(v2); ,结果:false,java语言基础,39,运算符和表达式布尔逻辑运算符,第二章 java 语言基础,逻辑运算符AND( i int squashed = bigValue; / Wrong int squashed = (int) bigValue; / OK int squashed = 99; / default integer literal double z

19、 = 12.414F; / 12.414F is float, OK float z1 = 12.414; / 12.414 is double, illegal,第二章 java 语言基础,java语言基础,49,扩展赋值运算符,第二章 java 语言基础,java语言基础,50,运算符和表达式条件运算符,第二章 java 语言基础,条件运算符 ?:为三元运算符,它的一般形式为: expression? statement1: statement2 例如: ratio = denom=0 ? 0 : num/denom;,java语言基础,51, ()+ - ! instanceofnew

20、(type)* / %+ - = != double d2=35.1; if(d2=d1) System.out.println(d2+ = +d1); else System.out.println(d1+ = +d2); ,java语言基础,55,流程控制语句 switch 语句,第二章 java 语言基础,switch语句是实现多分支选择结构的另一个语句: switch(整数选择因子) case 整数值1 : 语句;break;case 整数值2 : 语句; break;case 整数值3 : 语句; break;case 整数值4 : 语句; break;case 整数值5 : 语句;

21、 break;/.default:语句;,java语言基础,56,流程控制语句 switch 语句,第二章 java 语言基础,说明: 表达式expression可以返回任一整型类型的值(如整型、字符型) case子句中的值必须是常量,而且所有case子句中的值应是不同的 case通常与break语句联用,以保证多路分支的正确实现。 多个case可以公用一组执行语句。 case 1: case 2: case 3: cout“hello” case 1,2,3 : cout“hello” /error,java语言基础,57,流程控制语句 switch 语句,第二章 java 语言基础,例题:

22、根据考试成绩的等级打印出百分制分数段。 public class GradeLevel public static void main( String args ) System.out.println(n* first situation *); char grade=C; /normal use switch( grade ) case A : System.out.println(grade+ is 85100);break; case B : System.out.println(grade+ is 7084);break; case C : System.out.println(gr

23、ade+ is 6069);break; case D : System.out.println(grade+ is 60);break; default : System.out.println(input error); ,java语言基础,58,流程控制语句 for循环 语句,第二章 java 语言基础,格式 for(初始表达式; 布尔表达式; 步进)语句; 说明: 无论初始表达式,布尔表达式,还是步进,都可以置空。 可在for语句里定义多个变量,但它们必须具有同样的类型:for(int i = 0, j = 1; i 10 ,java语言基础,59,流程控制语句 for循环 语句,第二

24、章 java 语言基础,说明: Java里唯一用到逗号运算符的地方就是for循环的控制表达式。 public class CommaOperator public static void main(String args) for(int i = 1, j = i + 10; i 5; i+, j = i * 2) System.out.println(i= + i + j= + j); ,输出如下: i= 1 j= 11 i= 2 j= 4 i= 3 j= 6 i= 4 j= 8,java语言基础,60,流程控制语句 while循环 语句,第二章 java 语言基础,格式: while(布尔

25、表达式)语句例子: public class WhileTest public static void main(String args) double r = 0; while(r 0.99d) r = Math.random(); System.out.println(r); ,java语言基础,61,流程控制语句 do-while循环 语句,第二章 java 语言基础,格式: do语句while(布尔表达式) 例子:,java语言基础,62,流程控制语句 其他循环控制语句,第二章 java 语言基础,java语言基础,63,流程控制语句 break label 语句,第二章 java 语

26、言基础,不带标号的break语句,跳出它所在的循环语句或switch 语句,并从紧跟该循环语句或switch 语句后的第一条语句处执行 带标号的break语句:对Java来说,唯一用到标签的地方是在循环语句之前。 label1: 循环语句 跳出标号所指定的块,并从紧跟该块后的第一条语句处执行,java语言基础,64,流程控制语句 break label 语句,第二章 java 语言基础,例题:,java语言基础,65,流程控制语句 continue label 语句,第二章 java 语言基础,不带标号的continue语句,用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的

27、判断,以决定是否继续循环 带标号的continue语句跳转到标号指明的外层循环中。,java语言基础,66,流程控制语句 continue label 语句,第二章 java 语言基础,例题:,java语言基础,67,流程控制语句 continue label 语句,第二章 java 语言基础,例题1: BreakAndContinue.java 例题2: LabeledFor.java 例题3:LabeledWhile.java,java语言基础,68,练习,(1) 写一个程序,打印出1到100间的整数。 (2) 编写一个 for 语句的双重循环,练习break label 和continu

28、e label 语句。 (3) 创建一个switch语句,为每一种case都显示一条消息。在每个case后面都放置一个break,并对其进行测试。然后,删除break,看看会有什么情况出现。,第二章 java 语言基础,java语言基础,69,数 组,相同的数据类型元素类型按一定的顺序排列就构成了数组 数组元素可以为: 基本数据类型 某一类的对象 建立java数组需要以下三个步骤: 声明数组 创建数组空间 初始化数组元素,第二章 java 语言基础,java语言基础,70,数 组声明数组,声明数组的语法格式有两种如下: 数组元素类型 数组名; 数组元素类型数组名; 例如:char s; 或:c

29、har s; Point p; Point p;,第二章 java 语言基础,java语言基础,71,数 组创建数组空间,说明: 为数组开辟内存空间,在创建数组空间时必须为它指明数组的长度。 一个数组是一个对象,所以用new来创建数组 语法格式为:数组名 = new 数组元素类型数组元素的个数; 例如: int MyIntArray; MyIntArray =new int10;,第二章 java 语言基础,Point MyIntArray; MyIntArray =new Point10;,java语言基础,72,数 组创建数组空间,说明: 也可以在创建数组空间的时候,同时将初值给出来,例如

30、:int MyIntArray=1,2,3,4,5,6,7,8,9; 存储空间的分配等价于使用new 基本数据类型的数组元素会自动初始化成“空”值(对于数值,空值就是零;对于char,它是null;而对于boolean,它却是false)。 数组名是对数组对象的一个引用。,第二章 java 语言基础,java语言基础,73,数 组创建数组空间,第二章 java 语言基础,创建一个基本数据类型元素 的数组: public char createArray() char s; s = new char 26; for ( int i= 0; i 26; i+ ) s i = (char) (A+

31、i); return s; ,java语言基础,74,数 组创建数组空间,第二章 java 语言基础,创建一个对象数组: public Point createArray() Point p; p = new Point 10; for ( int i= 0; i 10; i+ ) p i = new Point( i, i+ 1); return p; ,java语言基础,75,数 组创建数组空间,第二章 java 语言基础,说明: 可以动态创建数组空间: int a; a = new intpRand(20); 见例题:ArrayNew.java,java语言基础,76,数 组数组边界,第

32、二章 java 语言基础,所有数组的上标从0开始 int list = new int 10; for (int i = 0; i list. length; i+) System. out. println( list i); ,java语言基础,77,数 组初始化数组,有两种方式: 1 先定义数组,分配空间,然后直接对每个元素进行赋值。 2 在定义数组的同时进行初始化。这种做法大多数时候都很有用,但限制也是最大的,因为数组的大小是在编译期间决定的。 例如:对基本数据类型 int nums; nums = new int 3; nums 0 = 1; nums 1 = 2; nums 2 =

33、 3;,第二章 java 语言基础,int nums = 1, 2,3;,java语言基础,78,数 组初始化数组,例如:对非基本数据类型 MyDate dates; dates = new MyDate 3; dates 0 = new MyDate( 22, 7, 1964); dates 1 = new MyDate( 1, 1, 2000); dates 2 = new MyDate( 22, 12, 1964); 或:,第二章 java 语言基础,MyDate dates = new MyDate( 22, 7, 1964), new MyDate( 1, 1, 2000), new

34、 MyDate( 22, 12, 1964) ;,java语言基础,79,数 组初始化数组,第二章 java 语言基础,public class ArrayInit public static void main(String args) Integer a = new Integer(1), new Integer(2), new Integer(3), ; / 第二种方式 Integer b = new Integer new Integer(1), new Integer(2), new Integer(3), ; ,java语言基础,80,数 组初始化数组,第二章 java 语言基础,

35、对非基本数据类型的第二种初始化,可以带来更大的灵活性。例如: public class VarArgs static void f(Object x) for(int i = 0; i x.length; i+) System.out.println(xi); public static void main(String args) f(new Object new Integer(47), new Float(3.14), new Double(11.11) ); f(new Object one, two, three ); ,java语言基础,81,数 组多维数组,第二章 java 语言

36、基础,1. 定义方式:type 维数arrayName; 例如:int intArray;int a2; 2. 分配内存空间:有两种方法: 直接为每一维分配空间, 如int a = new int23; int twoDim = new int 4; /error 分别为每一维分配空间 如: int a = new int2 ; a0 = new int3; a1 = new int3; 可以为每行设置为空间大小不同的数组。 如: a0 = new int3; a1 = new int5;,java语言基础,82,数 组多维数组,第二章 java 语言基础,说明:Java中多维数组被看作数组的

37、数组。例如二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。 3. 初始化 有两种方式: 先定义数组,分配空间,然后直接对每个元素进行赋值 在定义数组的同时进行初始化。 如:int a = 2,3, 1,5, 3,4; 见例题:MultiDimArray.java,java语言基础,83,数 组改变数组,第二章 java 语言基础,不能改变一个已定义的数组的大小 可以改变引用变量所指向的数组 int myArray = new int 6; myArray = new int 10;,java语言基础,84,数 组数组的拷贝,第二章 java 语言基础,使用 System . arra

38、ycopy() 方法: / original array int elements = 1, 2, 3, 4, 5, 6 ; / new larger array int hold = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ; / copy all of the elements array to the hold / array, starting with the 0th index System. arraycopy( elements, 0, hold, 0, elements. length);,java语言基础,85,见例题:Arrays.java,数 组数组的拷贝,第二章 java 语言基础,java语言基础,86,1. 创建两个一维整型数组,并初始化,并实现值和地址的拷贝。 2. 用多种方法创建几个二维数组: 定义固定大小的二维数组 定义每行不同列数的数组 定义时同时初始化。 先定义后初始化,数 组习 题,第二章 java 语言基础,

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1