chapter03Java程序设计基础ppt课件_第1页
chapter03Java程序设计基础ppt课件_第2页
chapter03Java程序设计基础ppt课件_第3页
chapter03Java程序设计基础ppt课件_第4页
chapter03Java程序设计基础ppt课件_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 JavaJava程序设计根底程序设计根底 本章知识点本章知识点nJava程序的组成构造nJava根本数据类型的常量与变量nJava的各种运算符与表达式n实现三种根本控制构造的Java语句n类中方法的定义及调用n一维数组和二维数组的定义和运用3.1 Java程序的组成程序的组成/FileStructure.javapackage myPackage;import javax.swing.JOptionPane; /导入类JOptionPanepublic class FileStructure public static void main( String args) JOpti

2、onPane.showMessageDialog( null, 欢迎他学习Java程序根底!); System.exit(0); / 终止运用程序 【例【例3-1】 Java程序的构造程序的构造包的认识。包的认识。此程序编译后生成的字节码文件FileStructure.class放入包myPackage中3.1 Java程序的组成程序的组成nJava源程序的3个要素n(1)包声明(package statement)-可选; n(2)恣意数量的导入语句(import statements)-可选;n(3)恣意数量的类定义和接口定义。n阐明n3个要素只能按上述顺序出现。n每个源文件最多只能有一个

3、public类或接口,且此时源文件只能以这个public类或接口命名。n类或接口中包括成员(属性和方法)及语句,组成它们的言语单位包括常量、变量、表达式、关键字等。1、Java字符集字符集n大小写的英文字母:大小写的英文字母:A ZA Z,a za zn数字字符:数字字符:0909n特殊字符:特殊字符: 空格空格 ! ! # # % % & & $ $ _(_(下划线下划线) +) + * * = = - - / / “ “ ; ;n . ., , 2、词法记号、词法记号 n关键字关键字:Java:Java预定义的单词。预定义的单词。 n标识符标识符: :程序员声明的单词,命名

4、程序正文中的一些实体。程序员声明的单词,命名程序正文中的一些实体。n 如类名、变量名、方法名、对象名等。如类名、变量名、方法名、对象名等。n常常 量量: :在程序中直接运用符号表示的数据。在程序中直接运用符号表示的数据。n 文字包括文字包括: :数字、字符、字符串和布尔型文字。数字、字符、字符串和布尔型文字。n 如如:123:123,4.564.56,AA,HelloHello,truetruen操作符操作符: :用于各种运算的符号,如:用于各种运算的符号,如:+ +,- -,* *等。等。n分隔符分隔符: :用于分隔各个词法记号或程序正文。用于分隔各个词法记号或程序正文。n 如:如: , :

5、 ; n空白符空白符: :用于指示单词的开场和终了位置。用于指示单词的开场和终了位置。n 空格空格spacespace、制表符、制表符TABTAB键产生的字符、键产生的字符、n 换行符换行符EnterEnter键所产生的字符和注释的总称。键所产生的字符和注释的总称。3、关键字、关键字(Keywords)abstract break byte boolean catch caseclass char continue default double doelse extends false final float forfinally final if import implements inti

6、nterface instanceof long length native newnull package private public protected returnswitch synchronized short static super try true this throw throws thread safe transient void while4、标识符、标识符(identifier)JavaJava标识符的构成规那么标识符的构成规那么: :以字母、下划线以字母、下划线(_)(_)或美圆符或美圆符$ $开场。开场。 可以由大写字母、小写字母、下划线可以由大写字母、小写字母

7、、下划线(_)(_)、数字、数字0909组成。组成。 不能是不能是JavaJava的关键字。的关键字。 大写字母和小写字母代表不同的标识符。大写字母和小写字母代表不同的标识符。 标识符的长度是恣意的。标识符的长度是恣意的。不要运用系统预定义的符号,以免引起混淆。不要运用系统预定义的符号,以免引起混淆。例如:例如:truetrue、falsefalse、nullnull代表的是特殊的值,不是关键字,但代表的是特殊的值,不是关键字,但用户也不要运用这些名字。用户也不要运用这些名字。标识符的作用标识符的作用: :用于标志程序中的名字,类名、变量名、常量用于标志程序中的名字,类名、变量名、常量名、方法

