课程总结
在这周对Java进行了更深层次的学习,Java的学习也变得越来越困难而有趣,加入了一些新的构造新的方法,还学习了一些简化代码的方式。
面向对象的基本概念
对于面向对象的程序设计有三个主要特征:封装性,继承性,多态性。
封装性
为属性封装:private 属性类型 属性名称;
为方法封装:private 方法返回值 方法名称
构造方法
构造方法的名称必须与类名称一致
构造方法的声明处不能有任何返回值类型的声明
类的继承格式
在Java中使用extends关键字完成类的继承关系
继承的限制
在Java中只允许单继承,不能使用多重继承,但是允许多层继承
方法的覆写
在继承的关系中也存在着方法覆写的概念,即在子类中定义与父类中同名的方法
方法覆写时必须考虑到权限,被子类覆写的方法不能拥有比父类方法更加严格的访问权限
这周所学其实很多都还只是在皮毛,需要更多的时间去消化和吸收。
实验报告
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”
public class shuixianhua { public static void main(String[] args) { int i,x,y,z,k; for(i=100;i<=999;i++){ z=i%10; k=i/10; y=k%10; x=k/10; if(Math.pow(x,3)+Math.pow(y,3)+Math.pow(z,3)==i){ System.out.println("水仙花数为:" + i); } } } }
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
public class jiajian { public static void main(String[] args){ int i,x,k=1,sum=0; for(i=13;i<=1003;){ x=i*k; sum+=x; k=(-1)*k; i=i+10; } System.out.println(sum); } }
3. 编程求1!+2!+3!+…+20!
public class jiecheng { public static void main(String[] args){ int i,j,k,sum=0; for(i=1;i<=20;i++){ k=1; for(j=1;j<=i;j++){ k=k*j; } sum=sum+k; } System.out.println(sum); } }
四:编写Java程序,计算8+88+888+…前10项之和。
实验代码:
package hlha; public class qianshi { public static void main(String args[]){ long a,b=0, c=0; System.out.println("前十项和"); for(a=1;a<=10;a++){ b=b*10+8; c+=b; } System.out.print(c); } }
五:一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验代码:
package hlha; public class wanshu { public static void main(String[] args) { int i,j; for(i = 1;i<=1000;i++){ int sum; sum =0; for(j = 1;j<i;j++) { if(i%j ==0) { sum +=j; } } if(i == sum) System.out.println(" "+i); } } }
六: 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验代码:
package hlha; public class sum { public static void main(String[] args) { int sum=0; int i; for(i=1;sum+i<8888;i++) { sum=sum+i; } System.out.println(+(i-1)); } }
七:使用for循环打印下面的图形。
实验代码:
package hlha; public class dengyao { public static void main(String [ ] args){ for(int i=1;i<=5;i++){ for(int z=1;z<=5-i;z++){ System.out.print(" "); } for(int j=1;j<=(2*i-1);j++) { System.out.print("*"); } System.out.println(); } } }