第二章结构化程序设计_第1页
第二章结构化程序设计_第2页
第二章结构化程序设计_第3页
第二章结构化程序设计_第4页
第二章结构化程序设计_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章结构化程序设计 第二章第二章 结构化程序设计结构化程序设计 2.1 2.1 标识符和关键字标识符和关键字 2.2 2.2 数据类型、数据类型、变量和常量变量和常量 2.3 2.3 运算符运算符 2.4 2.4 控制结构控制结构 2.5 2.5 结构化程序设计结构化程序设计 第二章结构化程序设计 2.1 2.1 标识符和关键字标识符和关键字 标识符:是对变量、类、方法、标号和其它各种用户标识符:是对变量、类、方法、标号和其它各种用户 自定义对象的命名。自定义对象的命名。 在在JavaJava中,标识符必须以字母、下划线()或美元中,标识符必须以字母、下划线()或美元 符()开头,后面跟符(

2、)开头,后面跟0 0个或多个由字母、下划线、个或多个由字母、下划线、 美元符或数字组成的字符数字串。美元符或数字组成的字符数字串。 标识符是大小写敏感的标识符是大小写敏感的 字母是字母是UnicodeUnicode字符集字符集 没有最大长度限制没有最大长度限制 除去关键字、除去关键字、false、true和和null 第二章结构化程序设计 问题问题: 是是/不是不是 标识符标识符? myVariable 9pins MYVARIABLE i a+c testing1-2-3 _myvariable java 第二章结构化程序设计 Java变量必须属于某种类型变量必须属于某种类型 变量值也必须与

3、变量类型相匹配 例如: int studentNumber; / 声明单个变量声明单个变量 double velocity, distance; / 声明多个变量声明多个变量 studentNumber=30;/ 给变量赋以整数给变量赋以整数30 int studentNumber=30;/ 声明变量,并赋初声明变量,并赋初 值值 第二章结构化程序设计 二、变量和常量二、变量和常量-常量常量 常量是在程序运行期间不能被修改的量。分为:常量是在程序运行期间不能被修改的量。分为: 普通常量(常数)普通常量(常数) 标识符常量(常值变量):标识符常量(常值变量): final;final;如如 MA

4、X_VALUEMAX_VALUE final double PI=3.14159; final double PI=3.14159; 第二章结构化程序设计 Java常量常量 Java常量包括基本数据类型常量、字符串(String)常量和 null 布尔布尔(boolean)常量只有两个:常量只有两个:true 和和 false c, 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是是floa

5、t常量常量 “Hello World!”是是String常量常量 null是引用数据类型的常量是引用数据类型的常量 第二章结构化程序设计 三、简单数据类型三、简单数据类型整型整型 整型都为带符号数整型都为带符号数 类型类型 名称名称 类型类型 定义定义 宽度宽度初始值初始值 表示表示 十进制八进制十六进制十进制八进制十六进制 字节型字节型bytebyte8 8(byte)0(byte)032320320320 x320 x32 短整型短整型 shortshort1616 (short)(short) 0 0 32320320320X320X32 整型整型intint32320 03232032

6、0320 x320 x32 长整型长整型longlong64640L0L 32L32L 32l32l 032L032L 0 x32l0 x32l 第二章结构化程序设计 三、简单数据类型三、简单数据类型浮点型(实型)浮点型(实型) 类型名称类型名称 类型定义类型定义 宽宽 度度 初始值初始值 表示表示 小数形式小数形式 指数形式指数形式 单精度数单精度数FloatFloat32320.0f0.0f 23.12f -5E9F23.12f -5E9F 23.12 -5e923.12 -5e9 双精度数双精度数doubledouble64640.00.0 第二章结构化程序设计 三、简单数据类型三、简单