8、名等。名、方法名等。4、标识符、标识符identifier ,userName , User_Name, identifier ,userName , User_Name, _sys_value, $change_sys_value, $change2mail, room#, class2mail, room#, class合法的标识符非法的标识符4、标识符、标识符nJava中的命名规那么n类名:运用名词,含有大小写字母,每个词的首字母大写。如HelloWorld。n方法名:运用动词,含有大小写字母,首字母小写,其他各词的首字母大写。大写字母做词之间的间隔。不要运用下划线。如getName、s

9、etAddress、search。n简单类型常量名:应该全部为大写字母,词与词之间用下划线分隔。如PI、TIME_COMPAROR。n一切的对象、类和全局变量名:运用混合大小写,首字母小写,变量中不要运用下划线。3.2 根本数据类型、变量与常量根本数据类型、变量与常量 nJava的数据类型n根本数据类型:Java言语本身定义的数据类型。 n复合数据类型(援用类型):用户根据本人的需求定义的数据类型。 Java的数据类型的数据类型数据数据类型类型根本数据类型根本数据类型复合数据类型复合数据类型类:类:class布尔类型:布尔类型:boolean数组数组接口:接口:interface字符类型:字符

10、类型:char数值类型数值类型浮点数类型:浮点数类型:float,double整数类型整数类型byte,short,int,long数据类型数据类型关键字关键字占用位数占用位数取值范围取值范围布尔型布尔型boolean8true, false字符型字符型char16u 0000 u FFFF 字节型字节型byte8-128127短整型短整型short16-3276832767整型整型int32-2147483648 2147483647长整型长整型long64-2-63263-1浮点型浮点型float321.40129846432481707e-453.40282346638528860e+3

11、8 双精度型双精度型double644.94065645841246544e-3241.79769313486231570e+308d 3.2.1 根本数据类型根本数据类型3.2.2 常量常量n常量常量: 在程序运转的整个过程中其值一直不可改在程序运转的整个过程中其值一直不可改动的量。动的量。例如,123,5.6,B都是常量。nJava中的常量分类n整型常量n浮点型常量n布尔常量n字符常量n字符串常量1. 整型常量整型常量n包括正整数、负整数和零 nJava的整型常量的表示方式n十进制n八进制n十六进制 整型常量的不同进制的表示方式整型常量的不同进制的表示方式n十进制方式 : 假设干个09的数

12、字n 如:100,-50, 0 n八进制方式: 以0开头的假设干个07的数字n 如:0123表示十进制数83,n -011表示十进制数-9。 n十六进制方式:用0 x或0X开头的假设干个n 09, af, AF的的数字n 如:0 x2F代表十进制的数字47。n 0 x123表示十进制数291,n -0X12表示十进制数-18。 整型常量的类型整型常量的类型n整型常量按照所占用的内存大小分类n整型(int)常量:占用32位。n 如123,-34 n长整型(long)常量:占用64位,长整型常量的尾部有一个大写的L或小写的l。n 如-386L,017777ln阐明:java中的整型常量默以为int

13、,表示long型整数后面加后缀。2. 浮点型常量浮点型常量n浮点型常量:表示可以含有小数部分的数值常量。n根据占用内存长度的不同分类n单精度浮点常量:占用32位内存,用F、f表示。如:19.4F,3.0513E3,8701.52fn双精度浮点常量:占用64位内存,用带D或d或不加后缀的数值表示,n 如:2.433E-5D,700041.273d,3.1415。n阐明:在java中的实型常量默以为double,所以写单精度的实数时要在数字后面写f,如3.14f。浮点型常量的表示方式浮点型常量的表示方式n浮点常量两种表示方式 n普通方式:由数字和小数点组成。n 如0.123, 1.23, 123.

14、0。n指数方式:n 如:0.123e3表示0.123103,n -35.4E-5表示-35.410-5,n 留意:其中e或E之前必需有数字,且e或E后面的指数必需为整数。 3.字符常量字符常量n字符常量:用一对单引号括起的单个字符。字符常量:用一对单引号括起的单个字符。n可见字符:可见字符:aa,ZZ,88,# # n本义字符本义字符nnnnt t nddd : ddd : 八进制表示一个字符八进制表示一个字符nuxxxx: uxxxx: 十六进制无符号整数,表示十六进制无符号整数,表示UnicodeUnicode码。码。n 如如: 101 : 101 用八进制表示一个字符用八进制表示一个字符

