博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java第一次实验总结&第三周总结
阅读量:4350 次
发布时间:2019-06-07

本文共 3974 字,大约阅读时间需要 13 分钟。

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. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。

  • 实验源码
public class Timu1 {            public static void main(String[] args) {            int x, y, i, j, k;            for(i = 100;i < 999;i ++) {                x = i % 10;                y = i / 10;                j = y % 10;                k = y / 10;                if(Math.pow(x, 3) + Math.pow(j, 3) + Math.pow(k, 3) == i) {                    System.out.println(i);                }                                    }        }    }
  • 实验结果

1580249-20190910105908059-725722405.png

2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

  • 实验源码
public class Timu2 {    public static void main(String[] args) {        int i, j = 1, sum = 0, k=0;        for(i = 13;i <= 1003; i = i + 10) {            k = (j) * i;            sum = sum + k;            j = -j;        }        System.out.println(sum);    }}
  • 实验结果
    1580249-20190910110826251-720176060.png

3. 编程求1!+2!+3!+…+20!。

  • 实验源码
public class Timu3 {    public static void main(String[] args) {        int i, j ;        long  sum = 0, k=1;        for(i = 1;i <= 20;i++) {            k = 1;             for(j = 1;j <= i;j++) {            k = k * j;             }             sum += k;        }        System.out.println(sum);    }}
  • 实验结果
    1580249-20190910111140048-946480699.png

4. 编写Java程序,计算8+88+888+…前10项之和。

  • 实验源码
public class Timu4 {    public static void main(String[] args) {        int   i , y = 8;        long sum = 0,x = 8;        for(i = 1;i <= 10;i++ ) {            sum = sum + x;            x = (x * 10 ) + y;        }        System.out.println(sum);    }    }
  • 实验结果
    1580249-20190910111220999-984460059.png

5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。

  • 实验源码
public class Timu5 {    public static void main(String[] args) {        int i, j, sum;    for(i=0;i<=1000;i++){        if(i==1) continue;         sum=1;        for(j=2;j
  • 实验结果

1580249-20190910111254379-1068168815.png

6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。

  • 实验源码
public class Timu6 {    public static void main(String[] agrs) {        int i, sum = 0;        for(i = 0;sum + i< 8888; i++) {            sum = sum + i;        }        System.out.println(i - 1);        System.out.println(sum);    }    }
  • 实验结果

1580249-20190910111923414-2057988870.png

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

*          * *         * * *        * * * *       * * * * *
  • 实验源码
public class Timu7 {    public static void main(String[] args) {        int i, j, x = 4,k,l = 4;        for(i = 0;i < 5;i++) {            for(j = x;j > 0;j--) {                System.out.print(" ");            }            x = x -1;            for(k = l;k < 5;k++) {            System.out.print("* ");        }            System.out.print("\n");            l--;    }    }}
  • 实验结果
    1580249-20190910111416964-751211327.png

总结:

这次实验报告是Java第一次实验报告,虽然题目并不是很难,但这次实验报告的目的旨在让我们熟悉jdk开发环境,我认为这已经达到目的了,甚至有些题目因为前面做的可能有一些不理解,这一次再做就会熟练,发现以前那些难以看懂的题目,现在做起来很流畅,马上就能想到方法解决,甚至不止一个方法。总之这次实验报告还是有收获的。

第三周总结

本周讲了构造方法,匿名对象,this关键字,static关键字。

构造方法:

构造方法在实例化对象时使用

per = new Person();

1580249-20190914135705172-644069280.png

这里使用构造方法

它的定义方式与普通方法类似但要主意几点:

  • 1.构造方法的名称必须类名称一致;
  • 2.构造方法的声明处不能有任何返回值类型的声明;
  • 3.不能在构造方法中使用return返回一个值;
    只要是类就比须存在构造方法,以前的程序没有构造方法,那是如果明确声明一个构造方法,那么在编译时会自动生成一个什么都不做的的构造方法;正是如此所以前面的程序没有声明构造方法,对象也是可以进行对象的实例化操作;
    1580249-20190914140117931-613510433.png
    1580249-20190914140129135-396835114.png

如果一个类中已经明确声明了一个构造方法,那么程序在编译时将不会生成默认的构造方法;一个类中至少存在一个构造方法,也就是说可以进行构造方法的重载;进行重载时,所有重载的方法按照参数的个数由多到少,或由少到多。

匿名对象:

匿名对象,就是没有给出明确名字的对象,一般匿名对象只使用一次,并且匿名对象只在堆内存开辟空间,不存在栈内存的引用。匿名对象在实际开发中基本上都是作为其他类的实例化对象的参数传递的。

1580249-20190914140248702-1827016748.png
1580249-20190914140343626-1067632027.png

this关键字:

1.使用this调用本类中的属性

1580249-20190914140839715-1912787002.png

当需要这样赋值的时候就需要this关键字了
1580249-20190914140952021-1861250141.png
2.使用this调用构造方法
如果一个类中有多个构造方法,可以使用this关键字进行互相调用
1580249-20190914141514911-1918721664.png
1580249-20190914141523556-1852746278.png

  • 主意用this调用构造方法需要放在构造方法首行
  • 不能循环调用
  • 只能在构造方法中调用构造方法
    3.this表示当前对象
    1580249-20190914141714767-1278322007.png
    1580249-20190914142017636-760290383.png

主要功能就是进行对象的比较

1580249-20190914142209007-1665910971.png
1580249-20190914142354500-1618981986.png
4.强调调用本类方法
就是起到一个强调的作用。

static关键字

1.使用static声明属性

如果在程序中使用static声明属性的话,则此属性称为全局属性,或静态属性
前面讲了栈内存,堆内存,除此以外还有一个全局数据区,static声明的属性就放在这里面
1580249-20190914143830831-1051853893.png
2.使用static声明方法:
static既可以声明属性,也可以声明方法,用它声明的方法有时也被称为“类方法”,可以由类名直接调用
1580249-20190914144411430-513574750.png

1580249-20190914144416781-2014101235.png

必须要注意的时是,非static声明的方法可以去调用static声明的属性或方法的,但是static声明的方法是不能调用非static类型声明的属性或方法的。

3.理解main()方法:
1580249-20190914150958401-960978928.png

1580249-20190914151028716-127416208.png

转载于:https://www.cnblogs.com/xiao--liang/p/11496131.html

你可能感兴趣的文章
读了曾国藩家书,,心态逐渐平和起来。搞技术的如果缺乏信念的指引,生活会很乏味无聊!...
查看>>
前端javascript 错误 Uncaught SyntaxError: Unexpected token ILLEGAL
查看>>
2017.4.18 Java的Integer与int互转
查看>>
小程序接受返回数组的坑
查看>>
echart.js的使用
查看>>
自己动手写一个单链表
查看>>
生产者与消费者(综合案例)
查看>>
常用正则表达式
查看>>
6.2.7 Math对象的使用
查看>>
PHP 重置数组为连续数字索引的几种方式
查看>>
南阳理工acm 88-汉诺塔(一)
查看>>
160809308周子济第六次作业
查看>>
大型Web应用运行时 PHP负载均衡指南
查看>>
为phpStorm 配置PHP_CodeSniffer自动检查代码
查看>>
测试工具网址大全(转)
查看>>
ServiceStack DotNet Core前期准备
查看>>
webpack中‘vant’全局引入和按需引入【vue-cli】
查看>>
Date、String和Timestamp类型转换
查看>>
计算机的组成
查看>>
CSS命名规范
查看>>