栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

今日JAVA——练习题十

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

今日JAVA——练习题十

JAVA练习题
  • JAVA每日随手练【类和对象】
    • 1.单选题一
    • 2.单选题二
    • 3.单选题三
    • 4.单选题四
    • 5.编程题:奇数放到数组后面
    • 6.编程题:交换两个数组

JAVA每日随手练【类和对象】 1.单选题一

如下代码的输出结果是什么?()
A.0
B.1
C.2
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);
    } 
}

正确答案:D

【分析】:静态方法只能在类主体中定义,不能在方法中定义,静态变量又称为类变量,只能定义在类里,不能定义在方法中,静态方法也不行。

2.单选题二

当你编译和运行下面的代码时,会出现下面选项中的哪种情况?()
A.编译时错误
B.编译通过并输出结果false
C.编译通过并输出结果true
D.编译通过并输出结果null

public class Pvf{
    static boolean Paddy;
    public static void main(String args[]){
        System.out.println(Paddy);
    }
}

正确答案:B

【分析】:类中声明的变量有默认初始值,方法中声明的变量没有默认初始值,必须在定义时初始化,否则在访问该变量时会出错,Boolean类型的默认值为false

3.单选题三

关于以下程序代码的说明正确的是()
A.程序通过编译,输出结果为:x=102
B.程序通过编译,输出结果为:x=103
C.10行不能通过编译.因为x星私有静态变量
D.5行不能通过编译.因为引用了私有静态变量

public class HasStatic {// 1
	private static int x = 100;// 2
	public static void main(String args[]) {// 3
		HasStatic hsl = new HasStatic();// 4
		hsl.x++;// 5   //先赋值x=100,再++,++后x变为101
		HasStatic hs2 = new HasStatic();// 6
		hs2.x++;// 7   //先赋值x=101,再++,++后x变为102
		hsl = new HasStatic();// 8
		hsl.x++;// 9   //先赋值x=102,再++,++后x变为103
		HasStatic.x--;// 10   //先赋值x=103,再--,--后x变为102
		System.out.println(" x=" + x);// 11   //此时输出x=102
	}
}

正确答案:A

【分析】:该程序能够通过编译,程序中声明了2个对象hs1和hs2,而hs1初始化两次,虽然x被定义为私有的变量,但在本类中是可以调用的。所以输出结果为x=102(输出过程见代码注释)。

4.单选题四

已知如下类说明:如下哪些使用是正确的()
A.t.a = 1.0
B.this.n
C.Test.m
D.Test.n

public class Test{
  private float f=1.0f;
  int m=12;
  static int n=1;
  public static void main(String args[]){
    Test t=new Test();
  }
}

正确答案:D
【分析】:
A:编译不成功,因为float浮点类型默认是double类型 所以float f=1.0f;(必须加上f 强调定义的是float)此处是精度由高(double)向低(float)转型所以会报错 但是若是float f=1;这里是默认类型是Int 类型 精度由低(int)向高转型(float)不丢失精度不会报错。
B:this不能在static的方法中使用,this是指向对象的的引用,而静态方法在类加载的时候创建加载,此时没有创建对象。this的使用时针对在方法内部使局部变量等值于实例变量而使用的一个关键字,此处的n是静态变量而非实例变量 所以this的调用会出错(static本来是全类中可以使用的,是全局的)
C:m是实例变量,实例变量是指需要new 一个对象出来才能使用,这里直接用类名调用,jvm不知道m是谁
D:类变量可以通过类直接调用

5.编程题:奇数放到数组后面

要求:给定整型数组, 把所有的偶数放到数组前面, 把所有奇数放到数组后面
代码:

import java.util.Arrays;

public class test1 {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5,6};
        System.out.println(Arrays.toString(transform(arr)));

    }
    public static int[] transform(int[] a){
        int left=0;
        int right=a.length-1;
        while(left 

运行结果:

6.编程题:交换两个数组

要求:给定两个整型数组, 交换两个数组的内容
代码:

import java.util.Arrays;

public class test2 {
    public static void main(String[] args) {
        int[] a={1,3,5};
        int[] b={2,4,6};
        swap(a,b);
    }
    public static void swap(int[] a,int[] b){
        for(int i=0;i 

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号