15、AAn u0041 u0041 用用UnicodeUnicode码表示一个码表示一个AA3.字符常量字符常量三位8进制数表示的字符 ddd 四位16进制数表示的字符反斜线单引号双引号回车表格符换行水平制表符tab退格含含义义 u005c u0027 u0022 u000d u000c u000a u0009 u0008对对应应Unicode码码 uxxxx ” r f n t b转转义义字字符符三位8进制数表示的字符 ddd 四位16进制数表示的字符反斜线单引号双引号回车表格符换行水平制表符tab退格含含义义 u005c u0027 u0022 u000d u000c u000a u0009

16、u0008对对应应Unicode码码 uxxxx ” r f n t b转转义义字字符符3.字符常量字符常量n字符数据在内存中的存储方式:一个字符用两个字节的Unicode码表示。nUnicode码与ASCII的对应关系:高2位字节00,低2位字节是ASCII值。4.字符串常量字符串常量n字符串常量是用双引号括起的一串字符可以0个。n 例子:Hello,n My nJava,n How old are you? 1234,n n n My + namen留意:字符串常量是String类的对象。5.布尔常量布尔常量n布尔常量:true(真)和false(假)。n在流控制中经常用到布尔常量。n i

17、f (条件 动作1n else 动作2n留意:Java是一种严厉的类型言语,它不允许数值类型和布尔类型之间进展转换。 3.2.3 变量变量n变量:在程序的运转过程中数值可变的数据,n 用来记录运算中间结果或保管数据。n变量的声明数据类型 变量名1,变量名2,变量名n;例如:int num,total;double d1;给变量分配 空间num:total:d1:4字节8字节byte,short,int,long, byte,short,int,long, float,double,char,booleanfloat,double,char,boolean复合类型复合类型3.2.3 变量变量例如

18、:int num,total;double d1;num:total:d1:n变量遵照 “先声明后运用 的原那么。num=5;total=2*num;d1=-234.45;num=6;K=90; /Error!Num=J+90+num; /Error!510-234.456不同类型变量占用的存储空间不同类型变量占用的存储空间数据类型关键字占用位数取值范围布尔型boolean8true, false字符型char16u 0000 u FFFF 字节型byte8-128127短整型short16-3276832767整型int32-2147483648 2147483647长整型long64-2-

19、63263-1浮点型float321.40129846432481707e-453.40282346638528860e+38 双精度型double644.94065645841246544e-3241.79769313486231570e+308d 3.2.3 变量变量n变量的初始化 :声明变量时指定变量初值。例如: char a= a, b; double d1, d2=0.0; boolean flag=true; byte b1=255; byte b2=289; /Error!3.2.3 变量变量n变量的动态初始化: 在变量声明时运用表达式初始化变量。n class DynInit

20、public static void main(String args) double a = 3.0, b = 4.0; double c = Math.sqrt(a * a + b * b); System.out.println(Hypotenuse is: + c); c被动态初始化3.2.4 符号常量符号常量 n符号常量:为常量起的名字。n符号常量声明n final 数据类型 常量名=缺省值;n留意:符号常量声明时一定要赋初值,而在程序的中间不能改动其值。例如:final double PI=3.14159;float r, area;r=4.5;area=3.14159*r*rfl

21、oat r, area;r=4.5;area=PI*r*r;PI=3.1415 /错误【例【例3-2】变量声明和赋值。】变量声明和赋值。 public class UseVariables public static void main(String args) final int PRICE=30; /声明整型常量 long l=1234l; /声明长整型变量并赋值 int num,total; /声明整型变量 float r,v,h = 3.5f; /声明浮点型变量,并给h赋值 double w = 3.1415; /声明双精度型变量并赋值 boolean truth = true; /声

22、明布尔类型变量并赋值 boolean false1; /声明布尔类型变量 char c; /声明字符类型变量 c =A; / 给字符类型变量赋值。 num=10; / 给整型变量赋值 total=num*PRICE; r=2.5f; / 给浮点型变量赋值 v=3.14159f*r*r*h; false1 = 6 7; / 给布尔类型变量赋值 String s=I am a student; /给字符串援用变量赋值 【例【例3-2】变量声明和赋值。】变量声明和赋值。3.3 运算符与表达式运算符与表达式 n运算符运算符: 指明对操作数的运算方式。指明对操作数的运算方式。 n按操作数的个数分按操作数

23、的个数分:单目运算符单目运算符(如如-a),双目运算,双目运算符符(如如a+b),三目运算符三目运算符(如如e1?e2:e3)。n按功能分类按功能分类n算术运算符:算术运算符: +,*,/,%,+,n关系运算符:关系运算符: ,=,b;3.3 运算符与表达式运算符与表达式n表达式表达式: :由运算符、操作数由运算符、操作数( (常量、变量、方法调常量、变量、方法调用用) )和圆括号组成的式子。和圆括号组成的式子。n算术表达式算术表达式n赋值表达式赋值表达式3.3.1 算术运算符与算术表达式算术运算符与算术表达式 n算术运算符算术运算符: :对整型或实型数据的运算。对整型或实型数据的运算。 n算

24、术运算符分类算术运算符分类n双目运算符双目运算符n单目运算符单目运算符3.3.1 算术运算符与算术表达式算术运算符与算术表达式运算符运算例功能+加a + b求a与b相加的和-减a - b求a与b相减的差*乘a * b求a与b相乘的积/除a / b求a除以b的商%取余a % b求a除以b所得的余数n双目算术运算符双目算术运算符双目算术运算符双目算术运算符n留意留意n (1)(1)与与C C不同的是,不同的是,JavaJava中的中的“% %两个运算对象两个运算对象可以是实数。可以是实数。n 13%5=313%5=3n 23.6%12=11.6 23.6%12=11.6n (2) (2)两个整型的

25、数据做两个整型的数据做“/ /运算时,结果是截运算时,结果是截取商的整数部分,而小数部分被截断。取商的整数部分,而小数部分被截断。n 2/4=02/4=0n 2.0/4=0.5 2.0/4=0.5n 算术运算符与算术表达式算术运算符与算术表达式n单目运算符:操作数只需一个。运算符运算例功能等价+自增a+或+aa = a + 1-自减a-或-aa = a - 1-求负数-aa = -a单目算术运算符单目算术运算符例如: int x=-1; x = -x ; 前缀前缀(+,-): (+,-): 先执行单目运算,修正变量的值后用这个先执行单目运算,修正变量的值后用这个 新值参与表达式的运算。新值参与

26、表达式的运算。 后缀后缀(+, -): (+, -): 先计算表达式的值,最后再修正变量的先计算表达式的值,最后再修正变量的取值。取值。 自增和自减的操作对象只能是变量。自增和自减的操作对象只能是变量。 int y=(+x)*3; int y = (x+)*3; 例如: int x = 5 ; int y = (-x) * 3; 前缀和后缀运算符举例前缀和后缀运算符举例x为为4 y为为12x为为4 y为为15交换为 int y = (x-) * 3;【例【例3-3】算术运算符的运用。】算术运算符的运用。n编写一个Java运用程序,在对话框中输入两个数字,输出其+、-、*、/、%运算的计算结果。

27、n利用对话框,接受用户从键盘输入的两个数字组成的字符串。n把两个数字字符串转化为整型数值,并赋值给两个整型变量a和b。n以a和b为操作数进展算术运算,并在对话框中输出运算结果。n程序运转时,可输入恣意两个整数,察看程序运转的不同结果。 【例【例3-3】算术运算符的运用。】算术运算符的运用。n利用对话框输入数据的方法 n String JOptionPane.showInputDialog(String)nString:对话框中的提示文字n前往值:对话框接纳的数据为字符串类型n将数字串转化为数字的方法nint Integer.parseInt(String)n在对话框中显示数据的方法n JOpt

28、ionPane.showMessageDialog(Compoment, object, String n ,JOptionPane.PLAIN_MESSAGE);【例【例3-3】算术运算符的运用。】算术运算符的运用。import java.util.Scanner;public class Test public static void main(String args) System.out.println(输入第一个数);Scanner scn = new Scanner(System.in);int a= scn.nextInt();System.out.println(输入第2个数)

29、;int b= scn.nextInt();String str = a + + +b + = + (a+b) + n;str = str + a + - +b + = + (a-b) + n; str = str + a + * +b + = + (a*b) + n; str = str + a + / +b + = + (a/b) + n; str = str + a + % +b + = + (a%b) + n; System.out.println(str);3.3.2 赋值运算符与赋值表达式赋值运算符与赋值表达式例如,i=5 /赋值表达式的值是5 Java中赋值运算符:=、+=、-=

30、、*=等。 赋值表达式:带有赋值运算符的表达式。 赋值表达式的含义:等号右边表达式的值赋给等号左边的变量。 赋值表达式的类型:等号左边变量的类型。 赋值运算的结合性:自右向左。3.3.2 赋值运算符与赋值表达式赋值运算符与赋值表达式i= 1; i=j=k=1; i=2+(j=4); i=(j=10)*(k=2); Java中提供了复合赋值运算符方式 = /表达式值为表达式值为1 /表达式值为表达式值为1 ,i,j,k的值为的值为1/表达式值为表达式值为6, j的值为的值为4,i的值为的值为6/表达式值为表达式值为20, j的值为的值为10,k的值为的值为2,i的值为的值为203.3.2 赋值运

31、算符与赋值表达式赋值运算符与赋值表达式运算符例子等价于+ =x += ax = x + a- =x -= ax = x - a*=x *= ax = x * a/=x /= ax = x / a%=x %= ax = x % a 常用的复合赋值运算符n例:a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8)3.3.3 关系运算符与关系表达式关系运算符与关系表达式n关系运算:比较两个数据之间的大小关系的运算。n关系运算的结果:布尔型的量true或false。 例如:例如: int x = 5, y = 7 ; boolean b = ( x = = y ) ;关系运算符关系运算

