ch3Java语言基础.ppt
《ch3Java语言基础.ppt》由会员分享,可在线阅读,更多相关《ch3Java语言基础.ppt(92页珍藏版)》请在三一文库上搜索。
1、Java语言基础,目标,通过本章学习,您将可以: 熟悉Java用于数字、字符及类似的简单数据地的数据类型。这些类型称为基本类型。 了解赋值语句及表达式。 了解Java分支语句,循环的概念。 了解数给以及如何在简单的Java程序中使用数组。 学习如何采用数组作为参数,以及如何定义方法以返回数组。 熟悉多维数组。,Java标识符(identifier),只能包含字母、数字(09)和下划线(_). 首字符不能是数字。 不能包含空格或任何其他字符,比如点号(.)或(*)。 Java是区分大小写的。 名字的长度没有限制。 关键字不能用作类、对象或除其原义之外的任何事物的名字。 不应该在标识符中使用$符号
2、。,标识符用法举例,numberOfBaskets. NumberOfBaskets, number_of_baskets 通常用大小字母来“断开”由多个单词组成的名字。 inputStream YourClass CarWash hotCar 不合法:My.class go-team 7eleven,关键字,关键字也被称为保留字(reserved word)。 不能重新定义任意关键字。 它们的含义是由Java语言确定的,无法改变。 不能将任意一个关键字作为变量名、方法名或类名。 null, true ,这些单词不被当作关键字。但是,有些作者会将它们列为关键字。保险起见,我将它们当作关键字看
3、待,你们也应该如此。,Java基本数据类型,逻辑型(boolean) 文字型(char) 整数类型(byte 、short、 int 和long) 浮点型(float double),逻辑型(boolean),只有两个值,即true(真),false(假) 命名boolean变量时,要选择在boolean表达式的值为true时也为真的表述方式。 要避免使用那些不能很清楚地描述变量值含义的名字,比如isPositive 和systemAreOK等。这样,将其用在while循环、if-else语句或其他控制语句中时,你就很容易理解其含义。 不要使用numberSign 、systemStatus这
4、样的名字,。,文字型(char),用于单个字符,比如字母或百分号。 Java程序中给出一个字符时,会将其包围在单引号中,而不是包围在比引号中。 在字符两边使用的是相同的引用符号。,char symbol; Symbol=A; System.out.println(symbol);,转义字符,The word “Java” names a language, not just a drink!,以反斜杠指示的特殊字符。 每个转义字符都写成两个符号,但实际,String类,Java中没有用于字符串的基本类型。 String类型的值是引用字符串,它是被当作一个单独项处理的字符序列。 可以用+运算符拼
5、接任意数量的String对象。甚至可以通过+运算符将一个String变量和任何其他类型的对象拼接起来。结果总是一个String对象。,1.String solution=“The answer is “ + 42; 2.String name=“xiaoshenyang”; String greeting = “Hi ” + name; System.out.println(greeting);,整数类型,整数类型:byte, short, int 和 long,类型 长度 取值范围 byte 8位 -27 27-1 short 16位 -215 215-1 int 32位 -231 231-
6、1 long 64位 -263 263-1,整型常量,Java中缺省整型是 int 有3种形式:十进制、八进制、十六进制,十进制 八进制 十六进制 _ int 24 0771 0XAB07 long 24L 0771L 0XAB07L,浮点型,浮点型:float 和 double 长度: float : 32位 double: 64位 双精度类型double比单精度类型float具有更高的精度和更大的表示范围,但float类型具有速度快、占用内存小的优点。 浮点型变量的默认值是0.0。 常量缺省是 double 类型。,变量,程序中的变量(variable)是用来存储数字和字母这样的数据的。可
7、以视为某种类型的容器。 变量中的数字、字母或其他数据项称为它的值。值是可以改变的。 变量是作为存储单元实现的。每个变量都分配了一个存储单元。在为其赋值时,该值就被放置在变量的存储单元中。 变量的命名规则遵循Java标识符拼写规则。除此之外,还应该选择一些有帮助的变量名。 使用Java程序中的每个变量之前都必须先对其进行声明。,变量的作用域,局部变量。在一个方法或一对 表示的代码块内定义。也称为自动变量或临时变量。作用域是所在的方法或代码块。 类成员变量。在方法外声明且属于一个类的定义体的变量。作用域是整个类。 方法参数。方法调用时传递的参数。作用域是所在的方法。 异常处理器参数。是catch语
8、句块的入口参数。作用域是catch语句后由 表示的语句块。,变量,块内说明的变量将屏蔽其所在类定义的同名变量。 同一块中如果定义两个同名变量则引起冲突。Java允许屏蔽,但冲突会引起编译错误。,变量的初始化,类成员变量是系统自动进行初始化。 局部变量必须在使用前手工赋初值进行初始化。如局部变量没有经过初始化,就将产生编译错误。,变量,创建一个对象后,使用new运算符分配存储空间时,系统按下表中的值自动初始化成员变量。,变量,自动变量在使用之前必须初始化。 例: int x = (int)( Math.random( ) * 100 ); int y; int z; if (x 50) y =
9、9; z = y +x; / 可能在初始化之前使用导致编译错误,Java操作符类别,算术运算操作符:+,-,*,/, %, +, - - 关系操作符:, =, , , & , |, (逐位异或), (按位取反) 逻辑操作符:&, |, !, (异或),&, | 赋值操作符:=, +=, -=, *=, /=, %=,&=, |=, =, =, = 其它操作符: ?: , , . , ( ),(type), new, instanceof,程序 3-1,class Customer /* 说明变量的作用域*/ public static void main(String args) Custom
10、er customer = new Customer(); String name = “John Smith”; String name = “Tom David”; customer.name = name; System.out.println( “The customers name: ”+customer.name); private String name; ,逻辑操作符与位操作符,逻辑操作符与位操作符相同的,根据操作数判定是何种运算符 &, | - 称为不短路与、或; &,| - 称为短路与、或。,右移操作符 和 , :带符号右移 1010 2 111010. :无符号右移,以0
11、 填充 1010 2 001010 .,Java 强制类型转换,Java语言不支持变量类型间的任意转换,有时必须显式地进行变量类型的转换。 一般形式:(type) expression 例:(float)x/2 对强制类型转换的限制: 整型与浮点型可以相互转换,但基本类型和数组、对象等复合类型之间不能互相转换。,表达式的提升和转换,例: long bigval = 6; int smallval = 99L; float z = 12.414F; float z1 = 12.414;,/6是整型量,所以该语句正确,/99L是长整型量, smallval是int型量,赋值不相容,该语句错误,/1
12、2.414F是浮点量,该语句正确,/12.414是双精度量,不能赋给单精度变量z1。该语句错误,表达式的提升和转换,显式转换如下: long bigValue = 99L; int squashed = (int) (bigValue); 转换时,目标类型用括号括起来,放到要修改的表达式的前面。,流控制,语句是Java的最小执行单位,语句间以分号(;)作为分隔符。,表达式语句,下面是一些表达式语句: customer1 = new Customer(); point2 = new Point(); x = 12; x+;,表达式语句,方法调用通常返回一个值,一般用在表达式中。有的方法调用可直接
13、当作语句。 如: System.out.println(“Hello World!”);,块,块是一对花括号“”和“”括起来的语句组。 如, Point point1 = new Point(); int x = point1.x; 第一个块是空块,其中不含任何语句。第二个块含两条语句。 方法体是一个块。块还用在流控制的语句中,如if语句、switch语句及循环语句。,分支语句,分支语句根据一定的条件,动态决定程序的流程方向,从程序的多个分支中选择一个或几个来执行。 分支语句共有两种:if语句和switch语句。,分支语句,if语句的基本语法是: if (逻辑表达式) 语句1; else 语句
14、2; if语句中的else子句是可选的。 if关键字之后的逻辑表达式必须得到一个逻辑值,不能以数值来代替。,1. if语句,if语句的含义,当逻辑表达式结果为true时,执行语句1,然后继续执行if后面的语句。当逻辑表达式为false时,如果有else子句,则执行语句2,否则跳过该if语句,继续执行后面的语句。 语句1和语句2既可以是单语句,也可以是语句块。 if语句可以嵌套,嵌套时,规定else子句属于离它最近的if语句。,例,int count; count = getCount(); / 程序中定义的一个方法 if (count 0) System.out.println( “Error
15、: count value is negative!”); else System.out.println(“There will be” +count +“ people for lunch today.”); ,if语句的嵌套,例: if (firstVal = 0) if (secondVal = 1) firstVal+; else firstVal-;,2. switch语句,switch语句是多重分支语句,它的语法格式是: switch (表达式) case c1: 语句组1; break; case c2: 语句组2; break; case ck: 语句组k; break; d
16、efault: 语句组; break; ,2. switch语句,表达式的计算结果必须是int型或字符型,即是int型赋值相容的。 当用byte,short或char类型时,要进行提升。,2. switch语句,switch语句不允许使用浮点型或long型表达式。 c1,c2,ck是int型或字符型常量。default子句是可选的,并且,最后一个break语句完全可以不写。,switch语句的语义,计算表达式的值,用该值依次和c1,c2,ck相比较。如果该值等于其中之一,那么执行其后的语句组,直到遇到break语句跳到switch之后的语句。如果没有相匹配的值,则执行default之后的语句。
17、,switch语句的语义,switch语句中各ci之后的语句既可以是单语句,也可以是语句组。 不论执行哪个分支,程序流都会顺序执行下去,直到遇到break语句为止。,2. switch语句示例,例: / colorNum是整型变量 switch (colorNum) case 0: setBackground(Color.red); break; case 1: setBackground(Color.green); break; default: setBackground(Color.black); break; ,2. switch语句示例,switch语句和if语句可以互相代替。 例:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch3Java 语言 基础
链接地址:https://www.31doc.com/p-2148863.html