《JAVA面试基础知识点总结.docx》由会员分享,可在线阅读,更多相关《JAVA面试基础知识点总结.docx(31页珍藏版)》请在优知文库上搜索。
1、1.Java程序设计概述1. 开发JaVa语言的公司?Sun(SunMicrosyMeins)太即微电子公司开发,被Oracle公司收购2. JaVa的3个版本?J2SE(Java2StandardEdition)标准版J2EE(Java2PIatformaEnterpriseEdition)企业版J2ME(Java2MicroEdition)做小版在.5.0以后新版本中f农作:JavaSEJavaEEJavaME3. Java请吉的几个主要特点?平台无关性:使运行于不同的平台上安全性:去掉/指针操作.内存由操作系统分配面向对象:利用类使程序更加利于维护分布式:可以使用网络文件和使用本机文件样
2、容易健壮性:检杳程序编译和运行的错误4. JaVa的三大核心机制虚拟机机制:利用虚拟机解择字节码执行java稗序实现虚平台垃圾收柒机:W:自动内存回收代码安全性机制:加我代码后校验代码后再执行代码2. Java语言的开发环境1. JDK是什么?JDK(JavaDcvclopnicntKitUava开发1:具包包括JRE.跄开发Java的人员必备的开发运行Java程序的工具.2. JRE是什么?JRE(JavaRuntimeEnVironment)Ja”运行环境,运行JAVA程序所必须的环境的集合包含八,M标准实现及Java核心类蚱.3. JVM是什么?JVM(JavaVirtualMachin
3、e)Java虚拟机,它是一个优构出来的计拓机,是通过在实际的计算机上仿真横拟各种计算机功能来实现的.4. 安装JDK的操作系统问题?必须针将于不同的操作系统卜我安装不同的JDK.例如WindOWSF安装针对于windows的JDK,Iinux下安装针对于IinUX的JDK5. 御要配湿的相关环境变IXnh:用于搜索外就命令,例仙编译程序的javac命令.执行程序的java命令CIUSSPMh:用于搜索类,即CIaSS文件,例如可以在不同的位置执行类文件6. 配网环境变收的方式?有两种:临时配置和持久配SS临时配置:在命令行下用SCI变星名=变盘依.仅在当前命令行窗”有效持久也置:在我的电脑一一
4、属性中配置持久有效7. 可以爆写JaVa程序的常见开发I:具?记事本.EdilPlus.U1.TRAEDIT.Eclipse.Jbuildcr.NctBcaift8. JaVa文件的类型?有两种:扩展名为java的文件:是JaVa源文件,例于漏洋之前的纯文本文件,存铭java源代码。犷展名为class的文件:是JaVa类文件,限于编详之后的二进制文件,存储字节码,9. JaVa的编译运行原理?首先编写ja,a源文件,然后编译成ClasS类文件.然后通过虚拟机解界成机揩码到硬件执行。10. Java是编译型i?5方还是解择型的语言?既不是完全编译型,也不是完全解杼型.足半痂译半解样的.3. Ja
5、va程序的基本结构1. JaVa语言区分大小写吗?区分,不管是数据还是标识符或者关送字都区分大小写,例如PUbIiC不能写成Public,“abc”不能写成ABCw,inti不能写成INTI等等。2. main方法是作什么用处的?这是程序的入I方法,是由废拟机自动调用的.3. 语句必家用分号钻束吗?必须的,但是代码块”可以用分号结束,也可以不用分号结束4. JaVa中行几种注择,各自的功能有三种:单行注杵也加在行首只俄注杯-行名行注择”*人注糅多行,但不能嵌套使用文档注糅*/:用于生成HTM1.形式的文档,甯要配合javadoc命令实现5. JaVa谱吉的数据类S?是强类中还是俄类型?是强类型
6、,意味着禄一个变城都必Jfi明确声明数据类型。6. Java语言中数据类型的划分?有什么区别?分成基本类型和引用类型两大类.葩本类里:为8种.只能存储单一的(ft.不以对象的形式存在引用类型r除/基本类型之外其他的都是引用类型,能弊存tti曳杂数据类型.以对象的形式存在7. 基本类型都外哪8种类里?布尔类型:book;m占I字节字符类型:char占2字节整型:byre占I字节short占2字节ini占4字节long占8字节浮点型:float占4字节doublel1i8字节8,布尔值可不可以用0或者非0数代普?不可以,布尔值只能是true和false,不能使用数字,这和C语言是不一样的9 .巴接
7、后个整数io默认是什么类型的?整型的直接量例如10.100等跃认的数据类型都是int5?10 .如何让个整型的直接IA变成IOng型的?在直接做后面加大写1.后者小写I,例如IO1.11 .整型数据在程序中直接使用可以使用什么进制?10进制.8进制.16进制,但不能使用二进制12 .浮点运匏在JaVa中有没有误差?有误差所以楂雷运算请使用BigDKimaI类13 .更接耳一个3.14的直接业是什么数据类型的?是double型,如果想表示是float的3.14必须写成3.I4F或者3.l4f.double型的3.14也可以写成3.14D14 .char型采取的是什么类型的字符集?是UniaXie
8、全球统编码,支持任轲世界上官方的语言中的字符15 .常见的状义字符有哪些?,b退格M制表,n换行寸回车V双引V总用号Vl反斜杠1.常见的Unicode字符对应的加码?人力的A到Z是对应63到90,小巧的a到Z是时应97到122,字符0到9是对应48到572 .空字符是不是用“(两个并列的单引号)来表示?不是,空字符用0000,来表示,两个并列的电引号什么也不是,3 .点.分号.花括号的各自的作用?点的作用行两个I一个是使用类或对象中的成员,用对象成员,再一个就是包名和子包名之间的分隔符,例如顶层包名.子包名分号的作用是表示语句结束花括号的作用是代表一个语句块4 .iff句和关键字之间可以有任意
9、的空白吗?可以的,例如SystenkOU/.PrimIn(IO0);就是正确的语句,但是关键字本身不能加空白或换行5 .标识符是什么?标识符就是指在程序中给包.类,接口方法.变fit起的名字6 .标识符行什么起名规则?1 .应以字Rh下划线、美元符开头2 .后跟字母、下划线、美元符或数字3 .不能用关键字和保帝字4 .严格区分大小写5 .名称长便没仃限制7 .中文的变景名可以吗?是可以的,例如int数字=10:这个语句是正确的.因为java中采取Unicode字符集.所以任何的Unkode中的字符都可以作为标识符的名称,但考虑字符集的支持问题推存还是使用英文字母命8 .关穗字和保留字有区别吗?
10、在15后没有区别,都被称作关键字,但是1.5之前认为关键字是在JaVa中有特侏用途的不允泞编程人员怕自改作其他用途,而保留字是在Java中没有特殊用途但不允许很程人员接门改作其他用途.按此说法goto和const应该是此意义上的保留字.9 .true,false,null可以用作标识符命名吗?不可以,这3个虽然不是关键字,但都是仃特殊用途的值,也不能作为标识符命名10 .一条声明语句可以声明多个变员叫?可以的.例如以下声明那是正确的inti:inii.j;inti=IOjin【i,j二10;1 .变他在没由H值的情况下可以使用吗?不可以,变域没有赋值使用金报出变彼未初始化的编iWi,2 .常量
11、有什么特点?在声明变fit的时候加上final怪饰符即为常知,表示这个变星只能被取一次位.3,飘数运完符有哪些?荔木算数运算符有+*/%+4 .单目运算符,次目运算符,三目运算符都是什么意则?其实也有叫一元运算符,双元操作符,三元操作符的指的是书几个操作数形成一个完整衣达式,例如+就是个取目运算符,只需要个操作数就可以形成表达式,像i+,而+运就符就是双目运算符,需要两个操作故形成表达式,例如5+3,还有三目运尊符.M15370:-15 .+和放在面面和放在后面有什么区别?如果是在个表达式中,那+放后面去示先达北表达式,然后再进行自埔运尊,如果在一个表达式中,T放的面,则表示先进行自增运尊然后
12、在运算表达式,同样道理,例如:inti=10:intj=i+;先进行赋值运算然后再进行自增运算j的结果是10inti=10:intj=+i;先进行自增运免然后再进行赋值运算j的结果是111.5%2等于几,5%2等于几?5%2等于l.5%2等于I,运算得到是正数还是例数取决于第个操作数的符号2.5/2结果是不是2.5?不是,是2,因为S和2都是ini类里,所以不可能得到doubleM的结果。3 .比较运算符有啷些?有V=V=V=居心符吗?不是所有数据类型,例如lruefase这个表达式就是编课悟误,布尔类梨和引用类型的太达式只能用=和!=两个比较运算,例如“abc-,v=x”T这个比达式也是编译
13、错误的5 .方”这个表达式编译正确吗?能详正确.和b是字符类型,内制用UniCCde编码衣示的话a是97,b是98,所以实际上比较的是9798,结果为false6 .逻辑运算符有哪些?有&逻辑与,画轿或.!Ol,汴或,&短路与,Il短路或7 .逻辑与,道林或和短路与.短路或有什么区别?逻辑与和短路。的区别是: 如果是龙辑与&,不管第一个表达式爱IrUC还是间sc,都会执行第二个表达式.例如ab&xvy,即使ab为fake,也会执行xy 如果是短路与&,如果第一个表达式为false,将不会执行第:个表达式例如ab&xvy,如果:b为fake.就不会执行xy以此类推,逻辑或和短路或的区别是: 如果
14、是逻辑或I,不管第一个表达式是Iiue还是false.都会执行第二个表达式 如果是短路或,如果第个表达式为true,将不会执行第二个表达式1. 与或非三个逻辑运算符的优先破是怎么H列的?“北”优先级故岛”与“其次.或优先级域低2,原码,反码,补码分别是什么意思? 原码:将数字转换为二进制,第一位为符号位,正数为0,负数为1例如:12的原码是00001100-12的原码是10001100 反码:正数的反码和原码相同,负数的反码将原码符号位之外的位逐位取反例如:12的反码是OOOoIlOo-12的反码是IlI100ll 补码:正数的补码和原码相同,负数的补码将反码加1例如:12的补码是OoOoUOo-12的补码是11110100最后强调一点,计算:机存储数据用补码形式来存储“1.位运匏符部布哪些?&与I或A异或作右移VV左移无符号右移2. v3S怎么理解?I是im类型是32位,所以需要把35%32=3,所以事实上是和执行I3等价的3. 数据类型转换阕要避的什么原则?小类型向大类里找换,是自动转换的.或者说睨式转换的人类型向小类里转换,是需要强制转换的,或者说H式,专换例如:byteb=I;shorts=b:自动转换b=(byte)s:强制转换4. byteb=10这个谱句是正薪的,为什么IO是in(型比byte大还不需要强制转换呢?因为在java中做了特殊处理,其中规定byie,6