大学课程《Java语言编程基础》PPT教学课件:第06章数据运算与表达式.ppt
- 文档编号:17353404
- 上传时间:2023-07-24
- 格式:PPT
- 页数:40
- 大小:93KB
大学课程《Java语言编程基础》PPT教学课件:第06章数据运算与表达式.ppt
《大学课程《Java语言编程基础》PPT教学课件:第06章数据运算与表达式.ppt》由会员分享,可在线阅读,更多相关《大学课程《Java语言编程基础》PPT教学课件:第06章数据运算与表达式.ppt(40页珍藏版)》请在冰点文库上搜索。
Java程序设计基础,温立辉河源职业技术学院,导言,本课程学习目标认识Java语言数据运算符了解Java语言位运算类型了解Java语言多元运算操作理解Java语言位运算实现原理掌握Java语言各类运算操作语法,运算符,本课学习目标了解运算类型的分类;了解位运算符;掌握各种运算类型的符号。
基本概念,计算机为我们工作的过程,实际上是对数据项进行操作的过程。
对数据项的操作,用我们习惯的话说,就是运算,例如,加、减、乘、除等。
在计算机语言中,就像在代数里一样,对数据项(变量、常量等)的运算用运算符表示。
每一种运算都有一种运算符,如、分别表示加、减运算。
参与运算的数据项,称为操作数。
基本概念,操作数和运算符的组合,称为表达式(expression)。
例如:
假定a,b为数值数据项,则a+ba-b为表达式。
表达式中数据项运算的结果,称为表达式的值。
类型的运算,概括地说,类型的运算有:
算术运算位运算关系运算逻辑运算赋值运算条件运算,算术运算,基本运算包括加(+)、减(-)、乘(*)、除(/)、取模(%)。
增量运算:
将操作数加1。
运算符为+;减量运算:
将操作数减1。
运算符为-;将增量或减量运算符放在操作数前面和放在操作数后面,表达式的结果不一样。
上述运算的操作数必须是数值类型(整型与浮点型都可以);,算术运算应用,intx=8;inty=5;x+y;x-y;x*y;x/y;x%y;1+(x+);(+x)+1;1+(x-);(-x)+1;,关系运算,关系运算符用来比较两个值之间大小关系的运算,返回布尔类型值true或false;关系运算包括等于、大于、小于、大于等于、小于等于、不等于。
运算符号为:
=、=、=、!
=。
关系运算应用,intx=8;inty=5;intz=8;xy;x=y;x=y;x=z;x!
=y;x!
=z;,逻辑运算,逻辑运算也叫布尔运算经常用来连接关系表达式,运算数必须是布尔值。
逻辑运算包括与、或、非、异或、无条件与、无条件或。
运算符分别为:
&、|、!
、&、及|。
逻辑运算,&当两个操作数都为true时,结果值才为ture;|当两个操作数中有一个为true时,结果值就为ture;!
逻辑非,放在true前面结果值变为false,放在false前面结果值变为false,操作数一个为true,一个为false时,结果值为true;否则结果值为false;&当两个操作数都为true时,结果值才为ture;|当两个操作数中有一个为true时,结果值就为ture;,逻辑运算,&与&区别(35)&(86)(35)&(86)|与|区别(105)|(5=6)(105)|(5=6),逻辑运算应用,!
false;true,赋值运算,将一个数据项的值赋给另一个数据项。
运算符号为=,含义是将运算符右边的操作数的值赋给运算符左边的操作数;运算符分简单赋值运算与复合赋值运算;简单赋值运算:
i=1i=k+5复合赋值运算:
有+=、-=、*=、/=、%=如:
a+=b/等价于a=a+b;a-=b/等价于a=a-b;a*=b/等价于a=a*b;a/=b/等价于a=a/b;a%=b/等价于a=a%b;,位运算,位运算是定义在二进制位上进行的运算;位运算只针对整型数。
注意,这里整型数包括byte,short,int和long四种;位运算包括:
按位与,按位或,按位取反(即按位非),异或,移位运算,分左移和右移运算符号分别为:
&、|、。
与运算(&),运算的两个操作数都是1的时候,运算的结果才是1,否则结果为0;00001111&01100100-00000100运算的结果会是多少呢?
01011101&01100101-,或运算(|),运算的两个操作数都是0的时候,运算的结果才是0,否则结果为1;00001111|01100100-01101111运算的结果会是多少呢?
01011101|01100101-,取反运算(),单目运算符,只需要一个操作数,把操作数的每一位值变为相反,即0变为1,1变为001100100-10011011运算的结果会是多少呢?
01011101-,异或运算(),运算的两个操作数值相同的时候,运算的结果为0,若两个操作数不同,则结果为1;0000111101100100-01101011运算的结果会是多少呢?
0101110101100101-,移位运算:
左移(),将整个二进制数字串向左移动若干位,高位舍弃,低位补零;一般来说数据左移一位相当乘以2;-00000100左移3位00000100000,移位运算:
右移(),将整个二进制数字串向右移动若干位,低位舍弃,高位填充原高位之值;一般来说数据右移一位相当除以2;-00000100右移1位0000000100,条件运算,条件运算也称为三元运算,需要三个操作数参与;格式为:
?
:
表达式可以是变量或者常量。
表达式1必须是布尔值,表达式2与表达式3类型要相同。
如果表达式1为true,则计算表达式2的值,如果表达式1为false,则计算表达式3的值。
如:
true?
10:
20;,条件运算应用,(true)?
(A):
(B);(false)?
(10):
(15);(5=4)?
(true):
(false);(54)?
(10):
(20);(810)?
(3+2):
(4+5);(6!
=8)?
(“A”+“B”+“C”):
(“E”+“F”+“G”);(10(8+3)?
(Yes):
(No);,字符串运算,字符串是String类型,为复合类型。
定义方法为:
Stringstr1;Stringstr2=“one”;用双引号括起来的零个或者多个字符;“”,“Hello”,“Yes”可以用连接运算符(+)把两个或多个字符串常量连接在一起,组成更长的字符串。
如:
“我”+“是”+“谁”的结果是:
“我是谁”,字符串运算应用,Stringstr1=one;Stringstr2=two;Stringstr3=_;Stringstr4=str1+str2;Stringstr5=str1+str3+str2;str4:
“onetwo“onetwo“str5:
“one_two“one_two“,类型转换,表达式:
由操作数和运算符按一定的语法规则组成;如:
(1.1+2)*2每个表达式都会产生一定的值,称为表达式值;表达式中可能有不同类型的数据进行混合运算,在运算时需要进行类型转换。
类型转换,表达式1+2.5结果值为3.5,这个结果值属于什么类型呢?
Java中的类型转换分:
自动类型转换系统自动转换数据类型,低位数据类型可以自动自动转换成高位数据类型。
强制类型转换;高位数据类型转换成低位数据类型转换时,系统不能自动转换数据类型,需强制转换。
自动类型转换,判断如下语句有无语法错误:
byteb1=1;byteb2=2;byteb3=b1+b2;,自动类型转换,两个取值范围比int小的类型或跟int取值范围相同的数据进行运算时,得到的结果都会是整型。
b1+b2的结果得到是一个int类型值3,int类型值不能直接赋给byte类型;如下改正:
byteb1=1;byteb2=2;intb3=b1+b2;,自动类型转换,类型转换表变量1变量2结果值变量1变量2结果值bytebyteintlonglonglongbyteshortintbytefloatfloatintbyteintintfloatfloatshortintintlongfloatfloatintintintfloatdoubledoublelongintlongdoubledoubledouble,自动类型转换,intb1=1;longb2=2;b3=b1+b2;以下代码有无错,如有错应如何更改?
bytec1=1;bytec2=c1+1;d3的值是多少,3or3.5?
intd1=7;intd2=2;intd3=d1/d2;d3的值是多少,3or3.5?
intd1=7;doubled2=2;doubled3=d1/d2;,强制类型转换,强制性地将地将数据的类型进行转换。
(数据类型)变量名intb3=(int)3.7longx;inty;y=(?
)(x+1);intb1=7;intb2=2;b3=(double)b1/b2;以下代码有没错误,就如何修改?
bytea=7;intb=2;doublec=3.4;intd=a/b+c;,运算符的优先级,运算符之间的先算和后算关系叫优先关系。
a+bc+d/先算“+”还是先算“”?
(a+b)(c+d)/运算先后关系一目了然括号()的优先级最大,为了增加代码的可读性,应使用括号。
程序的输入/输出,System.out.println(“”)表示在控制台上输出括里面的内容,并换行;System.out.print(“”)表示在控制台上输出括号里面的内容,但不换行;,通过main()方法接收参数,publicstaticvoidmain(Stringargs)Stringstr1=args0;/接收第一个参数Stringstr1=args1;/接收第二个参数Stringstr1=args2;/接收第三个参数Stringstr1=args3;/接收第四个参数intnum1=Integer.parseInt(str1);intnum2=Integer.parseInt(str2);intnum3=Integer.parseInt(str3);intnum4=Integer.parseInt(str4);,小结,1.Java的关键字、分隔符、标识符的命名规则;2.Java八大基本数据类型;3.常量与变量的区别;4.表达式与运算类型;5.Java语言初步的输入与输出。
课后作业,1.设计一个类型,满足如下要求:
byte类型常量a1值为5,short类型变量a2值为10,a1与a2相乘结果值赋给double类型变量a3,a3与a1相加结果值赋给int类型变量a4,打印出a1、a2、a3、a4值。
课后作业,2.编写一个程序,计算正方形的面积和周长,并在控制台输出,正方形的边长在程序中给出。
完成课后作业P44P462、3、6、7、8、9,课后作业,3.从键盘接收一个100999之间的三位数,求出个位、十位、百位,将各位数相加,并在控制台输出结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言编程基础 大学 课程 Java 语言 编程 基础 PPT 教学 课件 06 数据 运算 表达式