java第一次实验总结&第三周总结
Java第一次实验报告,java开发环境与简单的Java程序
一.实验目的
1.熟悉JDK开发环境
2.熟练掌握结构化程序设计方法
二.实验内容
-
打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
-
编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
-
编程求1!+2!+3!+…+20!。
-
编写Java程序,计算8+88+888+…前10项之和。
-
一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
-
编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
-
使用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()方法: