Java语言程序设计(第2章).ppt

上传人:牧羊曲112 文档编号:6510201 上传时间:2023-11-07 格式:PPT 页数:48 大小:492.50KB
返回 下载 相关 举报
Java语言程序设计(第2章).ppt_第1页
第1页 / 共48页
Java语言程序设计(第2章).ppt_第2页
第2页 / 共48页
Java语言程序设计(第2章).ppt_第3页
第3页 / 共48页
Java语言程序设计(第2章).ppt_第4页
第4页 / 共48页
Java语言程序设计(第2章).ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《Java语言程序设计(第2章).ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计(第2章).ppt(48页珍藏版)》请在三一办公上搜索。

1、 Java语言程序设计,第二章:Java语言基础,第章标识符、关键字和数据类型,2.1 标识符和关键字2.2 Java语言的数据类型2.3 运算符与表达式 2.4 Java语言的语句,2.1 标识符和关键字,用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符。,合法的标识符:indentifierusernameuser_name_userName$username,非法的标识符:class98.3Hello World,2.1 标识符和关键字,关键字

2、就是Java语言中已经被赋予特定意义的专用单词。不可以把这类词作为名字来用。,注:java 无sizeof,goto,const 关键字,但不能用goto const作为变量名,分隔符:注释符:/注释一行/*/一行或多行注释/*/是java所特有的doc注释。空白符:空格、回车、换行和制表符(Tab键)等符号普通分隔符:.句号,用于分隔包、类或分隔引用变量中的变量和方法;分号,是Java语句结束的标志;,逗号,分隔方法的参数和变量说明等;:冒号,说明语句标号;大括号,用来定义复合语句、方法体、类体及数组的初始化;方括号,用来定义数组类型,及引用数组的元素值;()小括号,用于在方法定义和访问中将

3、参数表括起来,或在表达式中定义运算的先后次序。,2.1 标识符和关键字,2.2 Java语言的数据类型,基本数据类型也称作简单数据类型。Java语言有8种简单数据类型,分别是:boolean、byte、short、int、long、float、double、char。这8种数据类型习惯上可分为4大类型:逻辑类型:boolean字符类型:char整数类型:byte、short、int、long浮点类型:float、double,2.2 Java语言的数据类型,2.2 Java语言的数据类型,1.变量,变量:变量是在程序运行过程中其值可以变化的量,变量是Java程序中的基本存储单元。变量的三要素:

4、变量名,变量类型,变量作用域。变量名:变量的名字,使用变量名来引用变量包含的数据。变量类型:变量的数据类型,决定可以容纳什么样类型的数值,以及可以对它进行什么的操作。举例:int largestInteger;float largestFloat;变量的作用域:变量的生存周期,由其所处的位置决定的。成员变量作用域 局部变量作用域 方法参数作用域,2.常量,常量:是在程序运行过程中其值不变的量。直接常量:各数据类型取值范围中的值。字符串常量:字符串常量是用一对双引号括起来的字符序列。Hello n world!A 声明常量的格式:final 类型 常量名,常量名=值;final int aFin

5、alVar=0;,(1).逻辑类型,常量:true,false。变量的定义 使用关键字boolean来定义逻辑变量,定义时也可以赋给初值:boolean x=true,tom=false,jiafei;,(2)int 型,常量 八进制(以0开头)、十进制、十六进制(以0 x开头)、变量 使用关键字int来定义int型整型变量,定义时也可以赋给初值:int x=12,tom=-1230,height=9898,number;对于int型变量,内存分配给4个字节(byte),一个字节由8位(bit)组成,4个字节占32位。int型变量的取值范围是:-231231-1,(3)byte 型,使用关键字

6、byte 来定义byte 型整型变量,可以一次定义几个,定义时也可以赋给初值:byte m=-12,deep=28,speed=98;对于byte型变量,内存分配给1个字节,占8位,因此byte型变量的取值范围是:-2727-1。,(4)short 型,使用关键字short来定义short型整型变量,可以一次定义几个,定义时也可以赋给初值:short x=12,tom=1234,漂亮=9876,jiafei;对于short型变量,内存分配给2个字节,占16位,因此short型变量的取值范围是:-215 215-1。,(5)long型,常量13L 3455678889L变量 占用八个字节,数字大

7、小为-263263-1 long a,b=2344L;,(6)Char型,常量Java使用unicode字符集,unicode表中的字符就是一个字符常量,字符常量需使用单引号扩起,例如:A、b、?、!、9、好、t、,对无法通过键盘输入的字符,可用转义符表示。ddd uxxxx r n f t b 变量使用关键字char来定义字符变量,可以一次定义几个,定义时也可以赋给初值:char x=A,tom=爽,jiafei;对于char型变量,内存分配给2个字节,占16位,最高位不用来表示符号。,(7)float 型,常量 123.5439f,12389.987F,.123f,2e40f(2乘10的4

8、0次方,科学计数法),必有小点,E前是数字,E后是整数。变量 使用关键字float来定义float型变量,可以一次定义几个,定义时也可以赋给初值:float x=12.76f,tom=1234.987f;对于float型变量,内存分配给4个字节,占32位.,(8)double 型,常量 12389.5439d(d可以省略),12389908.987,123.0,6e-140(6乘10的-140次方,科学计数法)变量 使用关键字double来定义double型变量,可以一次定义几个,定义时也可以赋给初值:double x=12.76,tom=1234098.987;double型变量,内存分配给

