java中级面试题及答案2020_java面试题及答案2020 java最新面试题及答案2020 一

java中级面试题及答案2020_java面试题及答案2020 java最新面试题及答案2020 一java最新面试题及答案20201.一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?一个“.java”源文件里面可以包含多个类,但是只允许有一java最新面试题及答案个public类,并且类名必须和文件名一致。每个编译单元只能java最新面试题及答案有一个public类。这么做的意思是,每个编译单元只能有一个公开的接口,而这个接口就由其public类来表示。你可以根据…

大家好,又见面了,我是你们的朋友全栈君。

java最新面试题及答案2020

1. 一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

一个“.java”源文件里面可以包含多个类,但是只允许有一java最新面试题及答案个public类,并且类名必须和文件名一致。

每个编译单元只能java最新面试题及答案有一个public 类。这么做的意思是,每个编译单元只能有一个公开的接口,而这个接口就由其public 类来表示。你可以根据需要,往这个文件里面添加任意多个提供辅助功能的package 权限的类。但是如果这个编译单元里面有两个或两个以上的public 类的话,程序就不知道从哪里导入了,编译器就会报错。

2. Java有没有goto?

goto 是Java中的保留字,在目前版本的Java中没java最新面试题及答案有使用。(根据James Gosling(Java之父)编写的《The Java Programming Language》一书的附录中给出了一个Java关键字列表,其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字)。

3.说说&和&&的区别。

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!= null&& !str.equals(s))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 &++y>0) y会增长,If(x==33 && ++y>0)不会增长

&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

4. 在JAVA中如何跳出当前的多重嵌套循环?

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

例如:

for(int i=0;i<10;i++){

for(intj=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

for(intj=0;j

System.out.println(“i=” + i + “,j=” + j);

if(arr[i][j] ==5) {

found =true;

break;

}

}

}

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

在switch(e)中,e只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。

switch语句能否作用在String上说错了,Java1.7之后已经支持这种写法了!

6. short s1= 1; s1 = (s1+1是int类型,而等号左边的是short类型,所以需要强转)1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?(没有错)

对于short s1= 1; s1 = s1 + 1;由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。

对于short s1= 1; s1 += 1;由于 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

7. char型变量中能不能存贮一个中文汉字?为什么?

char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。

8. 用最有效率的方法算出2乘以8等於几?

这道题的解法:2<<3; 表示 2向左移 3位:2 * 2^3(2的3次方) = 2 * 8;

因为一个数左移 n位,就相当于 2的 n次方,那么一个数乘以 8只要将其左移 3位即可,而为运算符的效率最高,所以 2乘以 8等于几的最有效方法是 2<<3。

9 .使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:

finalStringBuffer a=new StringBuffer(“immutable”);执行如下语句将报告编译期错误:

a=new StringBuffer(“”);但是,执行如下语句则可以通过编译:

a.append(” broken!”);

有人在定义方法的参数时,可能想采用如下形式来阻止方法内部修改传进来的参数对象:

public void method(final StringBuffer param){

}

实际上,这是办不到的,在该方法内部仍然可以增加如下代码来修改参数对象:

param.append(“a”);

10. 静态变量和实例变量的区别?

在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。

在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

例如,对于下面的程序,无论创建多少个java最新面试题及答案实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。

public class VariantTest{

publicstatic int staticVar = 0;

publicint instanceVar = 0;

publicVariantTest(){

staticVar++;

instanceVar++;

System.out.println(staticVar +instanceVar);

}

}java最新面试题及答案

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151126.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月19日 下午10:36
下一篇 2022年6月19日 下午10:36


相关推荐

  • 智能家居产业链分析

    智能家居产业链分析“一盘散沙,各自为营”是目前国内智能家居产业生态的真实写照。从地域上来看,北京、华南地区比较活跃。北京高校、科研院所云集,具备雄厚的科技力量优势,华南地区的中小企业多,也较为活跃。“这也和十几年前一样,智能家居这块目前还是小企业更为活跃,大企业在等待时机。”广东华南家电研究院院长孙颖楷向记者表示。“从传统的家具行业角度划分,上游是元器件厂商,如传感器、芯片等;中游是控制器和控制软件

    2022年6月22日
    43
  • 第八章 软件项目团队管理

    第八章 软件项目团队管理本章内容提纲8.1软件项目团队管理概述8.2项目组织的规划8.3团队人员获取8.4团队建设和日常管理8.5沟通管理8.6软件专业人员的非技术素养8.1软件项目团队管理概述什么是软件项目团队?   软件项目团队是由软件项目的不同干系人所组成的,具有共同目标、紧密协作的集体。软件项目团队包括所有项目干系人:项目发起人、资助者、项目组(开发团队)、供应商、客户等。有时,软件项目团队特指项…

    2022年6月13日
    54
  • 谈话ZooKeeper(一个)分析ZooKeeper的Quorums机制–预防Split-Brain问题

    谈话ZooKeeper(一个)分析ZooKeeper的Quorums机制–预防Split-Brain问题

    2022年1月8日
    56
  • STL库 总览_stl库函数

    STL库 总览_stl库函数  STL库1泛型程序设计2STL标准模板库2.1STL库的基本组件2.1.1STL基本组件—-容器2.1.2STL基本组件—-迭代器2.1.3STL基本组件—-函数对象2.1.4STL基本组件—-算法3迭代器4容器的基本功能与分类4.1顺序容器  1泛型程序设计  泛型程序设计就是时候,将程序设计的尽量的通用。STL标准库就是泛型程序设计的一个很好的范例。  ◇编写不依赖具体数据类型的程序;  ◇将算法从特定的数据结构中抽象出来,成为通用的;  ◇

    2022年10月10日
    5
  • 如何Ping特定端口号

    如何Ping特定端口号ping端口是最有效的故障排除技术之一,以便查看服务是否正常运行。系统管理员每天都使用ping命令,它依靠ICMP协议来检索有关远程主机的操作信息。但是,仅对主机进行ping操作并不总是足够的:您可能需要对服务器上的特定端口执行ping操作。此特定端口可能与数据库,ApacheWeb服务器甚至网络上的代理服务器相关。在本教程中,我们将看到如何使用各种不同的命令来ping特定端口。使用telnetping特定端口ping特定端口的最简单方法是使用telnet命令,后跟要pin.

    2026年1月16日
    5
  • Carson带你学Android:关于ContentProvider的知识都在这里了!

    Carson带你学Android:关于ContentProvider的知识都在这里了!前言 ContentProvi 属于 Android 的四大组件之一本文全面解析了 ContentProvi 包括 ContentProvi 原理 使用方法 amp 实例讲解 希望你们会喜欢 目录 1 定义即内容提供者 是 Android 四大组件之一 2 作用进程间进行数据交互 amp 共享 即跨进程通信 3 原理 ContentProvi 的底层是采用 Android 中的 Bind

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号