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

时间:2023-03-10 01:42:11
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);
}
}
}
}

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

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);
}
}

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

(本题在编写过程中有把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);
}
}

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

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);
}
}

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

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);
}
}
}

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

(整数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);
}
}

实验结果:

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

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

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

|实验源码: |

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");
}
}
}

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

课程总结:

构造方法定义格式

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..."