一、第三周课程总结
1.这一周对象程序设计的学习更进了一步,我们先是加深了上次学习的封装性,接着又学习了java的多态性,以及了解了一下继承性,然后学习了构造方法,构造方法的格式如下:
class 类名称{
访问权限 类名称 (类型1 参数1 类型2 参数2,...) {
程序语句 ;
... //构造方法没有返回值
}
}
由上可知构造方法名称必须与类名一致,构造方法声明处不能又任何返回值类型的声明,不能在构造方法中使用return返回一个值
2.this关键词,在程序中可以用this调用本类属性,比如遇到name=name;这种情况,name到底是属性还是构造方法的参数就很难让人知晓,所以这里就必须用到this关键词,如:this.name=name;从而明确表示为类中的name属性赋值;this不仅可以调用属性,还可以调用构造方法,但必须记住调用构造方法必须也只能放在构造方法的第一行,对于this调用构造方法的时候一定要留一个构造方法作为出口,即程序中至少存在一个构造方法是不使用this调用其他构造方法的;this还可以表示当前对象
3.static关键词,static的本意是共享,所以就由此得知static是可以声明属性,并且是共享的,而且static也可以声明方法
4.main()方法,严记格式:public static void main(String args[])
二、实验报告一
-
打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
public class Shuixianhua {public static void main(String[] args) {
// TODO 自动生成的方法存根
int a,b,c;
for(int i=100;i<1000;i++) {
a=i/100;
b=i%100/10;
c=i%10;
if(i==aaa+bbb+ccc) {
System.out.println(i+"是一个水仙花数");
}
}
}
-
编写Java程序,求13-23+33-43+…+973-983+993-1003的值
public class Qiuzhi {public static void main(String[] args) {
// TODO 自动生成的方法存根
int sum=0;
for (int i=1;i<=100;i++) {
if(i%2==0) {
sum-=i10+3;
}
else {
sum+=i10+3;
}
}
System.out.println("和是:" + sum) ;
}
-
编程求1!+2!+3!+…+20!
public class Jiecheng {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int sum=0,n=1;
for(int i=1;i<=20;i++) {
n=n*i;
sum=sum+n;
}
System.out.println("所有阶乘数和为:"+sum);
}
}
-
编写Java程序,计算8+88+888+…前10项之和
public class He {public static void main(String[] args) {
// TODO 自动生成的方法存根
int sum=0,n=0;
for (int i=1;i<=10;i++) {
sum=sum*10+8;} System.out.println(sum);
}
}
- 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
public class Wanshu {
public static void main(String[] args) {
for(int i=1;i<=1000;i++) {
int sum=0;
for(int j=1;j<=i-1;j++) {
if(i%j==0)
{
sum+=j;
}
}
if(i==sum) {
System.out.print(sum);
}
}
}
}
- 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数
public class Zuida {
public static void main(String[] args) {
int n=1,sum=0;
while(sum<8888) {
n++;
sum+=n;
}
System.out.println(n);
}
}
-
使用for循环打印下面的图形。
public class Tuxing {public static void main(String[] args) {
// TODO 自动生成的方法存根
int max=5;
for(int i=1;i<=max;i++) {
for(int j=0;j<=i-1;j++) {
System.out.print("");
}
for(int k=0;k<i;k++) {
System.out.print("*");
}
System.out.println();
}
}
}