201711671229 《Java程序设计》第三周学习总结
教材学习内容总结
运算符、表达式和语句
重点:运算符、表达式和各种控制语句
难点:各种控制语句的用法
1、运算符有算术运算符、关系运算符、逻辑运算符、位运算符等;
算术运算符:+ - * / % 算术表达式例子:x+2*y-30+(y+5); 结合方向为从左到右。
自增、自减运算符:++x(--x) 表示使用x之前,先使x得值增(减)1;
x++(x--) 表示使用x之后,使x的值增(减)1;
算术混合运算的精度从低到高排序的顺序是:
byte short char int long float double
如果表达式中有双精度浮点数(double型数据),则按双精度进行运算。例如,表达式5.0/2+10的结果12.5是double型数据。
<单精度浮点数、long型整数类似>
如果表达式中最高精度低于int型整数,则按int精度进行运算。
逻辑运算符:&&、||、! ,其中&&和 || 为二目运算符,实现逻辑与和逻辑或;!为单目运算符,实现逻辑非。逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。
赋值运算符: = ; = 是一个双目运算符,左边的操作元必须是变量,不能是常量或表达式。结合方向为从右向左。
位运算符: & | ~ ^
二目:& 按位与 如果a,b两个数据对应位都是1,则c的该位是1,否则是0;|
| 按位或 如果a,b两个数据对应位都是0,则c的该位是0,否则是1;
^ 按位异或 如果a,b两个数据对应位相同,则c的该位是0,否则是1;异或运算可用于加密。
单目: ~ 按位非 如果a对应位都还是0,则c的该位是1,否则是0。
instanceof运算符:instanceof 该运算符是二目运算符,左面的操作元是一个对象,右面是一个类,当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true,否则是false。 结合性从右到左。
2、Java里的语句课分为一下6类:
(1)方法调用语句,如 System.out.println("Hello");
(2)表达式语句,如 x = 23;
(3)复合语句, 如 {
z = 123 + x;
System.out.printl("How are you");
}
(4)空语句,一个分号也是一个语句,称作空语句
(5)控制语句,分为条件分支语句、开关语句和循环语句
(6)package语句和improt语句
条件分支语句有:
if语句为单条件分支语句,if-else语句为单条件双分支语句, if-else if-else语句为多条件多分支语句。
开关语句为:switch语句,一般形式如下
switch(表达式){
case 常量1: 若干个语句 break;
case 常量2: 若干个语句 break;
.
.
case 常量n: 若干个语句 break;
default: 若干语句
}
循环语句有:
for循环语句,for(表达式1;表达式2;表达式3){ 若干语句 }
表达式1完成变量的初始化;表达式2是值为boolean型的表达式,也叫循环条件;表达式3用来修整变量,改变循环变量。
while循环语句,while(表达式){ 若干语句 }
do-while循环语句,do { 若干语句 } while(表达式)
在循环中常用到的还有break和continue语句;
break表示结束整个循环; continue表示结束本次循环,开始下一次循环。
Java中给出了遍历数组更好的方法:
for(声明循环变量:数组的名字){ …… }
教材学习中的问题和解决过程
在教材中出现了新的方法hasNextDouble(),hasNextFloat(),hasNextInt(),根据教材上的例子,了解不太清晰,之后自己查找了资料发现hasNext这一系列的方法起到的是扫描作用,相当于是预判的功能,如我们要输入一个整数时,如果直接使用nextInt(),那么当输入的字符不是整数时,程序会报异常。如果在前面加一个hasNextInt()判断就可以避免这样的错误。注意:hasNextInt要结合next,nextInt等方法一起使用。
代码调试中的问题和解决
感悟
有不太明白的程序时,比重复查看更好的方法是先静态运行(自己在练习本运行),在上机调试对比两者的差别。现在学到运算符和循环语句了,有c和c++语言基础学习这些语句基本就是重温一遍,也有不同的,Java中求余运算符%的操作元可以是浮点数和整数,同时Java中也新增了一个与for结合的数组遍历方法,也有package语句和import语句。
学习进度条
代码行数(新增/累计) | 博客量(新增/累计) | 学习时间(新增/累计) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时(24000分钟) | |
第三周 | 108/181 | 1/3 | 123分钟/233分钟 |