2019秋Java课程总结&实验总结一

1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验源码:
public class Flower{
      public static void main (String[] args){
      int x,y,z;
      for(int i=100;i<=999;i++){
        x=i/100;
        y=(i/100)/10;
        z=i%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 Jack{
     public static void main(String args[]){
      int sum=0;
      int i,j=1;
      for (i=13;i<=1003;i=i+10){
       sum=j*i+sum;
       j=-j;
    }
       System.out.println(sum);
  }
}

实验结果:
(本题在编写过程中有把i<=1003打成13,导致结果面板上有13的答案)

3. 编程求1!+2!+3!+…+20!
实验源码:
public class Lea{
     public static void main(String args[]){
         long sum=0,n=1,i;
         for(i=1;i<=20;i++){
           n=i*n;
           sum=n+sum;
  }
         System.out.println(sum);
  }
}

实验结果;

4. 编写Java程序,计算8+88+888+…前10项之和。
实验源码:
public class Main{
     public static void main(String args[]){
         long sum=0,n=0,i;
         for(i=0;i<=10;i++){
           n=n*10+8;
           sum=n+sum;
  }
         System.out.println(sum);
  }
}

实验结果:

5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数
实验源码:
public class Lee {
    public static void main(String[] args) {
        int i,n,sum=0;
        for(i=1;i<=1000;i++) {
            sum=0;
            for(n=1;n<=i/2;n++) {
                if(i%n==0)
                   sum=sum+n;
            }
            if(sum==i)
                System.out.println(sum);
        }
    }
}

实验结果:
(整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因子。0不是0的因子。

假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。)

6.编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验源码:
public class Sam{
    public static void main(String[] args) {
      int i=1,n=1;
      while(n<8888){
        n+=++i;
}
      System.out.println(i);
}
}

实验结果:

7.使用for循环打印下面的图形。

|实验源码: |

public class Test{
    public static void main(String[] args) {
        int i,j;
        for(i=1;i<=5;i++){
            for(j=5-i;j>0;j--){
                System.out.print(" ");
            }
            for(j=1;j<=i;j++)
                System.out.print("* ");
            System.out.print("\n");
        }
    }
}

实验结果:

课程总结:

构造方法定义格式
 class 类名称{
   访问权限 类名称(类型1 参数1,类型2 参数2,....){
   程序语句;
   ...   //构造方法没有返回值
  }
}

构造方法注意:
(1) 构造方法的名称必须与类名称一致
(2) 构造方法的声明不能有任何返回值类型的声明
(3) 不能在构造方法中使用return返回一个值

类的基本思路
(1)根据要求写出类所包含的属性
(2)所有的属性都必须进行封装(private)
(3)封装之后的属性通过setter和getter设置和取得
(4)如果需要可以加入若干构造方法
(5)再根据要求添加相应的方法
(6)类中的所有方法都不要直接输出,而是交给被调用处输出

方法的重载:方法的重载就是方法名称相同,但参数的类型和参数的个数不同,通过传递参数的个数及类型不同以完成不同功能的方法调用。
在java的方法定义中,可以使用return语句直接结束方法。

this关键字:
(1)this 调用本类中的属性。
(2)使用this调用构造方法:
a。如果一个类中有多个构造方法的话,也可以利用this关键字互相调用。
b。假设现在要求不管类中有多少个构造方法,只要对象一被实例化,就必须打印一行“新对象实例化”的信息出来,很明显,此 时如果在各个构造方法中编写此输出语句肯定不合适,所以此时就可以利用this的概念完成。
c。使用this调用构造方法必须也只能放在构造方法的第一行。
(3)this表示当前对象:this最重要的特点就是表示当前对象,那么什么叫当前对象呢?在java中当前对象就是指当前正在调用类中方法的对象。
(4)对象比较:可以使用this和引用传递进行两个对象是否相等的判断。

static关键字:
(1)使用static声明属性:在程序中使用static声明属性的话,则此属性称为全局属性(有时也称为静态属性)。
(2)使用static声明方法:static既可以在声明属性的时候使用,也可以用其来声明方法,用它声明的方法有时也被称为“类方法”。
注意:非static声明的方法可以去调用static声明的属性或方法的,但是static声明的方法是不可以调用非static类型声明的属性或者方法。

理解main方法:(public static void main String args[])
每个参数的意义
public:表示此方法客可以被外部调用
static:表示此方法可以由类名称直接调用。
void:主方法是程序的起点,所以不需要任何的返回值。
main:系统规定好默认调用的方法名称,执行的时候,默认找到main()方法名称
String args[]:表示的是运行时的参数。参数传递的形式为“Java 类名称 参数1 参数2 参数3..."

posted @ 2019-09-10 15:12  焦迈奇  阅读(328)  评论(1编辑  收藏  举报