9299.net
大学生考试网 让学习变简单
当前位置:首页 >> 数学 >>

2019年第3章运算符表达式和语句.ppt_图文

2019年第3章运算符表达式和语句.ppt_图文

? 主要内容 ? ● 运算符与表达式 ? ● 语句概述 ? ● if条件分支语句 ? ● switch开关语句 ? ● 循环语句 ? ● break和continue语句 ? 难点 ? ● 循环语句

? 3.1.1 算术运算符与算术表达式
? 整数和浮点数之间最常见的运算就是四则运算,即 加、减、乘、除和求余运算。
? 加、减、乘、除和求余运算符:+,-,*,/,%是 二目运算符,即连接两个操作元的运算符。*,/, %运算符的优先级(3级)高于加、减运算符(4 级)。
? 用算术符号和括号连接起来的符合Java语法规则的 式子,称为算术表达式

? 自增、自减运算符:++,--是单目运算符,可以
放在操作元之前,也可以放在操作元之后。操作元 必须是一个整型或浮点型变量。作用是使变量的值 增1或减1,如:
? ++x(--x)表示在使用x之前,先使x的值增(减) 1。
? x++(x--)表示在使用x之后,使x的值增(减) 1。

? 精度从“低”到“高”排列的顺序是:
? byte short char int l ong float double
? Java在计算算术表达式的值时,使用下列计算精度规则:
? (1)如果表达式中有双精度浮点数(double型数据), 则按双精度进行运算。5.0/2+10
? (2)如果表达式中最高精度是单精度浮点数(float型 数据),则按单精度进行运算。 5.0f/2+10
? (3)如果表达式中最高精度是long型整数,则按long 精度进行运算。12L+100+’a’
? (4)如果表达式中最高精度低于int型整数,则按int 精度进行运算。(byte)10+’a’,5/2

Java中关系运算符的运算结果是boolean型

运算 符
> < >= <= == !=

优先 级
6 6 6 6 7 7

用法 op1>op2 op1<op2 op1>=op2 op1<=op2 op1==op2 op1!=op2

含义 大于 小于 大于等于 小于等于 等于 不等于

结合方向 左到右 左到右 左到右 左到右 左到右 左到右

逻辑运算符包括&&,||,!,逻辑运算符的操作元 必须是boolean型数据,逻辑 运算符可以用来连接关系表达式

op1

op2

true

true

true

false

false

true

false

false

op1&&op2

op1||op2

!op1

true

true

false

false

true

false

false

true

true

false

false

true

注意:&&,||也称为短路逻辑运算符

? 赋值运算符:=是二目运算符,左面的操作元必须 是变量,不能是常量或表达式。
? 注意:赋值表达式的值就是“=”左面变量的值

? 1.“按位与”运算
? “按位与”运算符:“&”是双目运算符,对两个 整型数据a,b按位进行运算,运算结果是一个整型 数据c。运算法则是:如果a,b两个数据对应位都 是1,则c的该位是1,否则是0。如果b的精度高于 a,那么结果c的精度和b相同。

? 2.“按位或”运算
? “按位或”运算符:“|”是二目运算符,对两个整 型数据a,b按位进行运算,运算结果是一个整型数 据c。运算法则是:如果a,b两个数据对应位都是0, 则c的该位是0,否则是1。如果b的精度高于a,那 么结果c的精度和b相同。

? 3.“按位非”运算
? “按位非”运算符:“~”是单目运算符,对一个 整型数据a按位进行运算,运算结果是一个整型数 据c。运算法则是:如果a对应位是0,则c的该位是 1,否则是0。

? 4.“按位异或”运算
? “按位异或”运算符:“^”是二目运算符,对两 个整型数据a,b按位进行运算,运算结果是一个整 型数据c。运算法则是:如果a,b两个数据对应位 相同,则c的该位是0,否则是1。如果b的精度高 于a,那么结果c的精度和b相同。

? 该运算符是二目运算符,左面的操作元是一个对象;
右面是一个类。当左面的对象是右面的类或子类创 建的对象时,该运算符运算的结果是true,否则是 false。

优先级
1
2
3 4 5 6 7 8 9 10 11 12 13 14

描述
分隔符
对象归类,自增自减运算,逻辑非
算术乘除运算 算术加减运算
移位运算 大小关系运算 相等关系运算 按位与运算 按位异或运算
按位或 逻辑与运算 逻辑或运算 三目条件运算 赋值运算

运算符
[] (). , ;
instanceof ++ -- !
*/% +-
>> << >>> < <= > >=
= = != & ^ | && || ?: =

结合性
右到左 左到右 左到右 左到右 左到右 左到右 左到右 左到右 左到右 左到右 左到右 左到右 右到左

