已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 4 章 运算符、表达 式 和流程控制 本章知识点 n变量 n运算符 n分支和循环语句 nbreak、continue语句 学习目标 掌握变量的概念和作用域的含义 掌握运算符的用法 掌握Java分支和循环语句的用法 掌握break和continue语句的用法 4.1 变量 4.1.1 变量及其作用域 4.1.2 变量的初始化 4.1.1 变量及其作用域 n常量:用保留字 final 来实现 nfinal dataType varName=value,varName=value; n如:final int NUM=100; 4.1.1 变量及其作用域 n变量 n是 java 程序中的基本存储单元,它的定 义包括变量名、变量类型和作用域。 nDataType varName=value,varName=value; n如:int count; char c=a; 4.1.1 变量及其作用域 n变量的作用域: n一个变量从被创建、使用一直到 销毁的这一段时间称为变量的生 存期 n一个变量的有效使用范围称为作 用域 4.1.1 变量及其作用域 n局部变量 n在方法或方法的一个块代码中声明,它的 作用域为它所在的代码块(整个方法或方 法中的某块代码) n实例(成员、类)变量 n在类中声明,而不是在类的某个方法中声 明,它的作用域是整个类 4.1.1 变量及其作用域 n方法参数: n传递给方法,它的作用域就是这个方法 n异常处理参数: n传递给异常处理代码,它的作用域就是异 常处理部分 示例4-1: npublic class VarScopeTest npublic int i=99; npublic void method1(int k) n i = k; n if(i=1) n int j=111; n n n 声明实例变量i 范围:整个类 i为实例变量 等价于this.i 声明局部变量k 范围:方法内部 示例4-1: n public static void main(String args ) n int i=1; /声明局部变量i n VarScopeTest v = new VarScopeTest(); n v.method1(i); /i为局部变量 n n 4.1.2 变量的初始化 n实例变量的初始化 n当一个对象(实例)被创建时,系统同 时创建它所封装的所有实例变量; n在为各实例变量分配存储空间的同时, 按照表3-6的原则对其进行默认初始化。 4.1.2 变量的初始化 n局部变量的初始化 n必须使用前进行“手工”初始化,Java编 译器负责对此进行检查; n如果试图使用未赋值的局部变量,源文 件在编译时将提示错误信息。 示例4-2: npublic class VarInitialization n private int i; n private double b = 3.14; n private boolean a; 变量i、b、a为 实例变量 示例4-2: npublic static void main(String args ) n int localVar; n localVar = 100; n VarInitialization v = new VarInitialization(); 声明并初始 化局部变量 声明并创建一个对象 示例4-2: n System.out.println(“localVar=“ + localVar); nSystem.out.println(“instance var i=“ + v.i); nSystem.out.println(“instance var b=“ + v.b); nSystem.out.println(“instance var a=“ + v.a); n n 输出局部变量 localVar的值:100 输出实例变量i、b、a的 值:0、3.14、false 4.2 运算符 n运算符 n用于标明运算种类的符号 n操作数 n参与运算的数据 4.2.1 算数运算符 n+、-、*、/、%、+/-、+、- n只适用于基本数据类型中的数值 型数据(byte,short,char,int ,long,float,double 示例4-3: npublic class UnaryOperator npublic static void main(String args ) nint a = 10; nint b = +a; nint c = -a; nSystem.out.println(“a = “ + a); nSystem.out.println(“b = “ + b); nSystem.out.println(“c = “ + c); a=10 b=10 c=-10 示例4-3: n int i = 1; n int j = i+; n System.out.println(“i = “ + i); n System.out.println(“j = “ + j); n j = +i; n System.out.println(“i = “ + i); n System.out.println(“j = “ + j); n n i=2 j=1 i=3 j=3 4.2.2 关系运算符 关系运算符用来比较两个值,包括: 大于()、大于等于(=)、小于(0) / statements 4.2.4 位运算符 用来对二进制位进行操作,包括按位取反 ()、按位与( byte b=i; byte b=(byte)i; double d=3.4+5; 特例:整型常量的赋值 合法 非法:超出byte 型数据范围 合法 合法 byte b1=33 byte b2=131; short s=456; char ch=345; 注意: u 低于int的数据(byte,short,char)在运 算后,结果自动升级为int型 byte a=3, b=4; byte c=a+b; / 非法 int d=a+b; int f=a3; 4.2.6 字符串连接操作符+ nint i=3+5; n “+”算数加法操作 2.String s=“Hello“+ “World“; n“+”字符串连接操作 3.String s=“Hello, “+18+ “号“; n“+”字符串连接操作 4.3 表达式 n表达式由运算符和操作数组成,对操作 数进行运算符指定的操作,并得出一个 结果。 n运算符按功能:算术运算符、关系运算 符、逻辑运算符、位运算符、赋值运算 符、条件运算符、数组下标运算符等。 n操作数:变量、常量或方法调用等。 4.4 分支语句 n分支语句根据一定的条件,动态决 定程序的流程方向,从程序的多个 分支中选择一个或几个来执行。 n分支语句有两种:if语句和switch 语句 4.4.1 if-else语句 if (逻辑表达式) 语句1; else 语句2; u if语句中的else子句是可选的。 u if关键字之后的逻辑表达式必须得到一个 逻辑值,不能以数值来代替。 注意: 语句1和语句2既可以是单语句,也 可以是语句块。 if语句可以嵌套,嵌套时,规定else 子句属于离它最近的if语句。 示例: if(exp1) statement1; else if(exp2) statement2; else statement3; 4.4.3 switch语句 switch (表达式) case c1: 语句组1; break; case ck: 语句组k; break; default: 语句组; break; 计算结果必 须是int型 或字符型 c1,c2,ck 是int型或 字符型常量 4.4.3 条件运算符?: int a=10, b=5, max; if(ab) max=a; else max=b; boolean表达式1?表达式2:表达式3 max=ab ?a:b; 注意: public class Exam1 public static void main(String args) int a=2,b=5,max; max=ab?a:b+1; System.out.println(“max=“+max); max=6 max=(ab?a:(b+1); 注意: na b ? a : c d ? c : d a b ? a : (c d ? c : d) nString result=a=60 ? “及格“ : “不及格“ 4.5 循环语句 n循环语句控制程序流多次执行一 段程序 nJava语言提供三种循环语句: for语句、while语句和do语句 循环语句组成: ninit_statement 初始化部分 ntest_exp 循环条件部分 nbody_statement 循环体部分 nalter_statement 迭代部分 4.5.1 for语句 for( 初始化部分 ; 循环条件 ; 迭代部分 ) 循环体部分; 注意: u 初始语句和迭代语句中可以含有多个语 句,各语句间以逗号分隔。 u for语句括号内的三部分都是可选的, 循环条件为空时,默认规定为恒真。 示例4-7: npublic class ForLoop npublic static void main(String args ) n int result = 0; nfor(int i=1; i 0) n continue one; n n i=0时的输出: (1):0+10=10 (2):0+20=20 i=1时的输出: (1):1+10=11 i=2时的输出: (1):2+10=12 运行结果: 本章小结 nJava的基本的运算符: n算术运算符、关系运算符、逻辑运算符、 位运算符、赋值运算符、条件运算符 n优先级决定了同一表达式中多个运算符 执行的先后次序,结合性则决定了并列 的相同优先级运算的先后执行顺序 本章小结 n面向对象的编程也是以面向过程编程为基础 而发展起来的,在对象的方法等程序片内部 ,仍然需要严格遵守传统的结构化程序设计 原则 n应熟练掌握结构化程序设计的三种基本流程 :顺序结构、选择结构和循环结构 习题选讲(选择题) n与下面3条语句等效的语句是( C )。 if(x=1) y=4; if(x=2) y=5; if(x=3) y=6; 习题选讲(选择题) A) if(x=1) y=4; else if(x=2) y=5; else y=6; B) if(x=1) y=4; else if(x=2) y=5; y=6; C) if(x=1) y=4; else if(x=2) y=5; else if(x=3) y=6; 2. 阅读下列程序: npublic class Sun npublic static void main(String args ) n int s=0,i=1; n while(i=100) ns=s+i; n n System.out.println(s); n n 请选择: n程序运行后的结果是: n5050 n5051 n死循环,直到溢出 n无穷大的数 n下面的程序的功能是:输出100 以内能被3整除,且个位数为6 的所有整数,请填空。 npublic class Sun n public static void main(String args ) nint j=0; nfor(int i=0;i10;i+) nj=i*10+6 nif( j%3!=0 ) continue; nSystem.out.println(j+“n“); n n n 解答: ni 控制十位数,j 是个位数为6的所有小 于 100 的整数; n可判断出需要填充的位置应是一个表 达式,判断 j 是否能被3整除; n答案:j%3!=0 n下面程序的功能是:计算1到10之间奇数之和 及偶数之和,请填空。 npublic class Sun npublic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度企业培训与人才发展服务合同
- 2024年度影视制作与版权购买合同
- 2024年度碳排放交易:某环保企业与地方政府之间的碳排放权交易合同
- 2024年度0KV配网工程施工安全协议
- 2024年度安居工程EPC建设合同
- 04版0KV变电站电气设备采购合同
- 2024年度4S店汽车销售与供应商战略合作合同
- 2024年度文化传媒公司股权转让合同
- 2024年度跨境电商平台运营合同
- 2024企业招标承包经营合同模板样本
- 护理质量管理常用工具
- 2022公路工程施工技术方案手册
- 亮化工程可行性研究报告
- 安全生产费用提取使用明细
- (完整版)病例演讲比赛PPT模板
- 直播合作协议
- 社科类课题申报工作辅导报告课件
- 头痛的诊治策略讲课课件
- 沙利文-内窥镜行业现状与发展趋势蓝皮书
- 国家开放大学一网一平台电大《建筑测量》实验报告1-5题库
- 规范诊疗服务行为专项整治行动自查表
评论
0/150
提交评论