32、符 运算符运算例= =等于a=b! =不等于a!=b大于ab小于a=大于等于a=b=小于等于a1) & (5-4)! false3.3.4 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式n逻辑运算符与布尔逻辑运算符的区别逻辑运算符与布尔逻辑运算符的区别n逻辑运算符:逻辑运算符: & |& |n 利用它们做逻辑运算时,运算时右边的表达利用它们做逻辑运算时,运算时右边的表达式有能够被忽略式有能够被忽略( (短路短路) )而不加执行。而不加执行。n布尔逻辑运算符:布尔逻辑运算符:& &、| | 、 n 利用它们做与、或、异或运算时,运算符左利用它们做与、或、异或

33、运算时,运算符左右两边的表达式总会被运算执行,然后再对两表右两边的表达式总会被运算执行,然后再对两表达式的结果进展与、或运算。达式的结果进展与、或运算。e1 & e2e1 & e2false3.3.4 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式boolean b= x y & x+ = y- ; /x为4,y为4,b为false 例如:int x = 3, y = 5 ; boolean b= x y & x+ = y- ; /x为3,y为5,b为false 短路短路3.3.4 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式n逻辑表达式:由逻辑运算符、关系表达式

34、、逻辑逻辑表达式:由逻辑运算符、关系表达式、逻辑值构成。值构成。例如:例如:int x=12, y=13;float a=1, b=2;x = = y & a b!(a = b)x y & (a+3) b | ! ( x = a )3.3.6 其它运算符其它运算符 n条件运算符与条件表达式条件运算符与条件表达式n e1?e2:e3ne1 为为 boolean 类型类型ne2与与e3的类型一样的类型一样n执行顺序执行顺序n假设假设e1的值为的值为true,e2的值为最终结果的值为最终结果n假设假设e1的值为的值为false,e3的值为最终结果的值为最终结果例如: y= x=0 ?