7、数据类型字符型字符型 charchar定义定义 数据位宽度为数据位宽度为16bit,16bit,使用使用UnicodeUnicode字符集字符集 字符常量字符常量:A:A 利用转义字符来表示一些控制字符利用转义字符来表示一些控制字符: 换行(换行(nn); ;回车(回车(r);r); 1 1到到4 4位十六进制所表示的字符(位十六进制所表示的字符(uxxxxuxxxx) 第二章结构化程序设计 常用的转义字符常用的转义字符 b (退格) f (换页) n (换行) r (回车) t (水平制表符(到下一个tab位置) (单引号) (双引号) (反斜杠) 第二章结构化程序设计 三、简单数据类型三、

8、简单数据类型字符型字符型 public class Welcome3 public static void main( String args ) System.out.println( WelcomentonJavan Programming! ); 第二章结构化程序设计 三、简单数据类型三、简单数据类型布尔型布尔型 booleanboolean定义定义 数据位宽度为数据位宽度为1 1 变量的值变量的值: :只能是真只能是真(true)(true)和假和假(false)(false) 进行流程控制进行流程控制 第二章结构化程序设计 四、简单数据类型的相互转换四、简单数据类型的相互转换 自动(

9、隐式)类型转换和强制(显式)类型转自动(隐式)类型转换和强制(显式)类型转 换换 整型、实型、字符型整型、实型、字符型 byte-short-int-long-float-double char-int-long-float-double 自动类型转换自动类型转换 强制类型转换强制类型转换 第二章结构化程序设计 五、对简单数据类型的类包装五、对简单数据类型的类包装 java.langjava.lang包中有类包中有类: Boolean Character Byte Double Float Integer Long Short 第二章结构化程序设计 习题习题 Java的简单数据类型有哪些?与其

10、他语言的简单数据类型有哪些?与其他语言 的最大不同在哪里?的最大不同在哪里? 请指出下面数值的类型。请指出下面数值的类型。 178;8864L;37.266;37.266D;87.363F; 26.77e3;c;true 仔细阅读下面的程序仔细阅读下面的程序,找出并改正其中的错找出并改正其中的错 误误. 第二章结构化程序设计 习题习题 Class Arithmetic public static void main (String args) final int x = 17,y = 5; boolean mycom = 1; System.out.println(“x=”+x); Syste

11、m.out.println(“y= ” +y) if(mycom) System.out.println(“x+y= ” + (x+y); 第二章结构化程序设计 习题习题 请说明下面程序中所有变量的作用域请说明下面程序中所有变量的作用域. . Class Spot public int size; public Spot (int intSize) int pointx,pointy; size = intSize; pointx=intSize; 第二章结构化程序设计 2.3 2.3 运算符运算符 运算符指明对操作数所进行的运算。运算符指明对操作数所进行的运算。 表达式是变量、常量、运算符、

12、方法调用的序表达式是变量、常量、运算符、方法调用的序 列,它执行指定的计算并返回某个确定的列,它执行指定的计算并返回某个确定的 值。值。 第二章结构化程序设计 2.3 2.3 运算符运算符 算术运算符(算术运算符(+,- - -, + +,- - , * *,/ /,% % ) 关系运算符(,关系运算符(, = =, = =,= = =,!,! = =) 逻辑运算符(!,逻辑运算符(!, ) 位运算符(位运算符( , , , , , , ,) 赋值运算符(基本:赋值运算符(基本:= = ;复合:;复合: +=+=,-=-=,* *= =, /=/=,%=,%=,) 第二章结构化程序设计 2.3

13、 2.3 运算符运算符 条件运算符(?:条件运算符(?: )条件?表达式)条件?表达式1 1:表达:表达 式式2 2 其它运算符(分量运算符其它运算符(分量运算符. .,字符串合并,字符串合并+ +, (类型(类型) )表达式,下标运算符表达式,下标运算符等)等) 表达式有算术表达式、关系表达式、逻表达式有算术表达式、关系表达式、逻 辑表达式、位运算表达式、赋值表达式、条辑表达式、位运算表达式、赋值表达式、条 件表达式等。件表达式等。 第二章结构化程序设计 1. 算术运算符算术运算符 算术运算符包括:+, -, *, /, +, -, % 没有指数运算没有指数运算 Math.pow(2.0,

14、3.0); / 2.03.0 整数除法:截去余数整数除法:截去余数 7 / 5 结果为结果为 1 取模:返回余数取模:返回余数 7 % 5 结果为结果为 2 第二章结构化程序设计 2. 关系运算符关系运算符 六个关系运算符: 、=、= 和 != 例如: 1 2; / false 3.5 != 1; / true 51.5 = 23.0; / true 540 = 654; / true 24 = 3*8; / true boolean test1=(10 10); / test1= false; 第二章结构化程序设计 注意事项注意事项 、=只能用来比较两个数值类 型数据(numbers含cha

15、racters)的大小 不能用于不能用于Strings、booleans、arrays或其他或其他 类型类型 第二章结构化程序设计 3.布尔逻辑运算符布尔逻辑运算符 六个布尔逻辑运算符: 第二章结构化程序设计 逻辑运算( 等价于等价于 op1二元运算符二元运算符= op2; 例如: a=a+b;等价于等价于a+=b; 第二章结构化程序设计 6. 条件运算符条件运算符 条件运算符“? :”的表达式形式为“op1 ? op2 : op3” op1:布尔表达式布尔表达式 例如: int k= ( (i=0) ? 1 : -1); 第二章结构化程序设计 7. 其他运算符其他运算符 其他运算符包括:(类

16、型)、.、 、( )、 instanceof和new 例如: int a=51; char c=(char)a; 第二章结构化程序设计 算符优先算符优先 不同的运算符具有不同的优先顺序 可以用( )来改变优先顺序或使表达式更容易 理解 例如: a + b + c / 3 (a + b + c ) / 3 第二章结构化程序设计 描述描述操作符操作符 最高优先级最高优先级. . ()() 一元一元! + - - + - - 乘除取余乘除取余* * / % / % 加减加减+ -+ - 移位移位 关系关系, = =, = = 等于或不等于等于或不等于= = != = 第二章结构化程序设计 描述描述操

17、作符操作符 按位与按位与 按位异或按位异或 按位或按位或 条件与条件与 条件或条件或 条件条件?:?: 赋值赋值= += -=等等 第二章结构化程序设计 public class ArithmaticsTest public static void main( String args ) int a=9; int b=-a; int i=0; int j=i+; int k=+j; System.out.println(“a=”+a+ “ b=”+b+ “ i=”+i+ “ j=”+j+ “ k=”+k); 举例举例1 第二章结构化程序设计 例题例题2 / Addition.java: An

18、addition program public class Addition public static void main( String args ) int number1 = 10, number2 = 20; int sum; sum = number1 + number2; System.out.println(“sum = ”+ sum); 第二章结构化程序设计 习题习题 说出运算符优先级。说出运算符优先级。 ,%,?:, / Here could be a statement block. 第二章结构化程序设计 if-else语句语句 if-else语句的格式是: if (布尔

19、表达式布尔表达式) 语句语句1或语句块或语句块1 else 语句语句2或语句块或语句块2 例如: if (grade60) System.out.println(Passed!); else System.out.println(Failed!); 第二章结构化程序设计 条件运算符条件运算符 ( ? : ) ( cond ? express1 : express2 ) 例 1 System.out.println(studentGrade = 60 ? Passed“ : Failed); 例2 max = ( a b ? a : b ); if (a b) max = a; else max

20、 = b; 第二章结构化程序设计 1 分支结构分支结构-if语句(举例语句(举例:是否为闰年)是否为闰年) import java.io.*; public class LeapYear public static void main( String args ) throws IOException System.out.println(Input year is:); InputStreamReader ir=new InputStreamReader(System.in); BufferedReader in= new BufferedReader(ir); String s=in.re

21、adLine(); int year=Integer.parseInt(s); 第二章结构化程序设计 1 分支结构分支结构-if语句(举例语句(举例1:是否为闰年)是否为闰年) if(year%4=0 else System.out.println(year +year+is not a leap year. ); 第二章结构化程序设计 1 分支结构分支结构-if语句(举例语句(举例2:实现符号函数)实现符号函数) -1(x0) 第二章结构化程序设计 1 分支结构分支结构- switch switch语句语句 形式:形式:switch (expression) /char,byte,short

22、,int case constant1: statements; break; case constant2: statements; break; default: statements; break; 第二章结构化程序设计 报数游戏:报数游戏:A、B、C、D、E、F、G、H共八人共八人 站成一排,按图示方法从站成一排,按图示方法从1开始报数,问谁先报开始报数,问谁先报 到?到? ABCDEFGH 12345678 1514131211109 161718 1 分支结构分支结构- switch switch语句语句( (举例举例2 2) 第二章结构化程序设计 2 循环结构循环结构-for语句

23、语句 一般形式:一般形式: for (initialization;condition;increment) statement; 执行过程:执行过程:for (i=1;i=10;i+) System.out.println(i); 无限循环无限循环: for (;)statement; 无循环体无循环体: 循环初始化和增量可用逗号循环初始化和增量可用逗号 第二章结构化程序设计 2 循环结构循环结构-for语句语句 初始化部分临时说明局部循环变量初始化部分临时说明局部循环变量 int j=3; for (int i=0,j=10;ij;i+,j- )System.out.println(j*j

24、); 第二章结构化程序设计 2 循环结构循环结构- while语句语句 一般形式一般形式 while (condition) statement; 执行过程执行过程 循环初始化和增量循环初始化和增量 第二章结构化程序设计 2 循环结构循环结构- do while语句语句 一般形式一般形式 do statement; while (condition); 执行过程执行过程 循环初始化和增量循环初始化和增量 第二章结构化程序设计 2 循环结构循环结构 举例举例1 / WhileCounter.java import java.awt.Graphics; import java.applet.App

25、let; public class WhileCounter extends Applet public void paint( Graphics g ) int counter = 1; while ( counter = 10 ) g.drawLine( 10, 10, 250, counter * 10 ); +counter; 第二章结构化程序设计 2 循环结构循环结构 举例举例2 / ForCounter.java import java.awt.Graphics; import java.applet.Applet; public class ForCounter extends

26、Applet public void paint( Graphics g ) for ( int counter = 1; counter = 10; counter+ ) g.drawLine( 10, 10, 250, counter * 10 ); 第二章结构化程序设计 2 循环结构循环结构 举例举例3 / DoWhileTest.java: import java.awt.Graphics; import java.applet.Applet; public class DoWhileTest extends Applet public void paint( Graphics g )

27、 int counter = 1; do g.drawLine( 10, 10, 250, counter * 10 ); +counter; while ( counter = 10 ); 第二章结构化程序设计 3 3 转移结构转移结构 return语句:从方法中返回,并为方法置一个返回值。语句:从方法中返回,并为方法置一个返回值。 一般形式:一般形式:return expression; break语句语句:从封闭的语句(从封闭的语句(for,while,switch)跳出。)跳出。 一般形式:一般形式:break label; continue语句语句:用于循环语句中。不是终止一个控制,

28、用于循环语句中。不是终止一个控制, 而是跳过循环结束前的语句,回到循环的条件测试部而是跳过循环结束前的语句,回到循环的条件测试部 分继续执行分继续执行 。 一般形式:一般形式: continue label; test:if(check(i)for(int j=0;ji)break; if(aij=null)break test; 第二章结构化程序设计 3 3 转移结构转移结构- -举例举例1 1:打印九九乘法表:打印九九乘法表 public class MultiList public static void main( String args ) outer:for(int i=1;i=9;i+) inner:for(int j=1;j=9;j+) System.out.print(j+*”+i+ =”+j*i+ ”); if(i=j) System.out.print(“n”); continue outer; 第二章结构化程序设计 4 4 递归递归-求求N! public class FactorialTest static long Factorial(int n)

温馨提示

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

评论

0/150

提交评论