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);
} }
} }
  • 实验结果

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);
} }
  • 实验结果

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);
} }
  • 实验结果

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);
} }
  • 实验结果

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<i;j++)
if(i%j==0) sum+=j;
if(sum == i){
System.out.println(i);
}
}
} }
  • 实验结果

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);
} }
  • 实验结果

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--;
}
}
}
  • 实验结果

总结:

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

第三周总结

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

构造方法:

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

per = new Person();

这里使用构造方法

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

  • 1.构造方法的名称必须类名称一致;
  • 2.构造方法的声明处不能有任何返回值类型的声明;
  • 3.不能在构造方法中使用return返回一个值;

    只要是类就比须存在构造方法,以前的程序没有构造方法,那是如果明确声明一个构造方法,那么在编译时会自动生成一个什么都不做的的构造方法;正是如此所以前面的程序没有声明构造方法,对象也是可以进行对象的实例化操作;



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

匿名对象:

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



this关键字:

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



当需要这样赋值的时候就需要this关键字了



2.使用this调用构造方法

如果一个类中有多个构造方法,可以使用this关键字进行互相调用



  • 主意用this调用构造方法需要放在构造方法首行
  • 不能循环调用
  • 只能在构造方法中调用构造方法

    3.this表示当前对象



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





4.强调调用本类方法

就是起到一个强调的作用。

static关键字

1.使用static声明属性

如果在程序中使用static声明属性的话,则此属性称为全局属性,或静态属性

前面讲了栈内存,堆内存,除此以外还有一个全局数据区,static声明的属性就放在这里面



2.使用static声明方法:

static既可以声明属性,也可以声明方法,用它声明的方法有时也被称为“类方法”,可以由类名直接调用

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

3.理解main()方法:

java第一次实验总结&第三周总结的更多相关文章

  1. java实验报告&第三周学习总结

    实验报告: 实验1:求水仙花数在C语言中求水仙花数是一个复杂且长的代码,在java中可以通过简单的代码来实现操作,找出水仙花数: 图例如下: 试验2:求13+23-33+43-53.........9 ...

  2. 20145312《Java第一次实验报告》

    20145312<Java第一次实验报告> Java开发环境的熟悉(Windows+Idea) 一.实验内容 使用Idea编辑.编译.运行.调试Java程序. 使用JDK编译.运行简单的J ...

  3. Java第一次实验 20145104张家明

    Java第一次实验 实验报告 实验要求: 1.使用JDK编译.运行简单的Java程序 2.使用IDEA 编辑.编译.运行.调试Java程序 实验内容: 1.使用JDK编译.运行简单的Java程序: 2 ...

  4. 20155210 潘滢昊 Java第一次实验---凯撒密码

    Java第一次实验---凯撒密码 实验内容 实现凯撒密码,并进行测试. 实验代码 import java.io.*; import java.util.Scanner; public class ks ...

  5. 20145316许心远《Java学习笔记》第三周总结

    20145316许心远<Java程序设计>第3周学习总结 教材学习内容总结 一.定义类: 类定义时使用class关键字 如果要将x绑定到新建的对象上,可以使用"="制定 ...

  6. Java第一次实验报告——Java开发环境的熟悉

    北京电子科技学院(BESTI) 实    验    报    告 课程名称:java程序设计实验      班级:1352         姓名:洪韶武      学号:20135219 成绩:   ...

  7. 20165210 Java第一次实验报告

    20165210 第一次实验报告 实验内容 建立目录运行简单的Java程序 建立自己学号的目录 在上个目录下建立src,bin等目录 Javac,Java的执行在学号目录下 IDEA的调试与设置断点 ...

  8. 关于Java第一次实验的对课后问题自己的理解--验证码实现及其四则运算

    问题一.对于课上ppt中EnumTest所提出的的问题进行解答 将这段代码放到文件中进行运行后发现 1.对应的Size中不同元素的并不是同一个对象 2.以其中一个枚举类型s来说,不是原始数据,即他们都 ...

  9. Java第一次实验

    北京电子科技学院(BESTI) 实验报告   课程: java实验    班级:1352     姓名:吕松鸿     学号:20135229  成绩: 指导教师: 娄嘉鹏    实验日期及时间:20 ...

随机推荐

  1. 圆桌游戏(区间DP)

    2.圆桌游戏 (game.cpp/c/pas) [问题描述] 有一种圆桌游戏是这样进行的:n个人围着圆桌坐成一圈,按顺时针顺序依次标号为1号至n号.对1<=i<=n的i来说,i号的左边是i ...

  2. [题解] [CQOI2007] 余数求和

    题面 题解 考虑到这个等式\(a\bmod b = a - b * \lfloor\frac{a}{b}\rfloor\) 所以我们可以得到: \[ \begin{aligned} ans & ...

  3. 教程:myeclipse在线安装svn插件

    SVN 版本控制,相信开发过程中都很多有用到,今天在myeclipse 在线安装了SVN插件.下面是具体步骤,记录下,希望对有需要的朋友提供帮助. 要求: Myeclispe,电脑能连接互联网 步骤: ...

  4. python3笔记十六:python匿名函数和高阶函数

    一:学习内容 lambda函数 map函数与reduce函数 filter函数 sorted函数 二:匿名函数-lambda 1.概念:不使用def这样的语句去定义函数,使用lambda来创建匿名函数 ...

  5. 移动平台对meta标签的定义

    一.meta 标签分两大部分:HTTP 标题信息(http-equiv)和页面描述信息(name). 1.http-equiv 属性的 Content-Type 值(显示字符集的设定) 说明:设定页面 ...

  6. C++之多继承与虚继承

    1. 多继承 1.1 多继承概念 一个类有多个直接基类的继承关系称为多继承 多继承声明语法 class 派生类名 : 访问控制 基类名1, 访问控制 基类名2, ... { 数据成员和成员函数声明 } ...

  7. 软工第04组 Alpha冲刺(1/6)

    队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 过去一段时间对项目的精度和分工进行了更加细致的划分,并初步进行了GamePlay逻辑部分的框架设计 GitHub签入记录: ...

  8. 石川es6课程---9、面向对象-基础

    石川es6课程---9.面向对象-基础 一.总结 一句话总结: js老版本的面向对象和继承都不是很方便,新版的面向对象向其它语言靠拢,有了class,extends,constructor等关键字,用 ...

  9. python:将numpy数组写入csv文件

    import numpy as np np.savetxt('E:\\forpython\\featvector.csv',data_to_save,delimiter=',')

  10. 重入锁 ReentrantLock (转)(学习记录)

    重入锁(ReentrantLock)是一种递归无阻塞的同步机制.以前一直认为它是synchronized的简单替代,而且实现机制也不相差太远.不过最近实践过程中发现它们之间还是有着天壤之别. 以下是官 ...