35、 x: -x max= xy ? x: y3.3.6 其它运算符其它运算符n括号括号 ( )n方括号方括号 n 对象运算符对象运算符 instanceof n boolean b = MyObject instanceof TextField; ninstanceof用来测定一个对象能否是某一个指定用来测定一个对象能否是某一个指定类或其子类的实例。类或其子类的实例。3.3.7 运算符的优先级与结合性运算符的优先级与结合性n表达式的运算次序表达式的运算次序: :取决于表达式中各种运算符取决于表达式中各种运算符的优先级。优先级高的运算符先运算的优先级。优先级高的运算符先运算, ,优先级低优先级低的

36、运算符后运算,同一行中的运算符的优先级一的运算符后运算,同一行中的运算符的优先级一样。样。n运算符的结合性运算符的结合性: :决议了并列的一样运算符的先决议了并列的一样运算符的先后执行顺序。后执行顺序。Java运算符的优先级与结合性运算符的优先级与结合性 右左= += -= *= /= %= =赋值运算14右左? :三目条件运算13左右|逻辑或12左右&逻辑与11左右|按位或,布尔逻辑或10左右按位异或9左右&按位与,布尔逻辑与8左右= = !=相等关系运算7左右 =关系运算6左右 移位运算5左右+ -算术加减运算4左右* / %算术乘除运算3右左+(正号) (负号) + -

37、- !强制类型转换符单目运算2左右. ( )最高优先级1结合性运算符描述优先级右左= += -= *= /= %= =赋值运算14右左? :三目条件运算13左右|逻辑或12左右&逻辑与11左右|按位或,布尔逻辑或10左右按位异或9左右&按位与,布尔逻辑与8左右= = !=相等关系运算7左右 =关系运算6左右 移位运算5左右+ -算术加减运算4左右* / %算术乘除运算3右左+(正号) (负号) + - - !强制类型转换符单目运算2左右. ( )最高优先级1结合性运算符描述优先级高高低低Java运算符的优先级与结合性运算符的优先级与结合性n例如n x y & ! z 相