9、8个字节,占64位,(9)基本数据类型的转换,类型转换:类型按精度从“低”到“高”排列了顺序。byte-short-int-long-float-double char-int级别低的赋给级别高的变量,系统自动完成数据类型的转换。例如 int x=50;float y;y=x;如果输出y的值,结果将是50.0。级别高的值赋给级别低变量,必须使用显示类型转换运算。例如:int x=(int)23.89;long y=(long)34.98F;强制转换运算可能导致精度的损失。,例子1,public class Example2_1 public static void main(String ar

10、gs)int c=2200;long d=8000;float f;double g=123456789.123456789;c=(int)d;f=(float)g;/导致精度的损失.System.out.print(c=+c);System.out.println(d=+d);System.out.println(f=+f);System.out.println(g=+g);,2.3 运算符与表达式,运算符和操作数的组合构成表达式,表达式代表着一个确定的数值。运算符分成以下几类:算术运算符关系和条件运算符移位和逻辑运算符赋值运算符其它的运算符,2.3 运算符-1,算术运算符运算符 使用 描述

11、+op1+op2 op1 加上op2-op1-op2 op1 减去op2*op1*op2 op1乘以op2/op1/op2 op1 除以op2%op1%op2 op1 除以op2的余数+op 如果op是一个byte、short或者char型 的,op变成int型-op 取op的相反数+op+自增1;它是在自增之前计算op的数值的。+op 自增1;它是在自增之后计算op的数值的。-op-自减1;它是在自减之前计算op的数值的。-op 自减1;它是在自减之后计算op的数值的。注:/两个操作数是整数,是整除;%符号取决于被除数,两个操作数可以是浮点型数。,2.3 运算符-2,关于前增量和后增量的说明

12、:int i=2;int j=3;int m=+j+i;int k=m+i+;,2.3运算符-3,关系与条件运算符 运算符用法 在什么情况下返回true op1 op2 op1大于op2的时候=op1=op2 op1大于等于op2的时候 op1 op2 op1小于op2的时候=op1=op2 op1小于等于op2的时候=op1=op2 op1等于op2的时候!=op1!=op2 op1不等于op2的时候,2.3运算符-4,逻辑运算符 运算符用法 在什么情况下返回true&op1&op2 op1 和 op2都是true,有条 件地计算op2|op1|op2 op1 或者 op2是true,有条

13、件地计算op2!op op为false op1op1 不同为真注:&|有短路情况,2.3运算符-5,class Test public static void main(String arg)int b=2;int c=3;int a=0;if(61)System.out.println(“Ok!);System.out.println(a=+a);System.out.println(b=+b);System.out.println(c=+c);,2.3运算符-6,位运算符 运算符用法 在什么情况下返回true op1 op2 将op1右移op2个位 op1 op2 将op1右移op2个位(

14、无符号的)&op1&op2 按位与|op1|op2 按位或 op1 op2 按位异或 op2 按位取反,2.3运算符-6-1,2.3运算符-7,其它运算符 运算符 描述?:作用相当于if-else语句 用于声明数组,创建数组以及访问数组元素.用于访问对象实例或者类的类成员函数(params)意义一个以逗号分开的参数系列(type)将数值转换为一个的类型new创建一个新的对象或者新的数组instanceof 决定是否第一个运算对象是第二个运算对象 的一个实例,2.3运算符-8,各种运算符的优先顺序 后缀运算符.(params)expr+expr-单元运算符+expr-expr+expr-expr

15、!右结合创建运算符new(type)expr 右结合乘法运算符*/%加法运算符+-移位运算符 关系运算符=instanceof相等与不等=!=按位运算符&按位运算符 按位运算符|逻辑运算符&逻辑运算符|条件运算符?:右结合赋值运算符=+=-=*=/=%=&=|=右结合,1.说明System.out.println(“This character“+A+”has the value:“+(int)A)的输出结果。2说明表达式3*9*(3+(9*3/(-3)的计算次序。3计算表达式的值:x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7。4.设x的值为10,写出表达式运算后

16、x的值:x+=x x-=3 x*=1+2 x%=55设a=6、b=-4,计算表达式的值:-a%+b(-a)10?a:b),练习,6指出下面哪些是合法的标识符,说出为什么。A.$persons B.TwoUsers C.*point D.this E._endline7指出下面哪些是将一个十六进制值赋值给一个long型变量,说出为什么。A.long number=345L;B.long number=0345;C.long number=0345L;D.long number=0 x345L.1.下列哪个选项是Java语言合法的标识符?A.fieldnameB.superC.3numberD.#

17、numbe2.下列哪个选项可以正确用以表示十六进制值?A0 x18 B0 x1T C080 D0100 3.下列的哪个赋值语句是正确的?Achar a=1;Bint a=1.0;Cint a=1.0f;Dint a=(int)1.0;4.以下运行符中属三元运算符的是()A、+B、%C、条件运算符 D、*5.下列的哪个赋值语句是不正确的?Afloat f=11.63;Bdouble d=3.8E2;Cfloat d=6.23 f;Ddouble f=11.1E2f;,练习,2.4 Java语言的语句,2.4.1 语句概述,Java里的语句可分为以下五类:1方法调用语句2表达式语句(赋值语句)3复

18、合语句4控制语句5package 语句和 import语句,2.4.2 控制语句,选择语句,if 和switch开关语句。循环语句,for、while和dowhilebreak和 continue,一选择控制语句,1、if(表达式)语句;if(表达式)语句1;else 语句2;if(表达式1)语句1;else if(表达式2)语句2;else if(表达式2)语句3;else 语句n;If语句还可以嵌套使用 if(表达式1)if(表达式2)语句1;else语句2;esle if(表达式2)语句3;else语句4;每个语句可以是使用 组成的复合语句。嵌套时最好使用确定层次界限,举例说明,2、sw

19、itch 语句是多分支的开关语句,它的一般格式定义如下(其中break语句是可选的):switch(表达式)case 常量值1:若干个语句 break;case 常量值2:若干个语句 break;.case 常量值n:若干个语句 break;default:若干语句注:switch语句判断条件可接受int,byte,char,short型,不可以接受其他类型,一选择控制语句,public class TestSwitch public static void main(String args)int i=8;switch(i)case 8:case 3:case 2:System.out.pr

20、intln(C);break;case 9:System.out.println(D);break;default:System.out.println(error);,二、循环语句,1for循环语句for 语句是java程序设计中最有用的循环语句之一,for语句的格式如下:for(表达式1;表达式2;表达式3)若干语句 例:for(int x=1;x10;x+)System.out.println(x=+x);,2while 循环一般格式:while(表达式)若干语句 3do-while循环一般格式:do 若干语句 while(表达式);,举例:public class TestWhile

21、public static void main(String args)int i=0;while(i 10)System.out.println(i);i+;i=0;do i+;System.out.println(i);while(i 10);,三、break和continue语句,1、break语句(1)在switch语句中,用来终止switch语句的执行,完成多分支择一。(2)在循环内使用,跳出一层循环。如下例1。(3)在Java中,可以为每个代码块加一个标号,一个代码块通常是用大括号括起来的一段代码。格式如下:Blocklabe1:codeblockbreak语句的第三种使用情况就是

22、跳出它所指定的块,并从紧跟该块的第一条语句处执行。其格式为:break Blocklabe1;如例2。,例1:class B public static void main(String args)boolean test=true;int i=0;while(test)i=i+2;System.out.println(i=+i);if(i=10)break;System.out.println(i为+i+时循环结束);,例2:class B1 public static void main(String args)throws java.io.IOException char ch;lab1

23、:/此处为标号标识符 for(int i=0;i4;i+)for(int j=0;j4;j+)ch=(char)System.in.read();System.in.skip(2);if(ch=b)break lab1;/跳出标号标识的块 if(ch=c)System.out.println(继续);System.out.println(结束两重循环);,注意:与C/C+不同,Java中没有用goto语句来实现任意的跳转,因其破坏程序的可读性。但java能实现goto语句所特有的一些功能,如果break后所指定的标号不是一个代码块的标号,而是一个语句,则这时break完全实现goto的功能,不

24、过要少用。,2、continue语句,(1)continue语句只能用在循环结构中,它跳过循环体中尚未执行的语句,重新开始下一次循环,从循环体第一个语句开始执行。(在for语句中,要先执行迭代语句。)它的格式为:continue;例:class C2 public static void main(String args)for(int i=0;i10;i+)if(i%2=0)continue;System.out.println(i);,(2)带标号的continue语句Java也支持带标号的continue语句,它通常用在嵌套循环的内循环中,你可以用标号标出你想跳到哪一条语句继续重复执行程

25、序。它的语法格式为:标识符:.continue 标识符;如果是for嵌套,跳到外层,先执行迭代,然后开始下一次循环。,2、continue语句,例:class C3 public static void main(String args)lab1:for(int i=1;i3)System.out.println(Continue);continue lab1;System.out.println(i=+i+j=+j);,练习:,1.以下语句正确的是?A、y+1=5;B、i+=20;C、a+b=1+d;D、x+=1;2.public class J_Test public static voi

26、d main(String args)System.out.print(1+2);System.out.print(1+2+“”);System.out.print(1+“”+2);System.out.print(“”+1+2);,3.for(inti=0;i3;i+)for(intj=0;j2;j+)if(j=1)continue;System.out.print(j+and+i+);A.0and00and10and2B.1and01and11and2C.2and02and12and2D.3and03and13and2,作业:,1.如何使用带标号的break语句一次跳出多重循环?2.break 和 continue 两语句的区别是什么?3.读程序写结果:,int x=0,y=4,z=5;if(x2)if(y5)System.out.println(Message three);else System.out.println(Message four);,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号