javaSE 阶段 题目

一、基础题()

  1. 用最有效的的方法算出2乘以8等于几
    答案:2<<3
  2. Math.round(11.5)和Math.round(-11.5)的值是多少?
    Math.round(11.5):12
    Math.round(-11.5):-11
  3. 两个对象a和b,请问a == b和a.equals(b)有什么区别?
    a == b:比较对象地址
    a.equals(b):如果a对象没有重写过equals方法,效果和==相同,如果重写了就按照重写的规则比较。
  4. switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
    答案一:switch可以作用在byte上,不能作用在long上,JDK1.7之后可以作用在String上。
    答案二:switch支持的类型byte,short,int,char,JDK1.5之后支持枚举,JDK1.7之后支持String类型。
  5. char型变量中是否可以存储一个汉字?
    能,因为Java一个字符是2个字节,每一个字符使用Unicode编码表示
  6. float f=3.4;是否正确,表达式15/2*2的值是多少
    答案:不正确,float f = 3.4F;
    答案:14
  7. 编写代码实现两个变量值交换,int m = 3, n =5;
    答案一:
    int temp = m;
    m = n;
    n = temp;
    答案二:
    m = m + n;
    n = m - n;
    m = m - n;
    答案三:
    m = m ^ n;
    n = m ^ n;
    m = m ^ n;
  8. Java的基本数据类型有哪些?String是基本数据类型吗?
    基本数据类型有:byte,short,int,long,float,double,char,boolean
    String是引用数据类型,不是基本数据类型
  9. 数组有没有length()方法?String有没有length()方法?File有没有length()方法?ArrayList有没有length()方法?
    数组没有length()方法,但是有length属性。
    String和File有length()方法。
    ArrayList没有length()方法,有size()方法获取有效元素个数。
  10. String str = new String(“hello”);创建了哪些对象?
    字符串常量池中有一个对象,堆中有一个字符串对象。
  11. 如何将String类型转化Number类型?举例说明String str = “123”;
    答任意一个都对:
    Integer num1 = new Integer(str);

    int num2 = Integer.parseInt(str);

    Integer num3 = Integer.valueOf(str);
  12. 以下代码的运行结果:
    public static void main(String[] args) {
    char x = ‘x’;
    int i = 10;
    System.out.println(true? x : i);
    System.out.println(true? ‘x’ : 10);
    }
    答案:
    120
    x
  • 如果其中有一个是变量,按照自动类型转换规则处理成一致的类型;
  • 如果都是常量,如果一个是char,如果另一个是[0~65535]之间的整数按char处理;
  • 如果一个是char,另一个是其他,按照自动类型转换规则处理成一致的类型;
  1. 以下代码的执行结果
    public static void main(String[] args) {
    int a = 8, b = 3;
    System.out.println(a>>>b);
    System.out.println(a>>>b | 2);
    }
    答案:
    1
    3

  2. 下面程序片段的输出结果是?
    public static void main(String[] args) {
    int a = 3;
    int b = 1;
    if(a = b){
    System.out.println(“Equal”);
    }else{
    System.out.println(“Not Equal”);
    }
    }
    答案:编译不通过

  3. 执行如下代码后,c的值是多少?
    public static void main(String[] args) {
    int a = 0;
    int c = 0;
    do {
    –c;
    a = a - 1;
    } while (a >= 0);
    System.out.println("c = " + c);
    }
    答案:c = -1

  4. 以下代码的运行结果?
    public static void main(String[] args) {
    int i=10;
    while(i>0){
    i = i +1;
    if(i==10){
    break;
    }
    }
    System.out.println(“i=” + i);
    }
    答案一:是一个负数,因为i一直累加会超过int的存储范围
    答案二:死循环

  5. 修正如下代码
    下面是一段程序,目的是输出10个=,但是不小心代码写错了,现在需要修改代码,使得程序完成功能,但是只能“增加”或“修改”其中“一个”字符,很明显,将i–改为i++,可以完成功能,但是需要修改“两个”字符,所以并不是一个正确的答案?
    public static void main(String[] args) {
    int n=10;
    for (int i = 0; i < n; i–) {
    System.out.println("=");
    }
    }
    i<n修改为-i<n

  6. 以下代码的运行结果是什么?
    public class Test {
    public static boolean foo(char c) {
    System.out.print©;
    return true;
    }

    public static void main(String[] args) {
    int i = 0;
    for (foo(‘A’); foo(‘B’) && (i < 2); foo(‘C’)) {
    i++;// 1 2
    foo(‘D’);
    }
    }
    }
    答案:ABDCBDCB

  7. 以下代码的执行结果是什么
    public static void main(String[] args) {
    int i = 0;
    change(i);
    i = i++;
    System.out.println("i = " + i);
    }
    public static void change(int i){
    i++;
    }
    答案:i = 0

  8. 以下程序的运行结果:
    public static void main(String[] args) {
    String str = new String(“world”);
    char[] ch = new char[]{‘h’,‘e’,‘l’,‘l’,‘o’};
    change(str,ch);
    System.out.println(str);
    System.out.println(String.valueOf(ch));
    }
    public static void change(String str, char[] arr){
    str = “change”;
    arr[0] = ‘a’;
    arr[1] = ‘b’;
    arr[2] = ‘c’;
    arr[3] = ‘d’;
    arr[4] = ‘e’;
    }
    答案:
    world
    abcde

  9. 以下代码的运行结果是:
    public static void main(String[] args) {
    Integer i1 = 128;
    Integer i2 = 128;
    int i3 = 128;
    int i4 = 128;
    System.out.println(i1 == i2);
    System.out.println(i3 == i4);
    System.out.println(i1 == i3);
    }
    答案:
    false
    true
    true

  10. 以下代码的运行结果
    public static void main(String[] args) {
    double a = 2.0;
    double b = 2.0;
    Double c = 2.0;
    Double d = 2.0;
    System.out.println(a == b);
    System.out.println(c == d);
    System.out.println(a == d);
    }
    答案:
    true
    false
    true

  11. 以下代码的运行结果是?
    public class Test {
    int a;
    int b;
    public void f(){
    a = 0;
    b = 0;
    int[] c = {0};
    g(b,c);
    System.out.println(a + " " + b + " " + c[0]);
    }
    public void g(int b, int[] c){
    a = 1;
    b = 1;
    c[0] = 1;
    }
    public static void main(String[] args) {
    Test t = new Test();
    t.f();
    }
    }
    答案:1 0 1

  12. 以下代码的运行结果是?
    public class Test {
    static int x, y, z;

    static {
    int x = 5;
    x–;
    }

    static {
    x–;
    }

    public static void main(String[] args) {
    System.out.println(“x=” + x);
    z–;
    method();
    System.out.println(“result:” + (z + y + ++z));
    }

    public static void method() {
    y = z++ + ++z;
    }
    }
    答案:
    x=-1
    result:3

  13. 以下程序的运行结果是:
    public class Test {

    public static void main(String[] args) {
    new A(new B());
    }
    }
    class A{
    public A(){
    System.out.println(“A”);
    }
    public A(B b){
    this();
    System.out.println(“AB”);
    }
    }
    class B{
    p

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值