38、当于 ( x y ) & ( ! z )n x + y + z 等价于 ( x + y ) + z n ! !x 等价于 !( ! x ) 3.3.8 混合运算时数据类型的转换混合运算时数据类型的转换 n当表达式中出现了多种类型数据的混合运算时,需求进展类型转换。nJava的类型转换是一种加宽转换n隐含转换:从占用内存较少的短数据类型转化成占用内存较多的长数据类型时,可以不做显式的类型转换声明。例如例如,long lVal=1000;int ival=200;lVal=ival;double d1=123.5f;根本类型数据占有的内存宽度根本类型数据占有的内存宽度数据类型数据类型关键字

39、关键字占用位数占用位数取值范围取值范围布尔型布尔型boolean8true, false字符型字符型char16u 0000 u FFFF 字节型字节型byte8-128127短整型短整型short16-3276832767整型整型int32-2147483648 2147483647长整型长整型long64-2-63263-1浮点型浮点型float321.40129846432481707e-453.40282346638528860e+38 双精度型双精度型double644.94065645841246544e-3241.79769313486231570e+308d 隐含转换隐含转换n

40、算术运算符、赋值运算符、关系运算符、逻辑运算符和位运算符,这些二元运算符要求两个操作数的类型一致。假设类型不一致,编译系统会自动对数据进展类型转换。 n隐含转换的规那么n 低 高n byte short char int float double强迫类型转换强迫类型转换n强迫类型转换强迫类型转换n从较长的数据类型转换成较短的数据类型时,必从较长的数据类型转换成较短的数据类型时,必需做强迫类型转换。需做强迫类型转换。 即将表达式的类型强迫性即将表达式的类型强迫性地转换成某一数据类型。地转换成某一数据类型。n强迫类型转换的格式强迫类型转换的格式n 数据类型表达式数据类型表达式 【例【例3-6】数据

41、转换类型的代码。】数据转换类型的代码。public static void main(String args) int iVal=258;long lVal=1000;short sVal=12;byte bVal = 2;char cVal = a;float fVal = 5.67f;double dVal = .1234;lVal=iVal; dVal = fVal; System.out.println(lVal+,+dVal);/自动转换自动转换, lVal的值是的值是258。dVal的值是的值是5.67bVal=(byte) iVal; System.out.println(bVa

42、l); /当值当值258被强迫转换为被强迫转换为byte变量时,其结果是变量时,其结果是258除以除以256的余数的余数2iVal=(int)lVal; iVal=cVal+1; System.out.println(iVal);lVal=(long) fVal;System.out.println(lVal);bVal = (byte) (bVal * 2);System.out.println(bVal); 【例【例3-6】数据转换类型的代码。】数据转换类型的代码。/强迫转换强迫转换/自动转换。自动转换。 将将a对应的对应的16 位的位的Unicode值值97转换转换为为32位的位的int

43、型型 , 与与1 相加,相加,iVal的值是的值是98/变量变量fVal 被强迫转换为被强迫转换为long型,舍弃了小数部分。型,舍弃了小数部分。LVal的值是的值是5/强迫转换强迫转换 bVal = bVal * 2 ; /Compiling Error. Cannot assign an int to a bytebVal = (byte) (bVal * 2) ; / /强迫转换强迫转换【例【例3-6】数据转换类型的代码。】数据转换类型的代码。3.3.9 语句和块语句和块n一个根本的语句以分号;结尾。n语句n表达式语句n空语句n复合语句n声明语句n选择语句n循环语句n跳转语句n方法调用语

44、句语句和块语句和块1 1、表达式语句:一个合法的表达式加上分号。、表达式语句:一个合法的表达式加上分号。2 2、空语句、空语句 例如:a + b;a + b * c + f; ;语句和块语句和块3、复合语句语句块、复合语句语句块 将多条语句用将多条语句用 括起来,就构成复合语句。括起来,就构成复合语句。例如: int x, y, z; x = 5; y = 6; z = x + y;例如,根据输入的例如,根据输入的x 值,求出值,求出y值。值。 - 1 (x0)统计出统计出1+2+3+n之和。之和。sum=0; sum=sum+i; 反复做累加反复做累加(i从从1 到到n)3.4 算法的根本控

