• Java作业3


    1.下面代码的运行结果是(C)

    public static void main(String[] args){
    
      String s;
    
      System.out.println("s="+s);
    
    }
    

    A.代码编程成功,并输出”s=”

    B.代码编译成功,并输出”s=null”

    C.由于String s没有初始化,代码不能编译通过。

    D.代码编译成功,但捕获到NullPointException异常

    这段代码可以这么改

    1. public class Test {
    2. String s;
    3. public static void main(String[] args) {
    4. Test test = new Test();
    5. System.out.println("s="+test.s);
    6. //System.out.println("s="+new Test().s);//匿名对象
    7. //缺点:只能使用一次
    8. }
    9. }

     2.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有(A)

    package NowCoder;
    class Test {
    	public static void hello() {
    	    System.out.println("hello");
    	}
    }
    public class MyApplication {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Test test=null;
    		test.hello();
    	}
    }
    

    A.能编译通过,并正确运行

    B.因为使用了未初始化的变量,所以不能编译通过

    C.以错误的方式访问了静态方法

    D.能编译通过,但因变量为null,不能正常运行

    hello方法是一个静态方法,调用静态方法不需要创建实例对象。

    此时的 Test test=null; 表示test这个引用不指向任何对象。所以此处可以正常访问。

    但是我们需要牢记,静态方法的正确访问方式应该是用过类型来访问。即:Test.hello();


    3.如下代码的输出结果是什么?D

    public class Test { 
        public int aMethod(){
            static int i = 0;
            i++; 
            return i;
        } 
    public static void main(String args[]){
        Test test = new Test(); 
        test.aMethod(); 
        int j = test.aMethod();
        System.out.println(j);
        } 
    }
    

    A.0

    B.1

    C.2

    D.编译失败


    4.D

     

    A 3.0是double类型,所以给float的时候要强制类型转换

    B n被static修饰,无法被访问

    C 普通的成员变量是通过引用来访问的(t.m),不能直接拿类来访问


    5.A

     这也能体现static的特点


    6.A

    以下代码在编译和运行过程中会出现什么情况

    public class TestDemo{
    
    	private int count;
    
    	public static void main(String[] args) {
    
    		TestDemo test=new TestDemo(88);
    
    		System.out.println(test.count);
    
    	}
    
    	 TestDemo(int a) {
    
    		 count=a;
    
    	}
    
    }
    

    A.编译运行通过,输出结果是88

    B.编译时错误,count变量定义的是私有变量

    C.编译时错误,System.out.println方法被调用时test没有被初始化 

    D.编译和执行时没有输出结果

    当执行 

    TestDemo test = new TestDemo(88);
    

    的时候,会先执行构造方法,将88的值,赋值给count,所以最终输出的值是88.


    7.A 

    public class Test{
        static int cnt = 6;
        static{
            cnt += 9;
        }
        public static void main(String[] args){
            System.out.println("cnt = " + cnt);
        }
        static{
            cnt /=3;
        };
    }
    

    cnt的值是( )

    A.cnt=5

    B. cnt=2

    C.cnt=3

    D.cnt=6

    static从上到下依次执行


    8.编程题

    描述

    现有一个Data类,内部定义了属性x和y,在main方法中实例化了Data类,并计算了data对象中x和y的和。但是,Data类的定义存在错误,请你将这些错误修正过来,使得main方法中的求和逻辑可以正常执行。

    输入描述:

    两个整数

    输出描述:

    两个整数的和

    示例1

    输入:

    1 2
    

    输出:

    3
    

    代码如下:

    1. import java.util.Scanner;
    2. public class Main {
    3. public static void main(String[] args) {
    4. Scanner scanner = new Scanner(System.in);
    5. while (scanner.hasNextInt()) {
    6. int x = scanner.nextInt();
    7. int y = scanner.nextInt();
    8. Data data = new Data(x, y);
    9. System.out.println(data.getX() + data.getY());
    10. }
    11. }
    12. }
    13. class Data {
    14. private int x;//只能在类内修饰,类外调不了
    15. private int y;
    16. private Data(int x, int y) {
    17. x = x;//this.x
    18. y = y;//this.y
    19. }
    20. private int getX() {//只能在类内修饰,类外调不了
    21. return x;
    22. }
    23. private int getY() {
    24. return y;
    25. }
    26. }

    题目和修改如上

  • 相关阅读:
    xml 解析bean工具类
    QCustomPlot添加标题头
    ADB命令
    MySQL [基础] 学习笔记
    FPGA 图像缩放 千兆网 UDP 网络视频传输,基于RTL8211 PHY实现,提供工程和QT上位机源码加技术支持
    十六、Webpack常见的插件和模式
    【广州华锐互动】VR营销心理学情景模拟培训系统介绍
    【开源教程27】疯壳·开源编队无人机-视觉追踪
    生成逆向调试符号的几款工具
    django使用多个数据库实现
  • 原文地址:https://blog.csdn.net/hellg/article/details/132676071