- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java复习资料一Java复习资料一
第15次课(总复习一)
问题1:
1. 64+5 || 5+34 !(65*2) 结果是什么?结果是True 。
(提示:表示式中有算术运算、关系运算和逻辑运算?它们的优先级别如何?
在Java规定,算术运算符优先级高于关系运算符,关系运算符优先级又高于逻辑运算符。又问:在算术运算符中,加、减、乘、除、取余数优先级又如何呢?(“*” 、“ / ” 、“% ”优先级属于同一级别,同一级别的,则从左至右运算)。
还可以看一个例子:假设a,b, c是一元二次方程的系数,则如下Java表达式中,x1和x2的写法等价,思考为什么?
在运算符中,++和 - -是难点,问题如下:
int x=3,y=5,z;
z=x+--y 等于多少?根据优先, 运算后,z是7,x是3,y是4。
但有时你解释不通,例如, z=x+++y,计算机却解释为:z=(x++)+y,而套用上面的解释却不灵了,气死你!就这样,计算机是约定,约定是一个灵活的东西,你就是没辙。
因此,我们写程序时,遇到z=x+++y,最好写为:z=(x++)+y或写为z=x+(++y)
下面两个东西的结果必须知道。
int x=1,y=2,z; 如果分别执行 z=y*++x 和 z=y*x++ ,则前者是4,后者是2。
下面给一个题目让你思考一下,如何?
--------------------------------------------------------------------
阅读下列程序,程序结束后,i、j和k3的值分别是多少?
public class abc{
public static void main(String[] args)
{
int i=2; int j=2;
boolean k1,k2,k3;
k1=++i==j++; ------ 切记,赋值运算符优先级最低。
k2=i==j--;
k3=k1 || k2;
System.out.println(i);
System.out.println(j);
System.out.println(k3);
}
} 结果为:3 2 true
-------------------------------------------------------------------------
问题2:
表达式 =5;=1/2的结果是( )=1/2 ( p=p+1/2
设int a=5, int sum=6 问你: a*=(sum+100)/2 考试时,不要慌张,一定要理解为: a=a*((sum+100)/2) ----- 有人会问你: a+=a- =a*=a (不要做(听老师),如果你一定要做,需要注意,在表达式中每一次做完后是无法把值赋给载体的。什么是“把值赋给载体”呢?看如下例子:int a=2; a=(a=a+3)*a*6; 结果是150,知道为什么吗?有人说为什么可以这样写表达式,主要原因是java语言的母体是C语言。但这个结果a=a*6*(a=a+3);又不一样,作何解释呢?不知道!
-------------------------------------------------
问题3:
在下述Java语言语句中错误的创建数组的方法是A. int?intArray?[?];?intArray=new?int[5] ; B. int?intArray?[?]=new?int[5] ; ---- 合而为一
C. int?[?]?intArray?={1,2,3,4,5};[?]挪动一个位置也可以。
D. int?intArray?[5]={1,2,3,4.5};public class A {
public static void main(String[] args) {
int sum=0;
int a[][]={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i3;i++){
for(int j=0;j3;j++)
sum+=a[i][j]+a[j][i];
System.out.print(sum+#);
}
}}
(1)你学过矩阵的转置吗?---你看出来了吗?
(2)为什么不是18#30#42#呢?注意前一次对后一次的影响。
我的观点是:中间过程一定要写出来。如下写出,我认为你就成功一半了。
我相信,你见多了就能做出来,我们平时作业中写过矩阵转置程序。
--------------------------------------------------------------------
文档评论(0)