Java新手必备:20道java基础面试题,不看答案你会几道题?

1、面向对象的特征有哪些方面? 【基础】

答:面向对象的特征主要有以下几个方面:

  1. 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
  2. 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
  3. 封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
  4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

2、作用域public,private,protected,以及不写时的区别?【基础】

答:区别如下:

作用域 当前类 同包 子孙类 其他

public √ √ √ √

protected √ √ √ ×

default √ √ × ×

private √ × × ×

不写时默认为default。

3、String 是最基本的数据类型吗? 【基础】

答:不是。

4、float 型float f=3.4是否正确? 【基础】

答:不正确;精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 。

5、语句float f=1.3;编译能否通过?【基础】

答:不能;应该用强制类型转换,如下所示:float f=(float)1.3; 。

6、short s1 = 1; s1 = s1 + 1;有什么错?【基础】

答:short s1 = 1; s1 = s1 + 1;s1+1运算结果是int 型,需要强制转换类型;short s1 = 1; s1 += 1;可以正确编译,自动类型提升。

7、Java 有没有goto? 【基础】

答:goto 是java 中的保留字,现在没有在java 中使用。

8、int 和Integer 有什么区别? 【基础】

答:Java 提供两种不同的类型:引用类型和原始类型(或内置类型);

int 是java 的原始数据类型,Integer 是java 为int 提供的封装类。

Java 为每个原始类型提供了封装类:

原始类型: boolean,char,byte,short,int,long,float,double

封装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为,而原始类型实例变量的缺省值与它们的类型有关。

9、&和&&的区别?【基础】

答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。

10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别?【基础】

答:区别主要有两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型b.逻辑操作不会产生短路。

11、heap 和stack 有什么区别?【基础】

答:栈是一种线形集合,其添加和删除元素的操作应在同一段完成,栈按照后进先出的方式进行处理;堆是栈的一个组成元素。

12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 【基础】

答:Math.round(11.5)==12 Math.round(-11.5)==-11 round 方法返回与参数最接近的长整数,参数加1/2 后求其floor。

13、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上? 【基础】

答:switch(expr1)中,expr1 是一个整数表达式。因此传递给switch 和case语句的参数应该是int、short、char 或者byte。long,string 都不能作用于swtich。

14、编程题: 用最有效率的方法算出2 乘以8 等於几? 【基础】

答: 2 << 3。

15、有没有length()这个方法? String 有没有length()这个方法?【基础】

答:数组没有length()这个方法,有length 的属性。String 有length()这个方法。

16、在JAVA 中,如何跳出当前的多重嵌套循环?【基础】

答:在最外层循环前加label 标识,然后用break:label 方法即可跳出多重循环。

17、构造器Constructor 是否可被override? 【基础】

答:构造器Constructor 不能被继承,因此不能重写Overriding,但可以被重载Overloading。

18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 【基础】

答:不对,有相同的hash code。

19、是否可以继承String 类? 【基础】

答:String 类是final 类,故不可以继承。

20、以下二条语句返回值为true 的有:

A:“beijing”==“beijing”;

B:“beijing”.equalsIgnoreCase(new String(“beijing”));【基础】

答:A 和B

原文地址:https://blog.51cto.com/14570694/2469941

时间: 2024-08-25 10:14:35

Java新手必备:20道java基础面试题,不看答案你会几道题?的相关文章

[刘阳Java]_精选20道Java多线程面试题

1. 多线程使用的优缺点? 优点: (1)多线程技术使程序的响应速度更快 (2)当前没有进行处理的任务可以将处理器时间让给其它任务 (3)占用大量处理时间的任务可以定期将处理器时间让给其它任务 (4)可以随时停止任务 (5)可以分别设置各个任务的优先级以及优化性能 缺点: (1)等候使用共享资源时造成程序的运行速度变慢 (2)对线程进行管理要求额外的cpu开销 (3)可能出现线程死锁情况.即较长时间的等待或资源竞争以及死锁等症状 2. start()方法和run()方法简介和区别? start(

50道 CSS 基础面试题(附答案)

1.介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin低版本IE盒子模型:宽度=内容宽度(content+border+padding)+ margin 2.box-sizing属性? 用来控制元素的盒子模型的解析模式,默认为content-boxcontent-box:W3C的标准盒子模型,设置元素的 height/width 属性指的是content部分的高/宽borde

给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)

J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面并不仅仅是web,可以看到很多其中的规范都是通用的,目的是为了高效开发出健壮的服务企业业务模式的应用系统.J2EE中也是可以没有web界面的应用,而现在面向大众用户开发的网站往往也会使用到很多的J2EE的技术,所以J2EE和web开发的概念都是融合在了一起了. 我本人在JAVA开发刚入行的时候,也是

给Java新手的一些建议——Java知识点归纳(Java基础部分)

写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容. 1. JVM相

给Java新手的一些建议----Java知识点归纳(Java基础部分)

写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容. 1. JVM相

Java新手学习路线,0基础学习Java怎样效率更高?

Java是老牌编程语言,拥有扎实的群众基础和广阔的市场应用,从业人员薪资也普遍较高.很多人想要加入到Java开发行列,不过0基础学习Java怎样效率更高? 很多0基础学习Java的同学想知道怎样学习效率更高?小编以为,学习Java需要一个系统的过程,而根据你未来的职位方向不同,学习也各有侧重.目前来说,Java就业方向包括Web开发.大数据开发.Android开发以及各种后端服务开发领域,但不论你选择哪一个,都要从最基础的知识点学习. Java基础知识点多且杂,初学者在开始的时候需要认识什么是J

java新手笔记20 抽象类模板(letter)

1.抽象类 package com.yfs.javase; //信模板 public abstract class Templater { public abstract String toName() ; public abstract String fromName(); public abstract String getContent(); public void show() { System.out.println("尊敬的" + toName()); System.out

给Java新手的一些建议——Java知识点归纳(J2EE and Web 部分)

学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:618528494  我们一起学Java! J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面并不仅仅是web,可以看到很多其中的规范都是通用的,目的是为了高效开发出健壮的服务企业业务模式的应用系统.J2EE中也是可以没有web界面的应

【Java面试题系列】:Java基础知识面试题,看这一篇就够了

文中面试题从茫茫网海中精心筛选,如有错误,欢迎指正! 1.前言 参加过社招的同学都了解,进入一家公司面试开发岗位时,填写完个人信息后,一般都会让先做一份笔试题,然后公司会根据笔试题的回答结果,确定要不要继续此次面试,如果答的不好,有些公司可能会直接说"技术经理或者总监在忙,你先回去等通知吧",有些公司可能会继续面试,了解下你的项目经验等情况. 至少在工作的前5年甚至更久,面试一般不会跳过笔试题这个环节(大牛,个别公司除外),我自己也记不清自己面试过多少家公司,做过多少份面试题了,导致现