Java02Java程序设计基础.ppt

上传人:sccc 文档编号:5364035 上传时间:2023-06-29 格式:PPT 页数:56 大小:495.01KB
返回 下载 相关 举报
Java02Java程序设计基础.ppt_第1页
第1页 / 共56页
Java02Java程序设计基础.ppt_第2页
第2页 / 共56页
Java02Java程序设计基础.ppt_第3页
第3页 / 共56页
Java02Java程序设计基础.ppt_第4页
第4页 / 共56页
Java02Java程序设计基础.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《Java02Java程序设计基础.ppt》由会员分享,可在线阅读,更多相关《Java02Java程序设计基础.ppt(56页珍藏版)》请在三一办公上搜索。

1、第二章 Java程序设计基础,信息类专业课程,西北农林科技大学,主要内容,(1)标识符和关键字(2)数据类型(3)变量和常量(4)数据类型转换(5)运算符(6)程序流程控制语句(7)结构化程序设计,2.1标识符和关键字,Java中的标识符:可以用来标识变量名、类名、类中的方法名和文件名等.标识符组成:(1)字母,(2)数字,(3)下划线“_”和(4)美元符号“$”;首字符必须是(1)字母,(2)下划线“_”和(3)美元符号“$”;所有标识符是区分大小写的;除去关键字、false、true和null;,问题:是/不是 标识符?,myVariable 9pinsMYVARIABLE i a+cte

2、sting1-2-3,_myvariablejava¨My Variable$myvariable _9pins Its猫,标识符的习惯命名,能表达明确意义的英文单词命名,并采用规范的单词缩写形式与单词分隔形式。表示常量时标识符全部用大写字母和下划线表示,如PI,SALES_TAX。表示类名或接口名时,标识符用大写字母开头,如CreditCard。表示变量名和方法名,以小写字母开头,单词之间不要有分隔符,第二及后面单词第一个字符用大写字母,如authorName。,Java关键字,具有特殊含义的字符序列例如:public、static和class 具有特殊用途,不能作为变量名、方法名和类

3、名,2.2数据类型,基本数据类型,2.3变量和常量,变量在计算机内部对应着一个存储单元,而且总是具有某种数据类型:基本数据类型或引用数据类型变量总是具有与其数据类型相对应的值每个变量均具有:名字、类型、一定大小的存储单元以及值变量名对应内存的位置,Java变量必须属于某种类型,变量值也必须与变量类型相匹配例如:int studentNumber;/声明单个变量double velocity,distance;/声明多个变量studentNumber=30;/给变量赋以整数30int studentNumber=30;/声明变量,并赋初值,变量在内存中的存储方式,int ID=42889;Str

4、ing s=“Hello World!”;,常量,赋值后不能更改的值使用关键final使常量不能改变 如final double SALES_TAX=6.5;如果试图改变常量的值,编译器将发出一条出错信息,Java常量,Java常量包括基本数据类型常量、字符串(String)常量和null 布尔(boolean)常量只有两个:true 和 falsec,u0061,u0051 和 u005a 是char常量.34是int常量1.5,45.6,76.4E8和-32.0是double常量34L是long常量.1.5F,45.6f,76.4E8F和-32.0F是float常量“Hello World

5、!”是String常量null是引用数据类型的常量任意引用数据类型的常量(null),2.4数据类型转换,用变量、常量赋值给另一个变量时,两者的数据类型必须一致。如不一致,则要进行数据的类型转换类型转换有隐式转换(自动类型转换)和显式转换(强制类型转换)两种,隐式类型转换,当占用比特位较少的类型转换为占有比特位数较多的数据时,使用隐式类型转换转换过程由Java编译器自动进行例:将短格式整型数据赋值为长格式整型数据,不会出现错误,如:int i=123;long j=i;若反过来,将长格式赋值给短格式整数,如:long j=25L;int i=j;以及将双精度数据赋值为单精度变量,如:float

6、 a=2.5;将出现编译错误。,显示类型转换,当长格式数据赋值给短格式整型变量,双精度数据给单精度类型赋值,浮点型数据给整型变量赋值时,均要进行显示类型转换,即强制类型转换强制类型转换的格式为:(目标数据类型)变量名 例如:int a=260;byte b;b=(byte)a;,2.5运算符,对基本数据类型的常量与变量进行加工的过程成为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数。Java语言的运算符分成以下几类:一元运算符二元或三元运算符前缀或中缀或后缀运算符,Java运算符,算术运算符关系运算符布尔逻辑运算符位运算符赋值类运算符条件运算符其他运算符,1、算术运算符,算术

