201711671132《java实用教程》第三章学习总结
写在前头:第二章学习的是运算符,表达式和语句,由于之前已经学习过c++的运算符,表达式和语句了,跟Java一样,甚至比java还详细,所以这一篇主要写的是概括总结。
一、教材学习内容总结
(1)教材学习中的问题和解决过程
1、运算符与表达式:
算术运算符:+,-,*,%,/
关系运算符:>,<,>=,<=,==,!=
逻辑运算符:&&,||,!
赋值运算符:=(注意左z面的操作必须是变量,不能是其他)
位运算符:按位与运算&,按位或运算,按位非运算~,按位异或运算^
instanceof运算符:左面操元作是一个对象,右面是一个类
2、语句 if条件分支语句 if语句
if-else语句
if-else if-else语句
switch开关语句
循环语句 for循环语句
while语句
do-while语句
break和continue语句
for语句与数组
3、在画课本29页例九的流程图时,在while循环语句处看漏了大括号,导致阅读流程图时与折半查找法的思路不一样,通过仔细阅读课本代码,找出了原因,并对流程图进行了修改,得出了与折半查找法的思路一样的流程图。由于Java的编程风格与C语言有很大的不同,很容易看漏或者是写漏大括号,所以我要做的应该是尽快适应这种风格,做的能熟练阅读程序与编写程序。
(2)代码调试中的问题和解决过程
第一代码调试内容总结(课后习题),无问题
1、public class Xiti1 {
public static void main(String args[]) {
double sum=0,a=1;
int i=1;
while(i<=20) {
sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}
2、public class Xiti2 {
public static void main(String args[]) {
int i,j;
for(j=2;j<=100;j++) {
for(i=2;i<=j/2;i++) {
if(j%i==0)
break;
}
if(i>j/2) {
System.out.print(" "+j);
}
}
}
}
3、class Xiti3 {
public static void main(String args[]) {
double sum=0,a=1,i=1;
do { sum=sum+a;
i++;
a=(1.0/i)*a;
}
while(i<=20);
System.out.println("使用do-while循环计算的sum="+sum);
for(sum=0,i=1,a=1;i<=20;i++) {
a=a*(1.0/i);
sum=sum+a;
}
System.out.println("使用for循环计算的sum="+sum);
}
}
4、public class Xiti4 {
public static void main(String args[]) {
int sum=0,i,j;
for(i=1;i<=1000;i++) {
for(j=1,sum=0;j<i;j++) {
if(i%j==0)
sum=sum+j;
}
if(sum==i)
System.out.println("完数:"+i);
}
}
}
5、public class Xiti5 {
public static void main(String args[]) {
int m=8,item=m,i=1;
long sum=0;
for(i=1,sum=0,item=m;i<=10;i++) {
sum=sum+item;
item=item*10+m;
}
System.out.println(sum);
}
}
6、public class Xiti6 {
public static void main(String args[]) {
int n=1;
long sum=0;
while(true) {
sum=sum+n;
n++;
if(sum>=8888)
break;
}
System.out.println("满足条件的最大整数:"+(n-1));
}
}
第二在编写求平均值的程序后,运行程序时,出现警告,我以为是error,拼命更改出错的一行,结果发现,程序并没有错误,只要在控制台输入20个数字就可以运行了,我觉得这与我不熟练运用eclipse有关,解决方法也很简单,打多点代码就好啦。
(3)疑问:下列代码为什么会出现警告?