您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > JAVA,JEE基础,面试题汇总
JAVA1:简述Java的基本历史java起源于SUN公司的一个GREEN的项目,其原先目的是为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机、冰箱等.2:简单写出Java特点,写出5个以上,越多越好简单的、面向对象的、分布式的、安全的、稳定的、与平台无关的、可解释的、多线的、动态的语言。3:什么是Java?JAVA:一种编程语言一种开发环境一种应用环境一种部署环境4:请写出Java的版本分类,以及每种版本的应用方向三种版本:J2ME:是面向内存有限的移动终端.为消费性产品设计的J2SE:是SUN公司针对桌面开发和低端商务计算方案开发的版本。为笔记本电脑、PC机设计的J2EE:是一种利用JAVA2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。为企业级的、服务器端的高端应用而设计的5:描述Java技术的主要特性java虚拟机垃圾回收代码安全性6:描述Java虚拟机的功能提供硬件平台规范解读独立于平台的已编译的字节码可当作硬件或软件来实现可以在JAVA技术开发工具上或在WEB浏览器上实现7:简述Java代码安全性1.字节码校验2.沙箱机制,提供的安全机制8:简述Java代码的运行过程加载代码通过类装载器装载CLASS文件校验代码由字节码校验执行代码由解释器将字节码转换成机器码9:简述如何搭建Java开发环境首先下载安装JDK然后配置环境1.配置PATH,2.配置CLASSPATH3.配置JAVA_HOME10:简述classpath,path,JAVA_HOME的意义和配置方法path操作系统运行环境的路径classpathJAVA运行应用程序时所需要的类包路径JAVA_HOME供需要运行JAVA的程序使用二:11:请描述:一个完整的Java文件的代码分几个部分,每部分都起什么作用,大致的写法package当前类所在位置import当前类运行时所需要的包或类publicclass类名{属性定义;方法定义:构造方法定义;publicstaticvoidmain(Stringargs[])例外{程序入口语句;}}注释12:Java代码的注释有几种?分别举例说明1.//单行注解2./**/块注释3./***文档注释*/13:什么是Java代码的语句,什么是Java代码的块,举例说明语句是一行以分号终止的代码,例:inta;块是以{}为边界的一些语句的集合例:publicvoidtt(){}14:什么是标示符?标识符:是赋予变量、类、方法的名称。15:标示符定义的规则?1.首字母只能以字母、下划线、$开头,其后可以跟字母‘下划线、$和数字2.首字母小写中间用大写字母隔开3.标识符具有一定的含义16:什么是关键字?关键字就是编程语言与机器语言的编码约定17:true、false、null、sizeof、goto、const那些是Java关键字true、false、null为JAVA的关键字18:Java的基本数据类型有几种?分别是?shortintlongbooleanfloatdoublecharbyte19:请写出每种基本类型的默认值?取值范围?分别给出一个定义的例子默认值取值范围字节型:0-2^7----2^7-1字符型:'\u0000'0----2^16-1short:0-2^15----2^15-1int:0-2^31----2^31-1long:0-2^63----2^63-1float:0.0f-2^31----2^31-1double:0.0d-2^63----2^63-1boolean:falsetrue\false20:在基本类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型?整数类型默认为int带小数的默认为double21:如何定义float类型和long型floatf=1.2flongl=1.2L22:什么是变量?变量:一种在程序中可以改变的标识符23:变量的定义规则?1.首字母小写中间用大写字母隔开其后可以跟字母‘下划线、$和数字2.具有一定含义3.首字母必须是字母、$、下划线,24:请写出Java编码约定中对下列部分的要求:类、属性、方法、包、文件名、变量、常量、控制结构、语句行、注释类:一个类文件中类名要和文件名相同,类名一定要以大写字母开头单词之间用大写字母分隔属性:属性名首字母小写中间用大写字母隔开方法:方法名首字母小写中间用大写字母隔开包:引用包必须写在类文件的开头,有且只能有一个包全部用小写字母控制结构:当语句是控制结构的一部分时,即使是单个语句,也应使用大括号将语句封闭:语句行:每行只写一个语句,并使用四个缩进的空格,使代码更易读,注意用分号结束;注释:用注释来说明那些不明显代码的段落;常量:常量名一般用大写字母,单词之间用下划线分隔,一旦赋值不允许修改25:什么是Javadoc?按照一定格式生成程序的文档的工具26:什么是引用类型?一个用户定义类型,它可引用类和数组。27:什么是按值传递?什么是按引用传递?值传递:就是将该值的副本传过去(基本数据类型+String类型的传递,就是按值传递)按引用传递:就是将值的内存地址传过去(除基本数据类型+String以外类型的传递,就是引用传递)28:那些是按值传递?那些是按引用传递?基本数据类型+String类型按值传递除基本数据类型+String类型以外,比如Models[]按引用传递29:如何创建一个新对象?如何使用对象中的属性和方法?publicclassS{}通过对象的实例用(.)来调用属性和方法;静态的方法和属性,也可以直接用类(.)来调用;30:简述new关键字所做的工作new关键字就是为事先声明的对象分配一块内存区域;31:简述”=”和”==”的功能和区别=赋值,==判断==前后两个值得内存地址是否相等;区别:=:为赋值表达式==:为逻辑表达式32:什么是实例变量?什么是局部变量?什么是类变量?什么是final变量?实例变量:类中定义的变量,即类成员变量,如果没有初始化,会有默认值;局部变量:在方法中定义的变量,必须初始化;类变量:用static可修饰的属性;final变量:final属性只允许赋值一次,且只能通过构造方法赋值;定义后也就是一个常量;33:简述上述各种变量的定义规则和使用规则?实例变量:它不需要static关键字来声明,只要对象被当作引用,实例变量就将存在;局部变量:在方法内任意定义变量即为局部变量;类变量:必须用static修饰;final变量:不可以在修改的34:a++和++a的区别?a++:先使用,后加1++a:先加1,后使用34:请描述instanceof、?:、&、&&各自的功能instanceof:用来判断某个实例变量是否属于某种类的类型。?:三目运算符:表达式1?表达式2:表达式3如果表达式1为true,执行表达式2,否则执行表达式3&:位运算:按位与&&:逻辑运算:逻辑与35:请描述、、的功能:算术或符号右移位运算符:算术或符号右移位左移运算符:逻辑或非符号右移位运算符36:请描述什么是强制类型转换?什么是自动类型转换?什么是向上造型?并分别举例说明强制类型转换:在一个类型前面加(),来强制转换longl=9L;inti=(int)l;自动类型转换:inti=5;Stringstr=+i;向上造型:把范围小的造型为范围大的类型,inti=2;longl=i;37:请写出完整的if条件控制语句的结构if(布表达式){语}else{}38:请写出完整的switch语句的结构switch(字符){case字符:语句break;case字符:语句break;default:语句}39:请写出完整的for语句的结构for(初始语句;条件语句;步长){}40:请写出完整的while语句的结构while(boolean语句){}41:请写出完整的dowhile语句的结构do{}while(boolean语句);42:请描述break和continue的功能和用法break:终止最近的循环continue:跳出本次循环,执行下一次循环//以上不完全43:定义一个一维的int数组,先创建它,并初始化它,给它赋值,然后输出其中的一个值publicclassArr{publicstaticvoidmain(Stringargs[]){inta[]=newint[5];a={1,2,3,4,5};//错误,只能在初始化时这样做a[0]=1;a[1]=2;System.out.println(a[0]);}}44:定义一个一维的A类型数组,直接定义并赋值,然后输出其中的一个值publicclassA{publicstaticinti;publicstaticvoidmain(Stringargs[]){Aaa=newA();Abb=newA();Aa[]={aa,bb};a[0].i=2;System.out.println(a[0]);}}45:把上面的数组改成2维的数组publicclassA{publicstaticinti;publicstaticvoidmain(Stringargs[]){Aa[][]=newA[5][5];a[0][0].i=2;System.out.println(a[0][0]);}}46:举例说明数组拷贝方法的使用:arraycopy方法publicclassA{publicstaticvoidmain(Stringargs[]){inta[]=newint[5];intb[]=newint[5];System.arraycopy(a[5],0,b[5],0,a.length)System.out.println(b[0][0]);}}二、面向对象1:OOP(面向对象)语言的三大特征是?封装性,继承性,多态性2:请描述方法定义的完整的语法结构权限修饰符修饰符返回类型方法名(参数)例外{方法体;}访问权限+访问修饰符+返回值+方法名+参数列表+例外列表+(块)方法内部代码3:什么是重载?什么情况下出现?在一个类中出现相同的方法名但参数列表不同时,这种情况就是重载其本质是创建一个新的成员方法此方法在同一个类中出现4:简述重载的规则1.方法名相同,参数列表不同2.返回类型可以不同3.重载父类的方法时访问权限只能放大,例外列表只能少5:什么是构造和析构方法?功能是?构造方法:每个类至少有一个构造方法,类构成实例化时调用的方法1.方法名和类名相同2.无返回值类型格式:访问权限类名{};1.有构造时,则无默认2.无构造方法时,默认为空(无参数,方法体为空)jc垃圾回收析构方法:finalize类销毁时,自动调用方法当对象在内存中被删除时,自动调用该方法在此方法中可以写回收对象内部的动态空间的代码构造方法:类初始化时调用的方法。可写可不写,如果不写就会有一个默认的构造方法析构方法:当对象被从内存中删除时调用的方法,在析构成员方法内,可以填写用来回收对象内部的动态空间的代码6:简述this和super的功能和用法this:访问当前类的属性或方法,不可以在静态方法中使用,在调用其它构造方法时,必须放在该构造方法的第一行能调用除构造方法以外所有的属性,方法;通过This(.)来调用方法和属性super:访问父类super只能调用父类的方法和属性,在调用父类的构造方法时必须放在子类构造方法下面的第一行;通过Super(.)来调用父类的属性和方法7:简述Java的访问修饰符类型?分别有什么功能?public公开的,任何一个类都有可以访问private私有的,只能在本类中被访问protected同包同类,只可被它的子类访问default只能被同一个包中类访问8:分别说明:在类上、在属性上、在方法上等能使用那些访问修饰符在类上:public在方法上:访问权限:publicprotectedprivatedefault方法修饰符:staticfinal返回类型:void在属性上:publicprotectedprivatede
本文标题:JAVA,JEE基础,面试题汇总
链接地址:https://www.777doc.com/doc-5502898 .html