45、制构造算法的根本控制构造n 算法的根本控制构造有3种n 顺序构造n 选择构造n 循环构造n三种根本构培育构成了程序的控制流程truefalsefalsetrue3.4 算法的根本控制构造算法的根本控制构造3.4 算法的根本控制构造算法的根本控制构造 与算法的根本控制构造相关的与算法的根本控制构造相关的Java语句语句 分支语句:分支语句:if-else, switch 循环语句:循环语句:while, do-while, for 与程序转移有关的其它语句:与程序转移有关的其它语句:break, continue, return3.4.1 分支语句分支语句 n分支语句提供了一种控制机制,使得程序

46、根据相应的条件去执行对应的语句。nif语句nswitch语句1. if 语句的语句的3种方式种方式(1) if (表达式) 语句例:if ( x y) z=x; else z=y;(3) if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 else 语句 n例: if (x0) y=1;else if (x=0) y=0;else if (x-10) y= -1; -10 x=0 & score=100)switch(score/10)case 10: case 9: grade=A; break;case 8: grade=B; b

47、reak;case 7: grade=C; break;case 6: grade=D; break;default: grade=E;System.out.println(grade=+ grade);3.4.2 循环语句循环语句 n循环构造是在一定条件下,反复执行某段程序的流程构造,被反复执行的程序被称为循环体。nJava的循环语句共有3种nwhile语句ndo-while语句nfor语句 1. while 语句语句while 语句方式 while (条件表达式) 语句执行顺序循环体可以是复合循环体可以是复合语句,其中必需含语句,其中必需含有改动条件表达式有改动条件表达式值的语句。值的语句

48、。while 语句的运用语句的运用【例【例3-103-10】用】用whilewhile语句求语句求1+2+1001+2+100的和。的和。 当 i=n 时 sumsum+i i+sum 0, i 1输出sum循环前的初始化循环体循环后的处置public class WhileTry public static void main(String args) int i,sum; sum=0; /累加和变量置累加和变量置0 i=1; /计数器计数器i的初始值为的初始值为1 while (i=100) sum+=i; i+; System.out.println(sum=+sum); sum=505

49、0 如何求1+3+5+7+.+99=?如何求2+4+6+8+.+100=? while (i100) while (i100) i=i+2; while (i=100)i=i+2; i=2;while 语句的运用语句的运用2. do-while 语句语句普通方式do 语句while (表达式)循环体可以是复合语句,其中必需含有改动条件表达式值的语句。执行顺序 与while语句的比较public class DoWhileTry public static void main(String args) int i,sum; sum=0; /累加和变量置累加和变量置0 i=1; /计数器计数器i的

50、初始值为的初始值为1 do sum+=i; i+; while (i=100); System.out.println(sum=+sum); 2.do-while 语句语句【例【例3-12】输入一个整数,将各位数字反转后输出。】输入一个整数,将各位数字反转后输出。n 例如:12345 54321 n 分析: 采用不断除以10取余数的方法,直到商数等于0为止。并规定整数n为0,输出0。输入输入n;rightDigit=n%10; 反复此过程直到反复此过程直到n等于等于0为止为止输出输出rightDigit;n=n/10;String output=;do rightDigit=n%10; out

51、put=output+rightDigit; n=n/10; while (n!=0);当(n!=0)import javax.swing.JOptionPane; class ReverseDigits public static void main(String args) int rightDigit; Scanner scn = new Scanner(System.in); System.out.println(输入一个数输入一个数); int n= scn.nextInt(); do rightDigit=n%10; System.out.print(rightDigit); n=

52、n/10; while (n!=0); 【例【例3-12】输入一个整数,将各位数字反转后输出。】输入一个整数,将各位数字反转后输出。3. for语句语句语法方式: for (表达式1;表达式2;表达式3) 语句 为为true时执行循环体时执行循环体每次执行完循环体后求解每次执行完循环体后求解.用于改动循环控制变量的值用于改动循环控制变量的值 执行顺序循环前先求解循环前先求解, 完成初始化循环变量和其他变量完成初始化循环变量和其他变量例例: for(i=1; i=100; i+) sum+=i;【例【例3-13】用】用for语句求语句求1+2+100的和。的和。如何求如何求1+3+5+7+.+9