? Java里的语句可分为以下6类。 ? 1.方法调用语句 System.out.println(“hello”); ? 2.表达式语句
? 由一个表达式构成一个语句,即表示式尾加上分号 x=23;
? 3.复合语句 ? 可以用{ }把一些语句括起来构成复合语句 ? 4.空语句 ? 一个分号也是一条语句,称做空语句。
? 5.控制语句 ? 控制语句分为条件分支语句、开关语句和循环语句
? 6.package 语句和 import语句

? 3.3.1 if语句 ? if语句是单条件分支语句,即根据一个条件来控制
程序执行的流程。 ? if 语句的语法格式:
?
? if(表达式){ ? 若干语句 ?}

? if-else 语句是单条件分支语句,即根据一个条件 来控制程序执行的流程。
? if-else 语句的语法格式:
?
? if(表达式) { ? 若干语句 ?} ? else { ? 若干语句 ?}

? 例如:

? if(x>0)

?

y=10;

?

z=20;

? else

?

y=-100

? if-else if-else 语句是多条件分支语句,即根据多个条件来控制 程序执行的流程。

? if-else if-else 语句的语法格式:

?

? if(表达式) {

?

若干语句

?}

? else if(表达式) {

?

若干语句

?}

? ……

? else {

?

若干语句

?}

? Number类创建的对象可以将3个整数从小到大排 序
? 主类负责让用户从键盘输入3个整数,然后让 Number类创建的对象对用户输入的整数进行排序

? switch 语句是单条件多分支的开关语句,它的一般格式定义如下 (其中break语句是可选的):

? switch(表达式)

?{

? case 常量值1:

?

若干个语句

?

break;

? case 常量值2:

?

若干个语句

?

break;

?…

? case 常量值n:

?

若干个语句

?

break;

? default:

?

若干语句

?}

? Administrator 类创建的对象可以根据彩票的尾号 判断是否中奖:
? 尾号为: ? 后1位:1,3,9:三等奖 ? 后2位:29,46,21 二等奖 ? 后3位:875,326,596 一等奖

? 3.5.1 for循环语句 ? for语句的语法格式:
?
? for (表达式1; 表达式2; 表达式3) { ? 若干语句 ?}
?

? for语句的执行规则是: ? (1)计算“表达式1”,完成必要的初始化工作。 ? (2)判断“表达式2”的值,若“表达式2”的值
为true,则进行(3),否则进行(4)。 ? (3)执行循环体,然后计算“表达式3”,以便改
变循环条件,进行(2)。 ? (4)结束for语句的执行。

? ComputerSum类创建的对象可以计算a+aa+aaa+… ? 例如8+88+888+8888…的前10项

? ComputerSum.java

? public class ComputerSum {

? void giveSum(int number,int length) {

? if(number<=9&&number>=1) {

?

long sum=0,a=number,item=a,n=length,i=1;

?

for(i=1;i<=n;i++) {

?

sum=sum+item;

?

item=item*10+a;

?

}

?

System.out.println(sum);

?

}

?

else {

?

System.out.println("请给出正确的数字");

?

}

?}

?}

? while语句的语法格式:

?

? while (表达式) {

?

若干语句

?}

? while语句的执行规则是: ? (1)计算表达式的值,如果该值是true时,就进
行(2),否则执行(3)。 ? (2)执行循环体,再进行(1)。 ? (3)结束while语句的执行。

? do-while循环语法格式如下:
?
? do { ? 若干语句 ? } while(表达式);
?
? do-while循环和while循环的区别是:do-while的 循环体至少被执行一次

?

double sum=0,item;

?

long i=1,fenmu=1;

?

while(i<=20)

?

{

?

fenmu=fenmu*i;

?

item=1.0/fenmu;

?

sum+=item;

?

i++;

?

}

? break和continue语句是用关键break或continue加 上分号构成的语句,例如:
? break;
? 在循环体中可以使用break语句和continue语句。 在一个循环中,如循环50次的循环语句中,如果在 某次循环中执行了break语句,那么整个循环语句 就结束。如果在某次循环中执行了continue语句, 那么本次循环就结束,即不再执行本次循环体中 continue语句后面的语句,而转入进行下一次循环。

? (1)在for循环中使用continue语句输出英文字母 表中除了字母a,m和z的全部字母。
? (2)在while语句中使用break语句计算满足 1+2+3+…n<=1931918的最大整数n

? public class Example3_5 {

? public static void main(String args[]) {

?

for(char c='a';c<='z';c++) {

?

switch(c) {

?

case 'a' :

?

case 'z' :

?

case 'm' : continue;

?

}

?

System.out.print(c);

?

}

?

System.out.println("");

?

long sum=0,i=1,max=1931918,N=0;

?

while(true) {

?

sum=sum+i;

?

if(sum>max) {

?

N=i-1;

?

break;

?

}

?

i++;

?

}

?

System.out.println("满足1+2+...+n<="+max+"的最大整数n为"+N);

?}

?}


网站首页 | 网站地图 | 学霸百科 | 新词新语
All rights reserved Powered by 大学生考试网 9299.net
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com