07

A:简答题

1、 构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项?构造方法中可不可以写return语句呢?

作用:给对象中的成员进行初始化;特点:存在类中,方法名和类名相同,没有返回值类型,也没有void;注意事项:一但提供了有参构造,默认的空参构造就没有了;不可以写return语句,因为没有返回值类型;

2、 静态代码块和构造代码块的特点分别是什么?

静态代码块:被static修饰的代码块—static{},随着类(.class)的加载而加载,最优先执行,而且只执行一次,只有JVM能调用。

构造代码块:定义在类中方法外,创建对象时就会执行,而且优先于方法执行,每次创建对象时都会执行。

3、 静态变量与成员变量的区别?

静态变量:定义类中方法外,被static修饰;静态变量属于类;存在于方法区的静态区,随着类的加载而加载,随着类的卸载而卸载;用类名调用

成员变量:定义在类中方法外的变量;存在于堆内存;随着对象的创建而产生,随着对象的消失而消失;属于对象,可以叫做实例变量;通过对象调用。

4、 请说明一个对象的创建过程做了哪些事情?

Student s = new Student();

a.加载Student.class文件进内存

b.在栈内存中为s开辟空间

c.在堆内存中为Student对象开辟空间

d.对学生对象的成员变量进行默认初始化

e.对成员变量进行显示初始化

f.通过构造方法对学生的成员变量赋值

g.对象完成初始化后,把对象的地址赋值给s变量

B:看程序写结果(写出自己的分析理由),程序填空,改错,看程序写结果。

1、 请补全下面程序中横线位置的代码(可以编写多行代码)

public class ____________{

int x, y;

​ public Myclass( int i, _______) {

x=i;

y=j;

}

}

//int j

2、写出下面程序的执行结果,如有错误,请指出错误原因

class Demo {

int x;

String s;

float f;

boolean[] b = new boolean[5];

public static void main(String[] args){

System.out.println(x);

System.out.println(s);

System.out.println(f);

System.out.println(b[2]);

}

}

main方法中的结果不能直接打印,要对类中的成员变量进行初始化
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

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

}

}

}

11

11

E:编程题

1、 定义标准手机类并进行测试

public class Phone {
    public static void main (String[] args) {
        MyPhone myPhone = new MyPhone(4555, "华为", "白色");
        System.out.println(myPhone.getColor());
        System.out.println(myPhone.getName());
        System.out.println(myPhone.getPrice());
        MyPhone.GN();
    }
}
 class MyPhone{
    double price;
    String name;
    String color;
    static void GN(){
        System.out.println("玩游戏");
        System.out.println("打电话");
    }
    public MyPhone(){
        
    }

     public double getPrice () {
         return price;
     }

     public void setPrice (double price) {
         this.price = price;
     }

     public String getName () {
         return name;
     }

     public void setName (String name) {
         this.name = name;
     }

     public String getColor () {
         return color;
     }

     public void setColor (String color) {
         this.color = color;
     }

     public MyPhone (double price, String name, String color) {
         this.price = price;
         this.name = name;
         this.color = color;
     }
 }

2、 编写Java程序,完成随机数小游戏

import java.util.Scanner;
public class GuessName {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        int  random = (int)(Math.random()*100+1);
        //System.out.println(random);
        for (int i = 0; i < 100; i++) {
            System.out.println("请输入一个1到100的整数");
            int guessNum=sc.nextInt();
            if(guessNum>random){
                System.out.println("你猜大了");
            }else if(guessNum<random){
                System.out.println("你猜小了");
            }else{
                System.out.println("你猜对了");
                break;
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值