JAVA基础知识点总结剖析.doc
《JAVA基础知识点总结剖析.doc》由会员分享,可在线阅读,更多相关《JAVA基础知识点总结剖析.doc(37页珍藏版)》请在咨信网上搜索。
1、JAVA基础知识点总结第1章 Java程序设计概述1) 开发Java语言的公司?Sun (Sun Microsystems)太阳微电子公司开发2) Java的3个版本?J2SE(Java2 Standard Edition) 标准版 J2EE(Java 2 Platform,Enterprise Edition) 企业版J2ME(Java 2 Micro Edition) 微小版在5.0以后新版本中称作:JavaSE JavaEE JavaME3) Java语言的几个主要特点?平台无关性:能运行于不同的平台上安全性:去掉了指针操作,内存由操作系统分配面向对象:利用类使程序更加利于维护分布式:可
2、以使用网络文件和使用本机文件一样容易健壮性:检查程序编译和运行的错误4) Java的三大核心机制虚拟机机制:利用虚拟机解释字节码执行java程序实现跨平台垃圾收集机制:自动内存回收代码安全性机制:加载代码后校验代码后再执行代码第2章 Java语言的开发环境1) JDK是什么?JDK(Java Development Kit)Java开发工具包。包括了JRE,是开发Java的人员必备的开发运行Java程序的工具。2) JRE是什么?JRE(Java Runtime Environment)Java运行环境,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。3) JVM是什
3、么?JVM (Java Virtual Machine) Java虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。4) 安装JDK的操作系统问题?必须针对于不同的操作系统下载安装不同的JDK,例如windows下安装针对于windows的JDK,linux下安装针对于linux的JDK。5) 需要配置的相关环境变量?path:用于搜索外部命令,例如编译程序的javac命令,执行程序的java命令classpath:用于搜索类,即class文件,例如可以在不同的位置执行类文件6) 配置环境变量的方式?有两种:临时配置和持久配置临时配置:在命令行下用set
4、变量名=变量值 ,仅在当前命令行窗口有效持久配置:在我的电脑属性中配置,持久有效7) 可以编写Java程序的常见开发工具?记事本,EditPlus,ULTRAEDIT,Eclipse,Jbuilder,NetBeans8) Java文件的类型?有两种:扩展名为java的文件:是Java源文件,属于编译之前的纯文本文件,存储java源代码。扩展名为class的文件:是Java类文件,属于编译之后的二进制文件,存储字节码。9) Java的编译运行原理?首先编写java源文件,然后编译成class类文件,然后通过虚拟机解释成机器码到硬件执行。10) Java是编译型语言还是解释型的语言?既不是完全编
5、译型,也不是完全解释型,是半编译半解释的。第3章 Java程序的基本结构1) Java语言区分大小写吗?区分,不管是数据还是标识符或者关键字都区分大小写,例如public不能写成Public,“abc”不能写成“ABC”,int i不能写成INT I等等。2) main方法是作什么用处的?这是程序的入口方法,是由虚拟机自动调用的。3) 语句必须用分号结束吗?必须的,但是代码块可以用分号结束,也可以不用分号结束4) Java中有几种注释,各自的功能有三种:单行注释/:加在行首只能注释一行多行注释/* */:注释多行,但不能嵌套使用文档注释/* */:用于生成HTML形式的文档,需要配合javad
6、oc命令实现5) Java语言的数据类型是强类型还是弱类型?是强类型,意味着每一个变量都必须明确声明数据类型。6) Java语言中数据类型的划分?有什么区别?分成基本类型和引用类型两大类。基本类型:有8种,只能存储单一的值,不以对象的形式存在引用类型:除了基本类型之外其他的都是引用类型,能够存储复杂数据类型,以对象的形式存在7) 基本类型都有哪8种类型?布尔类型:boolean 占1字节字符类型:char 占2字节整型:byte 占1字节 short 占2字节 int 占4字节 long 占8字节浮点型:float 占4字节 double 占8字节8) 布尔值可不可以用0或者非0数代替?不可以
7、,布尔值只能是true和false,不能使用数字,这和C语言是不一样的。9) 直接写个整数10默认是什么类型的?整型的直接量例如10,100等默认的数据类型都是int型10) 如何让一个整型的直接量变成long型的?在直接量后面加大写L后者小写l,例如10L11) 整型数据在程序中直接使用可以使用什么进制?10进制 ,8进制 ,16进制 ,但不能使用二进制12) 浮点运算在Java中有没有误差?有误差,所以精密运算请使用BigDecimal类13) 直接写一个3.14的直接量是什么数据类型的?是double型,如果想表示是float的3.14必须写成3.14F或者3.14f,double型的3
8、.14也可以写成3.14D14) char型采取的是什么类型的字符集?是Unicode全球统一编码,支持任何世界上官方的语言中的字符15) 常见的转义字符有哪些?转义序列名称b退格t制表n换行r回车”双引号单引号反斜杠16) 常见的Unicode字符对应的编码?大写的A到Z是对应65到90,小写的a到z是对应97到122,字符0到9是对应48到5717) 空字符是不是用(两个并列的单引号)来表示?不是,空字符用u0000来表示,两个并列的单引号什么也不是。18) 点,分号,花括号的各自的作用?点的作用有两个:一个是使用类或对象中的成员,用对象.成员,再一个就是包名和子包名之间的分隔符,例如顶层
9、包名.子包名分号的作用是表示语句结束花括号的作用是代表一个语句块19) 语句和关键字之间可以有任意的空白吗?可以的,例如System.out.println(100);就是正确的语句,但是关键字本身不能加空白或换行20) 标识符是什么?标识符就是指在程序中给包,类,接口,方法,变量起的名字21) 标识符有什么起名规则?1 应以字母、下划线、美元符开头2 后跟字母、下划线、美元符或数字3 不能用关键字和保留字4 严格区分大小写5 名称长度没有限制22) 中文的变量名可以吗?是可以的,例如 int 数字 = 10;这个语句是正确的。因为java中采取Unicode字符集,所以任何的Unicode中
10、的字符都可以作为标识符的名称,但考虑字符集的支持问题推荐还是使用英文字母命名。23) 关键字和保留字有区别吗?在1.5后没有区别,都被称作关键字,但是1.5之前认为关键字是在Java中有特殊用途的不允许编程人员擅自改作其他用途,而保留字是在Java中没有特殊用途但不允许编程人员擅自改作其他用途,按此说法goto和const应该是此意义上的保留字。24) true,false,null可以用作标识符命名吗?不可以,这3个虽然不是关键字,但都是有特殊用途的值,也不能作为标识符命名25) 一条声明语句可以声明多个变量吗?可以的,例如以下声明都是正确的int i;int i,j;int i = 10,
11、j;int i,j = 10;int i = 10,j = 20;26) 变量在没有赋值的情况下可以使用吗?不可以,变量没有赋值使用会报出变量未初始化的编译错误。27) 常量有什么特点?在声明变量的时候加上final修饰符即为常量,表示这个变量只能被赋一次值。28) 算数运算符有哪些?基本算数运算符有+ - * / % + -29) 单目运算符,双目运算符,三目运算符都是什么意思?其实也有叫一元运算符,双元操作符,三元操作符的,指的是有几个操作数形成一个完整表达式,例如+就是一个单目运算符,只需要一个操作数就可以形成表达式,像i+,而+运算符就是双目运算符,需要两个操作数形成表达式,例如5 +
12、 3,还有三目运算符,例如5 3 ? 0 : -130) +和-放在前面和放在后面有什么区别?如果是在一个表达式中,那+放后面表示先运算表达式,然后再进行自增运算,如果在一个表达式中,+放前面,则表示先进行自增运算然后在运算表达式。-同样道理。例如:int i = 10;int j = i +; /先进行赋值运算然后再进行自增运算j的结果是10int i = 10;int j = + i ; /先进行自增运算然后再进行赋值运算j的结果是1131) -5 % 2等于几,5 % -2等于几?-5 % 2等于-1,5%-2等于1,运算得到是正数还是负数取决于第一个操作数的符号32) 5 / 2 结果
13、是不是2.5?不是,是2,因为5和2都是int类型,所以不可能得到double型的结果。33) 比较运算符有哪些?有 = = false这个表达式就是编译错误,布尔类型和引用类型的表达式只能用=和!=两个比较运算,例如”abc” b这个表达式编译正确吗?编译正确,a和b是字符类型,内部用Unicode编码表示的话a是97,b是98,所以实际上比较的是9798,结果为false36) 逻辑运算符有哪些?有 &逻辑与,|逻辑或,!逻辑非, 异或,& 短路与,|短路或37) 逻辑与,逻辑或和短路与,短路或有什么区别?逻辑与和短路与的区别是:l 如果是逻辑与&,不管第一个表达式是true还是false
14、,都会执行第二个表达式,例如a b & x b为false,也会执行x yl 如果是短路与&,如果第一个表达式为false,将不会执行第二个表达式例如a b & x b为false,就不会执行x y以此类推,逻辑或和短路或的区别是:l 如果是逻辑或|,不管第一个表达式是true还是false,都会执行第二个表达式l 如果是短路或|,如果第一个表达式为true,将不会执行第二个表达式38) 与或非三个逻辑运算符的优先级是怎么排列的?“非”优先级最高,“与”其次,“或”优先级最低39) 原码,反码,补码分别是什么意思?l 原码:将数字转换为二进制,第一位为符号位,正数为0,负数为1例如:12的原码
15、是00001100 -12的原码是10001100l 反码:正数的反码和原码相同,负数的反码将原码符号位之外的位逐位取反例如:12的反码是00001100 -12的反码是11110011l 补码:正数的补码和原码相同,负数的补码将反码加1例如:12的补码是00001100 -12的补码是11110100最后强调一点,计算机存储数据用补码形式来存储。40) 位运算符都有哪些?&与 |或 异或 非 右移 无符号右移41) 135怎么理解?1是int类型是32位,所以需要把35%32=3,所以事实上是和执行13等价的42) 数据类型转换需要遵循什么原则?小类型向大类型转换,是自动转换的,或者说隐式转
16、换的大类型向小类型转换,是需要强制转换的,或者说显式转换例如:byte b = 1;short s = b;/自动转换b = (byte) s;/强制转换43) byte b = 10这个语句是正确的,为什么10是int型比byte大还不需要强制转换呢?因为在java中做了特殊处理,其中规定byte,short,char类型可以直接赋予int类型的直接量,例如:byte b = 10;short s = 10;char c = 10;以上赋值语句都是正确的。但是不能超出超出类型的范围,例如以下赋值就是错误的:byte b = 128;如果超出范围,必须得作强制转换,例如以下语句是正确的:byt
17、e b = (byte) 128;需要强调的是,必须是int类型的直接量,以下语句就是错误的:byte b = 10L;10L不是int类型的直接量。44) byte b = (byte) 300;强制转换后的结果是44,是按照什么规律得出来的?是先把300转换成二进制,然后根据byte类型的大小截取了后8个位300的补码是00000000 00000000 00000001 00101100b的结果是:00000000 00000000 00000001 00101100 结果为4445) byte b = (byte) true;这个转换成立吗?不成立,布尔值和数字是不兼容的,不能作任何转
18、换。46) int i = (int) “100”;这个转换成立吗?不成立,引用类型和基本类型是不能直接强制转换的,需要用包装类的方法来转换。47) char型和short型哪个比较大?不能说哪个大,哪个小,这两个类型char的取值是从065535,而short类型的取值是-3276832767,这个两个类型之间的转换都需要强制转换。48) 字符串是不是基本类型?不是,String是java.lang包中的一个类,是引用类型的,8种基本类型中没有一个是String类型。49) 空字符串用什么来表示?用”(两个并列的双引号)表示,代表0个长度的字符串对象。50) String s = “”;和S
19、tring s = null;有什么区别?第一个表示s被赋值,指向了一个字符串对象,第二个表示s没有指向任何对象实例,是真空51) 两个字符串用什么运算符可以连成一个字符串?用+运算符,例如”abc” + “xyz”最后的结果就是“abcxyz”52) 数学运算符加法和字符串连接符都是+,怎么区分?是通过运算符两边的操作数来判断的,如果两边的操作数都是数字型的基本类型,则进行数学运算,如果两边的操作数有一个是字符串,则把另一个操作数也转换为则进行字符串连接运算。例如:5 + 4 的结果是9“5” + 4的结果是5453) 判断字符串内容相同用什么方法?用equals方法判断内容相同,=只能判断
20、引用是否相同54) 提供用户输入使用哪个类使用javav.utilv.Scanner类55) if语句可以用if(-1)形式判断吗?不可以,数字不能代替布尔值56) if语句和循环语句的花括号什么时候可以省略?当执行的语句只有一句的时候57) switch语句有哪些规则?表达式expr的返回值必须是下述几种类型之一:int, byte, char, short或枚举常量;case子句中的值必须是常量,且所有case子句中的值应是不同的,也必须是下述几种类型之一:int, byte, char, short或枚举常量default子句是任选的;break语句用来在执行完一个case分支后使程序跳
21、出switch语句块;58) 对于退出循环break和continue有什么区别?break是退出整个循环continue是退出当前循环继续下一次循环59) 声明数组创建数组的方法?以下声明都是合法的:int a;int a;String a;以下创建数组对象都是合法的:int a = new int3;int a = 1,2,3;int a = new int 1,2,3;60) int x和String s这两个数组对象,哪个是基本类型,哪个是引用类型?两个都是数组对象,都是引用类型的61) 数组元素下标最小是多少,最大是多少,超出范围会怎么样?最小是0,最大是数组元素个数减一,超出范围将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 基础 知识点 总结 剖析
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。