JAVA基础测试题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA基础测试题相关的知识,希望对你有一定的参考价值。

1.class StaticStuff

static int x=10;
static x+=5;
public static void main(String args[])

System.out.println("x=" + x);

static x/=3;

为何打印出来是5?
2.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( )
A、x[24]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空
选哪个?为什么?
3.class AB
public static void main(String [ ] args)
long i=0;
try
i=Integer.parseInt(args[0]);
catch(Exception e)

switch(i)
case 0: System.out.println("0");
case 1: System.out.println("1");
default : System.out.println("default");


A、编译出错 B、打印出“0” C、打印出“1” D、打印出“default”
为什么通不过编译?怎么改?
4.break中断语句,若在一个FOR语句中加入break语句,它可以 ( )
A、对FOR语句执行没有影响 B、中断本次循环,进入下一次循环
C、退出FOR循环,执行FOR语句后面的语句 D、以上说法均不对
选什么?

参考技术A 1 跟java运行的机制有关,java先加载静态域,static int x=10; ,然后静态块static x+=5;,static x/=3;(虽然位置在后但先运行) ,然后静态方法static void main
所以x=10,x=15,x=5.
2 A因为int [ ] x = new int[25],数组建立后,每个元素默认值为0;x[24]=0;x[25] 下标越界,x[0]=0;
3 switch(i)不接受long型,int或者枚举型可以。i=Integer.parseInt(args[0]);虽然这样每课时i还是long型的。
4 c,没什么好说的,就是这么规定的!本回答被提问者采纳
参考技术B 1.因为有两个静态快static 的存在。这个静态快简单来说,相当于一种初始化。所以,x分别执行+5,/3的计算,最终x=5

2.x[24]=0.数组初始化如果未明确指出,那么如果是int[],所有元素会自动初始化为0.所以x[24]=0正确。自然B,D就不对,x[25]数组越界。

3.首先,swith需要一个int参数。i是long行,虽然你用Integer.parseInt返回int型,但是赋值给i的时候,相当于吧一个int赋值给long,所以又自动转换为long型。所以出错。

4.C.
break是中断跳出循环。而另外一个continue是跳过本次循环,进行下一次循环。
参考技术C 1;java代码运行顺序:先运行静态变量,然后是静态代码段(从上到下依次运行),所以是5
2,a
3,a
4,c
参考技术D 1、定义全局变量时,无论你写在文件的什么位置都会先执行的。
static x/=3; 会先于System.out.println("x=" + x); 执行。

2、x[24]为0是正确的。java会自动给数组初始化,数组的下标是从0开始的,定义了25个元素的数组,数组下标0 - 24.
第5个回答  2008-05-06 要不就别给分,要不就多给点 整出个5分 没心情细看

[Java基础]Junit测试

Junit测试:
在这里插入图片描述

代码如下:

package CalculatorPack;

public class Calculator {
    public int add(int a,int b)
    {
        return a+b;
    }

    public int sub(int a,int b)
    {
        return a-b;
    }


}

package CalculatorPack;

import org.junit.Assert;
import org.junit.Test;

public class CalculatorTest {
    @Test
    public void testAdd()
    {
        //1.创建计算机对象
        Calculator c = new Calculator();
        //2.调用add方法
        int res = c.add(1,2);
//        System.out.println(res);

        //3.断言,我断言这个结果为3
        Assert.assertEquals(3,res);

    }
	@Test
    public void testSub()
    {
        Calculator c = new Calculator();
        int res = c.sub(1,2);
        Assert.assertEquals(-1,res);

    }

}

测试结果:

在这里插入图片描述

在这里插入图片描述

代码如下:

package CalculatorPack;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import java.awt.*;

public class CalculatorTest {

    /*
    初始化方法:
    用于资源申请,所有测试方法在执行之前都会先执行该方法

     */
    @Before
    public void init()
    {
        System.out.println("init...");
    }


    /*
    释放资源方法:
    在所有测试方法执行完后,都会自动执行该方法

     */
    @After
    public void close()
    {
        System.out.println("close");
    }


    @Test
    public void testAdd()
    {
        System.out.println("add........");
        //1.创建计算机对象
        Calculator c = new Calculator();
        //2.调用add方法
        int res = c.add(1,2);
//        System.out.println(res);

        //3.断言,我断言这个结果为3
        Assert.assertEquals(3,res);

    }
    @Test
    public void testSub()
    {
        System.out.println("sub....");
        Calculator c = new Calculator();
        int res = c.sub(1,2);
        Assert.assertEquals(-1,res);

    }

}

测试结果:

在这里插入图片描述

在这里插入图片描述

以上是关于JAVA基础测试题的主要内容,如果未能解决你的问题,请参考以下文章

Java基础测试题

Java基础机试题

java基础笔试题

JAVA语言基础内部测试题(50道选择题)

Java基础面试题集

java基础知识周测试题带答案