您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > JAVA基础面试题(经典)
基础知识部分:1.JDK是什么?JRE是什么?a)答:JDK:java开发工具包。JRE:java运行时环境。2.什么是java的平台无关性?a)答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。3.在一台电脑上配置java环境,path起什么作用?如何配置?a)答:path的作用是在DOS环境下,能在任意位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。b)在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。4.什么样的标识符是合法的?a)由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数字为0到9。b)标识符的第一个字符不能是数字。c)标识符区分大小写。d)标识符不能包含空格。5.Java有几种基本数据类型?a)byte,short,int,long,float,double,char,boolean6.什么是隐式类型转换?什么是显示类型转换?a)当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。b)当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。7.&&和&区别,||和|区别?a)&&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。b)而&和|则将两边的表达式都运算完毕后,再算结果。8.break,continue区别?a)break结束所有循环,continue结束当次循环,进入下次循环。9.类的命名规则是什么?a)如果类名使用拉丁字母,那么名字的首写字母使用大写字母。b)类名最好见名知意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。10.类体的内容由两部分构成,哪两部分?a)一部分是变量的定义,用来刻画属性。b)另一部分是方法的定义,用来刻画功能。11.解释什么是类的成员变量,局部变量,实例成员变量,类成员变量?a)变量定义部分所定义的变量被称为类的成员变量。b)在方法体中定义的变量和方法的参数被称为局部变量。c)成员变量又分为实例成员变量和类成员变量(static修饰)。12.简述this关键字用法。a)this关键字使用在实例方法中,代表调用该方法的当前对象。13.如何确定方法的返回类型?a)方法返回的值的类型就是方法的返回类型,如果无返回值,则返回类型为void。14.返回值为void的方法,可否有return?a)可以。但return后没有任何值。15.解释什么是类方法,什么是实例方法?a)static修饰的方法是类方法,无static修饰的方法是实例方法。16.简述方法和变量的命名规则?a)首写字母使用小写,如果由多个单词组成,从第2个单词开始首字母使用大写。17.什么是方法重载?a)方法重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。18.什么是构造方法?a)构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型。19.如何创建一个对象?a)使用new运算符和类的构造方法为对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法。20.系统什么情况下会为类提供构造方法,提供什么样的构造方法?a)如果类中没有构造方法,系统会提供一个默认的构造方法,默认的构造方法是无参的。21.对象如何调用自己的成员变量和方法?a)使用运算符”.”来调用自己的成员变量和方法。22.为什么可以直接用类名来访问类成员变量和类方法?a)因为当类被加载到虚拟机的时候,类成员变量就被分配内存,类方法被分配入口地址,所以不用创建对象,可以直接通过类名调用。23.类变量有什么特点?a)一个类的所有对象共享同一个类变量。24.类方法有什么特点?a)类方法只能调用类变量和类方法。(同一类中)25.package关键字有什么作用,使用中注意什么问题?a)package指定一个类所在的包,该语句为源代码第一行。26.import关键字有什么作用?a)引入程序中所用到的类。27.类有几种访问权限?变量和方法有几种访问权限?分别是什么?a)类有两种访问权限:public,defeat。b)方法和变量的访问权限:public,protected,defeat,private。28.简述java的访问权限。a)public:公共的,任何类都可以访问。b)protected:受保护的,同一个包的类可以访问。不同包的子类可以访问。c)default:默认的,同一个包的类可以访问。d)pivate:私有的,在同一个类中才能访问。29.子类能继承父类的哪些变量和方法?a)如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。_____________________________________________________________________b)如果子类和父类不在同一个包中,那么,子类继承了父类的protected,public成员变量做为子类的成员变量,并且继承了父类的protected,public方法为子类的方法。30.子类重写父类的方法,可否降低访问权限?a)不可以降低。31.final关键字可以用来修饰什么?分别起什么作用?a)final可以修饰类,这样的类不能被继承。b)final可以修饰方法,这样的方法不能被重写。c)final可以修饰变量,这样的变量的值不能被修改,是常量。32.简述super关键字作用?a)使用super调用父类的构造方法。b)使用super操作被隐藏的成员变量和方法。33.简述什么是对象上转型?a)假设,A类是B类的父类,当我们用子类创建一个对象,并把这个对象的引用放到父类的对象中时,我们称这个父类对象是子类对象的上转型对象。34.上转型对象可以操作什么?不可以操作什么?a)上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能。b)上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法。35.什么是抽象类?什么是抽象方法?有什么特点?a)用关键字abstract修饰类称为抽象类,abstract类不能用new运算创建对象,必须产生其子类,由子类创建对象。b)用关键字abstract修饰方法称为抽象方法,abstract方法,只允许声明,而不允许实现。36.一个类声明实现一个接口,那么这个类需要做什么工作?a)实现接口里所有的方法,并且这些方法的访问权限必须是public。37.简述什么是数组?a)数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标,来使用数组中的数据。下标从0开始排序。38.创建数组是否需要指定数组长度,如何求数组长度?a)必须指定数组长度,数组调用.length来获取数组长度。39.char数组和byte数组如何转化成字符串?如何求字符串长度?a)利用String类本身的构造方法,String(chara[]),String(bytea[]),””.length()。以下方法均为字符串中方法40.equalsequalsIgnoreCasestartsWithendsWitha)字符串比较。b)忽略大小写比较。c)判断是否以指定字符串开头、结尾。41.regionMatchesa)判断一个字符串的子串是否和另一个字符串的子串匹配。42.compareTocompareToIgnoreCaseindexOfa)按字典顺序比较字符串。b)忽略大小写的按字典顺序比较字符串。c)字符串检索。43.substringreplacetrim()a)字符串截取b)字符串替换c)去掉字符串前后空格。44.字符串如何转化为int型,double型?a)Integer.parseInt(“1”);b)Double.parseDouble(“25,45”);45.简述StringTokenizer作用?a)按照指定的分隔符,将字符串解析成若干语言符号。46.如何判断一个字符是不是数字,是不是大写?a)Character.isDigit(‘a’)b)Character.isUpperCase(‘U’)47.已知一个java.util.Date对象,如何格式化成如下格式YYYY-MM-ddhh:mm:ssa)SimpleDateFormatformate=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss);formate.format(newDate());48.如何生成一个0-100的随机整数?a)(int)(Math.random()*100)49.简述java异常处理的机制?a)当所调用的方法出现异常时,调用者可以捕获异常使之得到处理;也可以回避异常。50.简述如下关键字用途try、catch、throw、throws、finallya)try:保护代码,如果try中某行代码出现异常,则try中代码不再继续执行。b)catch:捕获异常,当try中出现异常,则catch负责捕获异常,并处理。c)throw:抛出异常。d)throws:声明异常。e)finally:无论try中是否出现异常,finally一定执行。51.LinkedList和ArrayList区别?a)LinkedList底层通过链式存储结构实现。b)ArrayList底层通过数组实现。52.什么是I/O流,有什么作用?a)指数据输入输出的流,I/O流提供一条通道程序,可以使用这条通道把源中的字节序列送给目的地。53.如何查看一个文件的大小,绝对路径,是否可读?a)Filefile=newFile(“e://a.txt”);b)file.length();c)file.getAbsolutePath();d)file.canRead();54.已知如下代码Filef=newFile(myfile.dat);FileInputStreamistream=newFileInputStream(f);如何从流中读取数据。a)byte[]buff=newbyte[100];b)istream.read(buff);55.实现多线程的两种方法?a)从Java.lang.Thread类派生一个新的线程类,重写它的run()方法。b)实现Runnable接口,重写Runable接口中的run()方法。56.简述一个线程的生命周期?a)新建---运行---中断---死亡57.如何让一个准备就绪的线程运行?a)调用线程的start方法让一个处于准备就绪的状态的线程运行。58.如何让一个线程休眠1000毫秒?a)调用线程的sleep方法,参数为1000。59.如何使线程同步?a)使用同步方法synchronizedvoidmethodA(){}b)使用同步块synchronized(object){//要同步的语句}60.什么是GC?为什么有GC?a)GC是垃圾收集器。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。61.构造方法能否被重写?为什么?a)不能,因为构造方法不能被继承,所以不能重写。62.是否可以继承String类,为什么?a)因为String类是final类,final修饰的类不能被继承。63.java关键字区分大小写吗?a)java关键字一律小写。所以无所谓区分大小写,大写的不是关键字。64.java采用什么字符集?该字符集有多少字符a)Java使用unicode字符集,所以常量共有65535个65.列举算术运算符?a)+,-,*,/,%66.算术混合运算结果精度如何确定?a)Java按照运算符两边的操作元的最高精度保留结果的精度。67.&是位运算符,与运算的规则是什么?a)全1则1,否则为068.|是位运算符,或运算的规则是什么?a)全0则0,否则
本文标题:JAVA基础面试题(经典)
链接地址:https://www.777doc.com/doc-4089755 .html