java基础笔试题

1,一个.java的源文件是否可以包含多个类(不是内部类)?有什么限制?
可以有多个类,只能有一个public类,并且public的类名必须和文件名一致

2.java有没有goto?
java中的保留字,现在没有使用

3,java中&和&&的区别

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符的两边的表达式的
结构都为true时,整个运算结果才为true,否则只要有一方为false,则表达式为false
&&具有短路功能,如果一个表达式为false,则不会进行第二个表达式 ,例如
if(str != null && str.equals(”))表达式,当str为null时,后面的表达式不会执行,如果将&&改成&,则出现空指针异常
&可以作为位运算符,当&操作符的两边的表达式不是boolean类型时,&表示按位与操作,例如
0x31 & 0x0f 的结果是 0x01 获取改整数的最低4个bit位。

4, 在java中如何跳出当前的多重循环
在java中,要想跳出多重循环,可以在外面的循环语句前加一个标号,然后在里循环的代码体中使用带有标号的break语句,即可跳出外层循环。

ok;
for(int i=0;i<10;i++) {
    for(int j=0;j<10 j++)
        system.out.println("i="+i+"j"+j);
        if (j==5) break ok;
}

通常不使用这种方法,让外层的循环表达式的结果可以收到里层循环体代码的控制,例如在二维数组中查找出某个数

int arr[][]={{1,2,3},{4,5,6,7},{9}};
boolean found=false;
for(int i=0; i<arr.length && !found;i++){
    for (int j=0; j<arr[i].length;j++){
    System.out.println("i="+i+"j="+j);
    if (arr[i][j]==5){
            found=ture;
            break;
        }
    }
}

5,switch语句能否作用在byte上,能否作用在string,能否作用在long上?

在switch(expr1) 中,expr1只能是整数表达式或者是枚举常量,整数表达式可以是int类型或者integer包装类型。
由于byte,char,short类型都可以隐含转换成int
所以byte,char,shor以及包装类型都是可以的,所以,long,string类型的就不可以,不符合switch语法。

6,char变量中能不能存贮一个中文汉字,为什么?

char型变量时用来存储unicode编码的字符,在unicode字符集中包含了汉字,所以char型变量中可以存储汉字。因为unicode编码占有两个字节,所以char型变量也占有两个字节。

8,用最有效的方法计算出2乘以8等于几?
2 >> 3
因为一个数左移n位,就相当于乘以了2的几次方,一个数乘以8只要左移三位即可,
cpu位运算直接支持,效率最高

9.请设计一个一百亿的计算器

10.使用final修饰一个变量时,是引用不能变,还是引用的对象不能变?
解答:使用finnal修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
修改方式如下:
final StringBuffer a = new StringBuffer(“immutable”);
a=new StringBuffer(“”);
a.append(“broken”);
将final修饰的变量内容改变了。
11,==和equals方法究竟有什么区别?
解答:==操作符用来比较两个变量的值是否相等
equals方法:用于比较两个独立的对象的内容是否相等。
如下代码:
String a = new String(“foo”);
String b = new String(“foo”);
因为a 和b是两个不同的对象,即a和b中存储的数值是不相同的。所以a==b 返回false
因为两个对象中的内容是一样的,所以a.equals(b) 返回true
equals方法继承与object类,字符串的比较基本上都使用equals方法比较
12,静态变量和实例变量的区别?
静态变量需要加static关键字,而实例变量不加
静态变量不属于某个实例对象,而是属于类,也称类变量 通过类.类变量
实例变量必须创建对象后才可以通过这个对象来使用。
13.是否可以从一个static方法内部发出对非static方法的调用
不可以,因为非static方法要与对象关联在一起,必须创建该对象后,才可以在该对象上使用,
而static方法调用非static方法,可能这个非static方法的对象实例还没有创建。
14,Integer和int的区别
解答:int是java提高的8中原始数据类型,int的默认值是0
integer是java为int提供的封装类,Integer默认值是null

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村长在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值