7、运算符包括:+,-,*,/,+,-,%没有指数运算Math.pow(2.0,3.0);/2.03.0整数除法:截去余数7/5 结果为 1取模:返回余数7%5 结果为 2,问题?,7/-5=-7%5=7%-5=-7.0/5=7/-5.0=7%5.0=-7%-5.0=,-1-22-1.4-1.42.0-2.0,2、关系运算符,六个关系运算符:、=、=和!=例如:1 2;/false3.5!=1;/true 51.5=23.0;/true540=654;/true24=3*8;/trueboolean isEqual=(10 10);/isEqual=false;,关系运算符的注意事项,、=只能用来

8、比较两个数值类型数据(numbers含characters)的大小不能用于Strings、booleans、arrays或其他类型,3、布尔逻辑运算符,六个布尔逻辑运算符:&(逻辑与AND)|(逻辑或OR)(逻辑异或XOR)!(逻辑非NOT)单目运算符,即只有一个操作数&(条件与AND)|(条件或OR),4、位运算符,位运算符包括:&、|、和 带符号右移不带符号右移越晦涩难懂的,越会被SCJP考到(?)移位操作是:先将整数写成二进制形式,然后按位操作,最后产生一个新的数注意:只用于整数,5、赋值类运算符,赋值类运算符包括:=、+=、-=、*=、/=、,6、条件运算符,条件运算符“?:”的表达式

9、形式为“op1?op2:op3”op1:布尔表达式例如:int k=(i=0)?1:-1);,7、其他运算符,其他运算符包括:(类型)、.、()、instanceof和new例如:int a=51;char c=(char)a;,运算符优先级,一元后缀.()+-一元前缀+-+=!创建和强制类型转换 new(type)倍数*/%增量+-移位 关系=&=|=,2.6程序流程控制语句,if/else if/else while do while forswitch case break continue,if-else语句,if-else语句根据判定条件的真假来执行两种操作中的一种。它的形式如下:i

10、f(布尔表达式)语句1;else 语句2;其中,用“”括起的else部分是可选的(即可有可无的)。若无else部分,if语句的流程如下图:,无else部分的if语句的流程图,true,false,语句1,布尔表达式,后续语句,若有else部分,if语句的流程如图,true,false,语句1,布尔表达式,后续语句,语句2,注意:else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用。,例:判断成绩是否优秀,class If_NoElse public static void main(String args)int scoreOfMark=89;if(scoreOfMark

11、=90)System.out.println(“祝贺你,你的成绩优秀);else System.out.println(“你的成绩未达到优秀,请继续努力!);,while 语句,while 语句的语法形式为:while(布尔表达式)语句 while 语句用于在布尔表达式(即测试条件)的值保持为真(true)时反复地执行其中的内嵌语句(一般叫做循环体)。,while 语句的流程图,True,false,例:用while语句求1+2+10的和。,public class WhileOfSum public static void main(String args)int i,sum;sum=0;/

12、累加器清0 i=1;/i的初始值为1while(i=10)sum+=i;i+;System.out.println(sum=+sum);,do while语句,Java还提供了另一个与while语句类似的语句:dowhile 语句。dowhile 语句的语法形式如下:do 语句;while(布尔表达式);,dowhile 语句的流程图,true,false,for语句,for 语句是循环的另一种表示形式。for语句的语法形式为:for(表达式1;表达式2;表达式3)语句;例如要使循环执行某一段代码1000次,可以表达为:for(int number=0;number1000;number+)/

13、一段代码,for语句的流程图,例:用for语句求1+2+10的和,public class ForOfSum public static void main(String args)int i,sum;sum=0;/累加器清0 for(i=1;i=10;i+)sum+=i;System.out.println(sum=+sum);,for语句常见的错误,错误一:for语句不写大括号 for(int i=1,sum=0;i=100;i+)sum+=I;System.out.println(“i=”+i+“,+sum=”+sum);错误二:利用浮点类型的=或!=运算作为条件表达式for(doubl

14、e x=0.1;x!=1.0;x+=0.1)System.out.println(x+;);,switch语句,switch 语句根据表达式的结果来执行多个操作中的一个,它的语法形式如下:switch(表达式)case 常量1:语句1;break;case常量2:语句2;break;case常量n:语句n;break;default:缺省处理语句 break;,switch语句的流程图,表达式,break,语句1,break,语句2,break,语句n,break,缺省处理语句,后续语句,常量1,常量2,常量n,default,.,switch语句的注意点(1),1.使用switch语句时,要