53、9=?如何求如何求2+4+6+8+.+100=?public class ForTry public static void main(String args) int i,sum; sum=0; for(i=1; i=100; i+) sum+=i; System.out.println(sum=+sum); 【例【例3-143-14】输入一个整数,求出它的一切因子。】输入一个整数,求出它的一切因子。 n分析:运用穷举法对1n的全部整数判别,假设能整除n的均是n的因子。 public static void main(String args) Scanner scn = new Scanne

54、r(System.in); System.out.println(输入一个数); int n= scn.nextInt(); for(int k=1; k=n; k+) if(n%k=0) System.out.print(k+ ); 关于关于for语句的几点阐明语句的几点阐明 1for语句的三个表达式可以为空但分号不能省略 for (; ;) 语句; /相当于 while (true) 语句; for (; i=100;) 语句; /相当于 while (i=100) 语句;2在表达式1和表达式3的位置上可包含多个语句 sum=0; for(int i=1; i=100; i+) /在在fo

55、r语句中声明循环控制变量并赋初值语句中声明循环控制变量并赋初值 sum+=i; for(sum=0, int i=1; i=100; i+) sum+=i; System.out.println(i); /!Error sum=0; i=1 /在在for语句之前给循环控制变量赋初值语句之前给循环控制变量赋初值 for (; i100; i+) sum=sum+i; /省略表达式省略表达式1 i=1 /在在for语句之前给循环控制变量赋初值语句之前给循环控制变量赋初值 for (sum=0; i100; i+) /表达式表达式1与循环控制变量无关与循环控制变量无关 sum=sum+i; for

56、(sum=0, i=1; i100; ) /省略表达式省略表达式3 sum=sum+i; i+; /在循环体中改动循环控制条件在循环体中改动循环控制条件 for( i=0, j=10; ij; i+, j-) / 表达式表达式1和表达式和表达式3可以是逗号表达式可以是逗号表达式 关于关于for语句的几点阐明语句的几点阐明4、循环的嵌套、循环的嵌套 n循环的嵌套:一个循环体内又包含另一个完好的循环构造。n三种循环语句while循环, do-while循环和for循环它们可以相互嵌套运用。 【例【例3-15】打印出星星菱型图案。】打印出星星菱型图案。 n 分析n 画出上半部分4行图案:i =1 t

57、o 4 n 画出下半部分3行图案: i=3 to 1 n 画空格:4-i 个;n 画星号:2*i-1 个n 换行n 画空格:4-i 个;n 画星号:2*i-1 个n 换行for(i=1;i=4;i+) /画上面画上面4行行 for(j=1;j=4-i;j+) System.out.print(“ ); for(j=1;j=2*i-1;j+) System.out.print(“*); System.out.println(); 5、跳转语句、跳转语句n用于改动程序控制流用于改动程序控制流nbreak语句语句ncontinue语句语句nreturn循循环环 break体体循环条件循环条件true

58、循循环环 continue体体循环条件循环条件true(1) continue语句语句 ncontinue语句只能出如今循环体中n终了本轮循环,接着开场判别决议能否执行下一轮循环。ncontinue语句的语法格式n continue 标号;continue语句语句n不带标号的continue语句:终止当前这一轮循环,跳过本轮剩余的语句,直接进入当前循环的下一轮。n 在for循环中,不带标号的continue语句会跳转至表达式3,计算修正循环变量后再判别循环条件。n n 在while或do while循环中,不带标号的continue语句会使流程直接跳转至条件表达式。n 【例【例3-16】运用不

59、带标号的】运用不带标号的continue语句语句的一个程序段。的一个程序段。int count;for (count=1;count=10;count+) if (count=5) continue; System.out.println(count + ); System.out.println(count=+count);程序段的运转输出结果如下:程序段的运转输出结果如下:1 2 3 4 6 7 8 9 10 count=11 2break语句语句 nbreak语句仅出如今switch语句或循环体中。n作用:使程序的流程从一个语句块内部跳转出来,即从switch语句的分支中跳出,或从循环体

60、内部跳出。 nbreak语句的语法格式nbreak 标号;循循环环 break体体循环条件循环条件true【例【例3-18】运用不带标号的】运用不带标号的break语句的语句的一个程序段。一个程序段。int count;for (count=1; count=10; count+) if (count=5) break; System.out.println(count + ); System.out.println(count=+count);程序段的运转输出结果如下:程序段的运转输出结果如下:1 2 3 4 count=5【例【例3-19】运用带标号的】运用带标号的break语句的一语句的一个程序段。个程序段。 stop:for (int i=1; i=10; i+) for (int j=1; j=5; j+) if (i=5)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论