第三周学习总结和实验报告

Java实验报告(一)

实验一 Java开发环境与简单Java程序

一、 实验目的

(1) 熟悉JDK开发环境
(2) 熟练掌握结构化程序设计方法

二、 实验内容

  1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
  2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
  3. 编程求1!+2!+3!+…+20!。
  4. 编写Java程序,计算8+88+888+…前10项之和。
  5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
  6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
  7. 使用for循环打印下面的图形。

三、 实验过程

1

 public class reportone
{
   public static void main(String[] args)
   {
        int  i, a, c, b;
        
        for(i=100;i<1000;i++)
        {
             a=i%10;
             c=i/10%10;
             b=i/100%10;
          
             if(i==a*a*a+c*c*c+b*b*b)
             {
                   System.out.println(i);
              }
         }
     }
}

 2

 public  class reporttwo
{
     public static void main(String[] args)
     {
           int i;
           int sum=0;
    
           for(i=1;i<=100;i++)
          {
               if(i%2==0)
               {
                      sum=sum-(i*10+3);
               }
               else
               {
                       sum=sum+i*10+3;
               }
           }
              System.out.println(sum);
       }
}

 3

public class reportthree
{
       public static void main(String[] args)
      {
        long sum=0;
        for(int i=1;i<=20;i++)
            {
              sum+=fact(i);
            }
        System.out.println(sum);
       }
       public static long fact(int n)
          {
            long product=1;
            for(int i=1;i<=n;i++)
               {
                  product=product*i;
              }
           return product;
          }
  }

 4

public class reportfour
   {

      public static void main(String[] args)
        {
      long count = 0, sum = 0;

      for(int i=1;i<=10;i++)
         {
           count = (count*10)+8;
           sum += count;
          }
      System.out.println(sum);
        }
   }

 5

public class reportfive

{

    public static void main(String[] args)

    {

        int i, j;

         for (i = 1; i <= 1000; i++)

            {

                int sum=0;

               for (j = 1; j <= i; j++)

                  {

                     if (i % j == 0)

                        {

                            sum+=j;

                         }

                }

                if ((sum - i) == i)

                  {

                   System.out.println(i);

                  }

              }

       }

}

 6

 public class reportsix 
{
    public static void main(String[] args) 
   {
        int sum = 0, n = 0;
        int i;
       for(i=1;;i++)
      {
           sum = sum+i;
           if(sum>=8888)
          {
               break;
           }
       }
        System.out.println(sum-i);

    }
}
 

 7

 public class reportseven 
{

    public static void main(String[] args) 
 {
        int i, j, k;
        for(i=0;i<5;i++) 
   {
             for(j=0;j<=5-i;j++)
                 System.out.print(" ");
             
             for(k=0;k<=i*2;k++) 
           {
            System.out.print("*");
            }
        System.out.println(" ");
    }
  }
}

第三周课程总结

this关键字

作用:1强调本类中的方法
2.表示类中的属性(变量)
3.可以使用this调用本类的构造方法1放在首行2不能循环调用
4.this表示当前对象

封装性:属性封装和方法封装

  属性封装:private.  一旦成员变量使用private,在类中可以任意访问,但是!超出了本类范围之外就不能直接访问了,即在本类之外进行间接访问,用setter和getter方法设置和取得间接访问。对此还可以在该方法中进行语法的控制-检验代码。setXxx进行设置数据,赋值,无返回值,但有参数;getXxx进行拿取,有返回值,return。

创建对象中多个对象的使用-对象引用传递:

    1-per2没有开辟堆内存空间-per2=per1->将per1的堆内存空间使用权给per2;每个栈内存空间都可以修改堆内存的内容。

    2-per2也开辟了堆内存空间-per2=per1-> 因为per2本身就有堆内存空间的指向,所以如何在想指向per1对应的空间,则必须先断开已有连接。因此原有的堆空间中没有栈空间所指向,就形成了空间垃圾,等待Java垃圾收集机制进行回收。而此时per2同样可以对per1中的堆内存数据进行修改.

原文地址:https://www.cnblogs.com/slob/p/11524301.html