15、注意表达式必须是符合byte,char,short,int类型的表达式,而不能使用浮点类型或long类型,也不能为一个字符串;2.switch语句将表达式的值依次与每个case子句中的常量值相比较。如果匹配成功,则执行该case子句中常量值后的语句,直到遇到break语句为止;3.case子句中常量的类型必须与表达式的类型相容,而且每个case子句中常量的值必须是不同的;4.default子句是可选的,当表达式的值与任一case子句中的值都不匹配时,就执行default后的语句。,switch语句的注意点(2),5.break语句在执行完一个case 分支后,使程序跳出switch 语句,执行

16、switch 语句的后续语句。6.在一些特殊的情况下,例如多个不同的case值要执行一组相同的操作,可以写成如下形式:case常量n:case常量n+1:语句 break;,switch语句的注意点(3),7.case 分支中包括多个执行语句时,可以不用花括号“”括起;8.通过if-else语句可以实现switch 语句所有的功能。但通常使用switch语句更简练,且可读性强,程序的执行效率也高;9.if-else 语句可以基于一个范围内的值或一个条件来进行不同的操作,但switch 语句中的每个case 子句都必须对应一个单值。,例:用switch语句实现学生成绩的百分制到等级制的转换,cl

17、ass SwitchDemopublic static void main(String args)int testScore=88;char grade;switch(testScore/10)/两个整型数相除的结果还是整型 case 10:/此处没有使用break case 9:grade=A;break;/值为10和9时的操作是相同的 case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;default:grade=F;break;System.out.println(grade is:+grade);,break语

18、句,对于Java 中的三种类型的循环:while、do-while、for来说,正常的退出循环的方法是当测试条件变为false时。但有时即使测试的条件为true,也希望循环立即终止,这时可以用break语句实现此功能。break语句的一般语法格式为:break 标号;break语句不能用于循环语句和switch语句之外的任何其它语句中。,例:break语句的例子,public class BreakDemo public static void main(String args)int index=0;while(index=100)index+=10;if(index=40)break;/*

19、当index的值大于100时,循环将终止。但有一种特殊的情况,如果index的值等于40,循环也将立即终止。*/System.out.println(The index is+index);,输出结果:The index is 10The index is 20The index is 30,true,false,continue 语句,Continue语句只能在循环中使用。它和break语句的区别是continue 语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环语句的执行。continue语句的一般格式为:continue标号;,例:continue语句的例子

20、,public class ContinueDemopublic static void main(String args)int index=0;while(index=99)index+=10;/*当index的值等于40时,使循环回到while语句处,而不像正常处理那样去执行后面的输出语句*/if(index=40)continue;System.out.println(The index is+index);,ture,false,学生成绩查询系统案例1,打印某学生某一学期所有课程的成绩和等级(优、良、中、及格和不及格),并给出平均成绩。,public class PringStuSc

21、ore public static String scoreLevel(int score)if(score=90)return 优;else if(score=80)return 良;else if(score=70)return 中;else if(score=60)return 及格;else return 不及格;public static void main(String args)int javaScore=90;int databaseScore=75;int englishScore=85;int avrScore=(javaScore+databaseScore+englis

22、hScore)/3;System.out.println(Java课程成绩:+javaScore+scoreLevel(javaScore);System.out.println(数据库课程成绩:+databaseScore+scoreLevel(databaseScore);System.out.println(英语课程成绩:+englishScore+scoreLevel(englishScore);System.out.println(平 均 成 绩:+avrScore);,作业,2.1、编写一个程序,打印100200之间的素数,要求每行按10个数(数与数之间有一个空格间隔)的形式对其输出。2.2、编写一个编程,给定一个t的值按下式计算y值并输出,要求分别用if和switch语句来实现。t2-1 0t1 t3-2t-2 1t3 y t2-tsin(t)3t5 t+1 5t7 t-1 其它提示:开平方方法:Math.sqrt(n)计算sin(t)方法:Math.sin(t),Thank You Any?,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号