Java测试题一

1.基本数据类型有哪些?

基本数据类型有8个:整数:byte、int、long、short。 浮点型:float、double。 布尔型boolean。 字符型:char

2.下列代码的输出是什么?为什么?
java 复制代码
public static void main(String[] args) {
        byte a = 127;  
        byte b = (byte)(a+1);     
        System.out.println(b);
}

输出为-128,因为byte类型的范围是-128到127,当byte b = (byte)(a+1);时,a为127;加1之后为128,但是不在范围内,所以返回-128。

3.写出每一个整型最多能表示多少个字节

Byte(8dit,1字节) short(16bit,2字节) int(32bit,4字节) long(64bit,8字节)

4.下列代码输出的是什么类型
java 复制代码
char a = 'b';
char b = 'c';
Sysout.out.print( a + b);

输出为int类型

5.随意定义一个变量i = 3287;获取该数字中各个位上的数字,最终输出:个位是7, 十位是8,百位是2, 千位是3
java 复制代码
public class Test {
	public static void main(String[] args) {
		int i =3287;
		int gewei = i % 10;
		int shiwei = (i/10) % 10;
		int baiwei = (i/10/10) %10;
		int qianwei = (i/10/10/10) %10;
		System.out.print("个位:" +gewei+ ",十位:" +shiwei+ ",百位:"+baiwei+",千位:"+qianwei);
	}

}
6.下列代码的输出结果是什么?
java 复制代码
public static void main(String[] args) {
        int a = 5;
        int n = a++;   
        int b = ++n;  
        System.out.println(b);
}.

输出为6

7.下列代码的输出结果是什么?
java 复制代码
public static void main(String[] args) {
        int a = 4;
        int b = 5;
        System.out.println(a<b?a:b);
    }

输出为4

8.下列代码的输出结果是什么?
java 复制代码
public static void main(String[] args) {
        int a = -4;
        int b = 5;
        System.out.println(a & b);    //两个操作数,同为1则为1,其余全是0
}
java 复制代码
public static void main(String[] args) {
        int a = -4;
        int b = 5;
        System.out.println(a | b); //同为0则是0,其余全是1
}
java 复制代码
public static void main(String[] args) {
        int a = -4;
        int b = 5;
        System.out.println(a ^ b); //相同为0,不同为1
    }
java 复制代码
public static void main(String[] args) {
        int a = -4;
        System.out.println(a << 2);   
}
java 复制代码
public static void main(String[] args) {
        int a = -4;
        System.out.println(a >> 2);    
}

输出为4、输出为-3、输出为-7、输出为-16、输出为-1

9.下列代码片叙述正确的是
java 复制代码
public static void main(String[] args) {
        byte b1 = 1,b2=2,b3,b6;
        final byte b4 = 4,b5 = 6;
        b6 = b4 + b5;//因为b4,b5被final修饰了,不会自动转化为int类型。
        b3 = b1+b2;//因为在进行相加时会将byte转化为int类型,但是b3还是byte类型所以会报错
        System.out.println(b3+b6);
}

A:输出结果为:13

B:语句b6 = b4 + b5;编译出错

C:语句b3 = b1+b2;编译出错

D:运行期间抛出异常

C

10.写出几个String类当中的方法,并说明其含义(至少5个)

Length()返回字符串中的长度、equals()判断字符串的值是否相等、x.substring()截取字符串中的内容、x.indexOf()判断是不是字符串的子串、replace替换字符串中的内容

11.下面程序的运行结果是_____,为什么
java 复制代码
String str1 = "hello"; 
String str2 = "he" + new String("llo"); 
System.out.println(str1 == str2); 

运行为fales,其中str2是拼接操作创造的新对象,和str1不一样

12.当编译并运行下面程序时会出现什么结果( )
java 复制代码
public class MyAr{
     public static void main(String args[]){
          int[] i = new int[5];
          System.out.println(i[5]);
     }
}

会出现异常;因为i的索引为0-4;里面没有索引为5的

13.已知有数组定义:int MyArray[] = {10,20,30,40,50,60,70,80,90,100},则以下程序段:
执行后s的值是_____________
java 复制代码
int s = 0 ;
for ( int i = 0 ; i < MyArray.length ; i + + )
if ( i % 2 == 1 )
s =s+ MyArray[i] ; 
System.out.println(s);

值为300

14.有如下程序段: 运行时候是否报错,如果有错误如何修改
java 复制代码
   // String unset="";
    String unset=null;
    if(unset.length()>0 && unset!=null){  
        System.out.println("Hello Pido! ");
    }

运行时会报错误、应该先判断unset!=null,因为String unset=null;长度为0了,前面的unset.length()>0已经错了,所以不会去判断后面的。

15.有以下程序段: 这里输出的是_______
java 复制代码
public static void main(String[] args) {
        int i = 0;
        for(;i<100;i++){
            if(i==10){
                break;   // 结束循环
            }
        }
        System.out.println("i="+i);
}

输出为i=10

16.如下Java程序片段 运行后,该程序段的输出结果是________
java 复制代码
String a = "abcdefg";
String b = "abcdefg";
System.out.println(a==b); 

输出为true

17.如下Java程序片段 运行后,该程序段的输出结果是________
java 复制代码
String a = "abcdefg"; 
String b = "abc" + "defg";   
System.out.println(a==b); 

输出为true

18.分析以下需求,并用代码实现:

(1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入

(2)涨工资的条件如下: [10-15) +5000 [5-10) +2500 [3~5) +1000 [1~3) +500 [0~1) +200

(3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"

19、分析以下需求,并用代码实现:

(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}

(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组 提示思路:先查找最大值和最小值出现的索引。

20.下列代码输出是什么?
java 复制代码
class Person{
    private int id;
    private String name;
    public Person(int id,String name) {
        this.id = id;
        this.name = name;
    }
}
public class StudentClass {
    public static void main(String[] args) {
        Person a = new Person(23, "a");
        Person b = new Person(22,"b");
        swap(a, b);
        System.out.println(a == a);
        System.out.println(b == b);
    }
    private static void swap(Person a, Person b) {
        Person temp = a;
        a = b;
        b = temp;
    }
}

true、true

相关推荐
llwszx1 小时前
深入理解Java锁原理(一):偏向锁的设计原理与性能优化
java·spring··偏向锁
脑袋大大的1 小时前
JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘
开发语言·javascript·性能优化
云泽野1 小时前
【Java|集合类】list遍历的6种方式
java·python·list
二进制person2 小时前
Java SE--方法的使用
java·开发语言·算法
OneQ6662 小时前
C++讲解---创建日期类
开发语言·c++·算法
小阳拱白菜3 小时前
java异常学习
java
码农不惑3 小时前
2025.06.27-14.44 C语言开发:Onvif(二)
c语言·开发语言
FrankYoou4 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
麦兜*4 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
Coding小公仔5 小时前
C++ bitset 模板类
开发语言·c++