Day07_Java_作业

来源:互联网 发布:知乎专栏 pytorch 编辑:程序博客网 时间:2024/06/12 01:24

A:简答题
1、 构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项? 构造方法中可不可以写return语句呢?
2、 一个类的缺省构造方法可以有参数吗?
3、 静态代码块和构造代码块的特点分别是什么?
4、 静态变量与成员变量的区别?
5、 请说明一个对象的创建过程做了哪些事情?
Student s = new Student();
B:看程序写结果(写出自己的分析理由),程序填空,改错,看程序写结果。
1、 请补全下面程序中横线位置的代码(可以编写多行代码)
public class __{
int x, y;
public Myclass( int i, _) {
x=i;
y=j;
}
}

答:public class Test___{
int x, y;
public int Myclass( int i, int j_) {
x=i;
y=j;
}
}

2、写出下面程序的执行结果,如有错误,请指出错误原因
class Demo {
int x;
String s;
float f;
boolean[] b = new boolean[5]; //定义长度为5的布尔类型的一维数组,内容默认为false

public static void main(String[] args){
System.out.println(x);
System.out.println(s);
System.out.println(f);
System.out.println(b[2]);
}
}

答:
0
null
0.0
False
3、给出以下代码,请问该程序的运行结果是什么?
class Demo {
static int i=1, j=2;
static {
display(i);
}
public static void main(String[] args) {
display(j);
}
public static void display(int n) {
System.out.println(n);
}
}

答:1
2
Static修饰的成员变量随着类的加载而加载到内存里,然后运行主方法
4、给出以下代码,请问该程序的运行结果是什么?
class Demo {
static int i = 1;
static {
++i;
}
public static void main(String[] args) {
increment(i, 5);
display(i);
}
public static void increment(int n, int m){
n += m;
}
public static void display(int n) {
System.out.println(n);
}
static {
++i;
}
}

答:3
随着类的加载,静态修饰的成员变量和代码块随先后顺序先运行,然后在运行静态方法
5、给出以下代码,请问该程序的运行结果是什么?
public class Demo {
static int total = 10;
public static void main(String[] args){
new Demo();
new Demo();
}
public Demo(){
int temp = this.total;
if (temp++ > 5) {
System.out.println(temp);
}
}
}
E:编程题
1、 定义标准手机类并进行测试
答:
手机类:
package student;
/**
* @author Aoman_Hao
*/
public class Day07_Phone {
String name;
int price;
double screen;

public void show(String name,int price,double screen2){    System.out.println("手机品牌:"+name);    System.out.println("手机价格:"+price);    System.out.println("手机屏幕大小:"+screen2);}

}

测试类:
package student;

import java.util.Scanner;

/**
* @author Aoman_Hao
*/
public class Day07_Test {

public static void main(String[] args) {    Scanner sc = new Scanner(System.in);    System.out.println("请输入手机品牌:");    String name = sc.nextLine();    System.out.println("请输入手机价格:");    int price = sc.nextInt();    System.out.println("请输入手机屏幕大小:");    double screen = sc.nextDouble();    Day07_Phone Phone = new Day07_Phone();    Phone.show(name, price, screen);}

}

2、 编写java程序,完成随机数小游戏
答:
package student;

import java.util.Random;
import java.util.Scanner;

/**
* @author Aoman_Hao
*/
public class GuassNum1 {
static int num = (int) (Math.random()*10+1) ;
public static void main(String[] args) {

    for(int i = 1;i<100;i++){    Scanner sc = new Scanner(System.in);    System.out.println("请输入一个整数(1-100):");    int num1 = sc.nextInt();    if(num1==num){        System.out.println("您猜对了");        break;    }else if(num1>num){        System.out.println("猜大了");    }else if(num1<num){        System.out.println("猜小了");    }       }}

}
F:分析画图推原理(要求画出内存图,并对结果进行解释)
class Student {
private String name;
private int age;

public Student(){}
public Student(String name, int age){
this.name = name;
this.age = age;
}

public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void show(){
System.out.println( name + “—” + age );
}
}

1、通过上述的学生类,创建对象,写出执行结果,并画出内存图
Student s = new Student();
System.out.println( s.getName());
System.out.println( s.getAge());

s.setName(“小强”);
s.setAge(20);
System.out.println( s.getName());
System.out.println( s.getAge());

答:
null
0
小强
20
2、通过上述的学生类,创建对象,写出执行结果,并画出内存图
Student s1 = new Student(“小丽”, 18);
Student s2 = new Student(“小明”, 20);
s1.show();
s2.show();

s1.setAge(21);
s2.setName(“小亮”);
s1.show();
s2.show();

答:
小丽–18
小明–20
小丽–21
小亮–20

3、通过上述的学生类,创建对象,写出执行结果,并画出内存图
Student s1 = new Student(“小丽”, 18);
Student s2 = new Student(“小明”, 20);
Student s3 = s1;
s3.setAge(20);
s1.show();
s2.show();
s3.show();

答:
小丽—20
小明—20
小丽—20

原创粉丝点击