复习必须掌握doc.docx
- 文档编号:28136392
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:12
- 大小:62.97KB
复习必须掌握doc.docx
《复习必须掌握doc.docx》由会员分享,可在线阅读,更多相关《复习必须掌握doc.docx(12页珍藏版)》请在冰豆网上搜索。
复习必须掌握doc
1.Java语言8大特性
简单的,解释的,面向对象,与平台无关的,健壮的,安全的,多线程的,动态的语言
2.数据类型分为哪两大类?
基本数据类型和引用数据类型。
3•请说说有哪些基本数据类型,他们对应的存储空间分别是多少
整型:
byte1字节short2字节int4字节long8字节
浮点型:
float4字节double8字节
字符型:
char2字节
布尔型:
boolean1字节
4.引用数据类型有哪些种类?
请举例说明
类:
例如String
接口:
数组
5.哪种数据类型不能进行类型转换布尔类型。
6.说说空指针异常如何解决把变量赋初值或实例化对象
7.dowhile和while之间的区别
dowhile:
不管是否满足条件,至少执行一次循环。
while:
满足条件则执行,若不满足条件,则一次也不执行
8.while和for之间的区别不清楚循环次数用while,清楚循环次数用for
9.随便写出30个java关键字,并说说Java关键字的特点
booleanvoid
定义数据类型值的关键字:
truefalsenull
定义流程控制的关键字:
ifelseswitchcase
defaultwhiledofor
break
continuereturn
定义访问修饰符的关键字:
privateprotectedpublic
staticsynchronized
定义类,函数,变量修饰符的关键字:
abstractfinal
继承关键字:
extends实现关键字:
implements
创建实例及引用关键字:
newthis(代表活动当前本身)superinstanceof
10・流程控制中有哪些流程结构顺序结构,分支结构,循环结构11.inti=34;int这个时候i和j分别说多少?
为什么呢得到这个结果?
i=33;j=33・前
置,先减1然后再赋值。
12.inti=34;intj=H这个时候i和j分别说多少?
为什么呢得到这个结果?
i=33;j=34.后
置,先赋值再减1・
13•进制有哪些表现形式?
二进制,八进制,十进制,十六进制。
14.分别说说break、continue以及return的作用
continue语句:
结束当次循环体,不再执行continue后面的循环体代码,直接进行下
一次循环,可用于循环结构。
return:
返回,结束方法。
15.&&与&的区别&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!
=null&&!
str.equals(""))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。
lf(x==33&++y>0)y会增长,lf(x==33&&++y>0)不会增长
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用OxOf来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,
0x31&OxOf的结果为0x01o16・||和|的区别
同14道题。
|和||都可以用作逻辑或的运算符,表示逻辑或,当运算符两边的表达
式的结果都为false时,整个运算结果才为false,
否则,只要有一方为true,则结果为trueo||还具有短路的功能,|还可以用作位运
算符,
当I操作符两边的表达式不是boolean类型时,|表示按位与操作即如果第一个表达式为true,则不再计算第二个表达式
17•分别说说5%4,5%-4,・5%4和・5%・4相对应得到的结果1,1,心
18•现在有3,4,22,33,1,把他们放到数组中;说说数组如何初始化
动态初始化:
元素类型[]数组名=new元素类型[元素个数或数组长度];
示例:
int[]arr=newint[5];
静态初始化:
元素类型[]数组名=new元素类型[]{元素,元素,};
示例:
int[]arr=newint[]{3,4,22,33,1};
int[]arr={3,4,22,33,1};
19.什么是数组?
相同类型数据的集合。
什么是二维数组?
一维数组的集合。
20•如何获取数组的长度,数组的脚标由几开始a.length;0
21•数组的最大脚标是?
a.length-1
22.switch中条件语句可以是哪些数据类型?
byte,short.int,char,string
23.如何遍历一个二维数组,并且获得二维数组中一维数组的每个元素
Int[][]iArrs={};
For(inti=O;i For(intj=O;j System.out.println(iArrs[i][j]);}} 24.33,4,22,35,1,6,23通过编程获得它们的最大值 int[]a={33,4,22,35,1,6,23}; for(inti 1;i intmax=a[0]; M+max); max=a[i];}} System,out.printing最大值: 25.手写一个冒泡排序: 相邻两个数之间的比较 for(inti=0;i for(intj=0;j inttemp=array[j]; array[j]=array[j+1]; array[j+1]=temp; 26•手写一个选择排序: 第一个数和剩下的所有数进行比较,获取第一个最值;第二个数 和•… for(intx=0;x x++){ for(inty=x+1;y { if(arr[y] inttemp=arr[y]; arr[y]=arr[x]; arr[x]=temp; }}} 27•数组常见异常? 空指针,数组角标越界。 2&什么是类? 什么是对象? 对象是指实际个体,是实际存在的该类事物的每一个个体. 29•如何定义一个类? 访问控制符class类名{ 成员变量; 成员方法} publicclassPerson{....} 30.如何定义一个方法? [访问修饰符]返回值类型方法名(参数列表){} publicvoidsleep(){} 31•如何创建对象? 由构造方法决定。 new3乙如何调用方法(假设对象名为p,方法名为ss且参数列表为(intage^tringname)) p.ss(21/women"); 33.什么是方法重写(说出方法重写前提条件以及附加条件)? 前提条件: 继承关系 附加条件: 1、方法名必须相同 2、参数列表必须相同 3、返回值类型必须相同 34.什么是方法重载(说出方法重载前提条件以及附加条件)? 前提条件: 同一个类 附加条件: 1>方法名相同 2、参数列表必须不同 3、与返回值类型无关 35.构造方法最主要的作用? 对类进行实例化,或者说是创建对象,方法名相同,系统有自带的。 36.哪个类是Java所有类的根? object 37.static可以修饰哪些? 常量,变量,方法,类,代码块(静态,构造,同步,普通)。 保存在静态域里。 静态的可以独立于对象存在,在编译期就有了。 不推荐创建对象后调用静态的。 被static修饰的变量为静态变量或类变量,没有被static修饰的变量为实例变量。 代表当前对象的或父类的都不能在静态方法中调用。 38.final可以修饰哪些? 并且说明修饰之后它们分别有什么特点 修饰变量T常量; 修饰方法T不能被重写; 修饰类9不能被继承。 39.Java中每个类如果没有构造方法,那么系统是否提供一个无参不做任务操作的构造方 法? 如果有,请写出来(以Person举例) 是,publicPerson(){} 40•面向对象有哪些特征? 封装: 对属性进行私有化,public,公有的。 private,同一个类中,用公有方法settergetter调用,访问私有属性。 protected,同一类,同一包,子类中。 继承: 解决代码重用问题。 Java只支持单继承,一个父类可以有多个子类,实现继承需要用到extends关键字,[访问修饰符]class子类名extends父类名{参数列表}Object为特殊父类,所有的类间接或直接的继承它。 子类自动具有父类非私有的数据成员和成员方法,但,子类对父类成员的访问是有限制的。 子类可以定义自己的,也可以重写父类的方法。 子类和父类是相对的。 多态: 面向对象程序运行时,相同信息可能会送给多个不同类型的对象,而系统根据对象的类型引发对应类型的方法,而有不同的行为。 Java引用变量有两个类型: 编译时类型和运行时类型,他们出现不一致时,就会出现多态。 前提条件: 继承关系,重写父类方法,子类有特有的方法。 本质属于什么类型看new后面的。 向上转型: 子转父,自动进行类型转换,父类型引用变量名=new子类型(); Heroh=newWarrior();可调用子类重写的方法或继承父类的方法,,不能调用子类特有的方法。 向下转型: Warriorw=(Warrior)newHero();可能出现强制类型转换异常,必须先进 行判断(instanceof)M以调用子类特有的方法。 强制转换后才能访问子类特有的方法。 41•有哪些代码块? 静态、普通、构造、同步 42•静态代码块、普通代码块.构造代码块以及构造方法执行顺序静态代码块,构造代码块,构造方法,普通代码块。 43.构造方法有哪些特点? 1).构造方法的方法名必须与类名相同。 2).构造方法不需要返回类型修饰符(包括void返回类型)。 3).构造方法的作用是对类对象进行初始化。 4).构造方法在用户实例化对象时由系统自动调用。 5).没有定义构造方法时,java默认在每个类中定义一个无任何参数和无任何操作的构造方法。 44•抽象类和接口之间的区别? 抽象类里不一定有抽象方法,有抽象方法的类一定抽象类。 抽象类不能实例化。 抽象类必须被继承,继承后才能实例化。 接口里的方法都是抽象方法,变量都是静态常量。 接口不能被类继承,只能被实现,但是可以被接口继承,一个父类接口可以被多个子类接口继承。 类是单继承的。 45•请创建一个静态内部类对象,以外部类名为P,内部类名为Q举例 外部类•内部类内部类对象名外部类•内部类(); P.Qs=newP()・Q(); 非静态内部类对象: 外部类类名•内部类类名内部类对象名=new外部类类名().new内部类类名(); 外部类类名•内部类类名内部类对象名二外部类对象名・new内部类类名(); 46.error和exception有什么区别error表示恢复不是不可能但很困难的情况下的一种严重问题。 比如说内存溢出。 不可 能指望程序能处理这样的情况 exception表示一种设计或实现问题。 也就是说,它表示如果程序运行正常,从不会发生 的情况 47.error和exception的父类是什么? Throwable 48•在处理异常的过程中,是否可以有多个catch? 如果有,请举个例子. 是。 try{ 程序代码 }catch(异常类型1异常的变量名1){ 程序代码 }catch(异常类型2异常的变量名2){ 程序代码 }finally{ 程序代码} 49.RandomAcessFile的父类是? object 50.RandomAcessFile有哪些特有方法seek^kipBytes^etFilePointer 51.RandomAcessFile是否可以读? 是否可以写? 为什么? 可以。 输入操作从文件指针开始读取(写入)字节,并随着对字节的读取(写入)而前移此文件指针。 构造方法: RandomAccessFile(Filefile,Stringmode) 创建从中读取和向其中写入(可选)的随机访问文件流,该文件由File参数指定。 RandomAccessF订e(Stringname,Stringmode) 创建从中读取和向其中写入(可选)的随机访问文件流,该文件具有指定名称。 有读写的方法。 52.String、StringBuffer、StrngBuilder之间的区另I」 String字符串常量StringBuffer字符串变量(线程安全) StringBuilder字符串变量(非线程安全,比StringBuffer快) String类型和StringBuffer类型的主要性能区别其实在于String是不可变的对象,因此在每次对String类型进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM的GC就会开始工作,那速度是一定会相当慢的。 而如果是使用StringBuffer类则结果就不一样了,每次结果都会对StringBuffer对象本身进行操作,而不是生成新的对象,再改变对象引用。 所以在一般情况下我们推荐使用StringBuffer, 特别是字符串对象经常改变的情况下。 而在某些特别情况下,String对象的字符串拼接其实是被 JVM解释成了StringBuffer对象的拼接,所以这些时候String对象的速度并不会比 StringBuffer对象慢,而特别是以下的字符串对象生成中,String效率是远要比StringBuffer 快的: Strings=newString(Hxyzn);创建了几个StringObject? 两个对象,一个是“xyz”,一个是指向“xyz”的引用对象s 53.finakfinally以及finalize之间的区别 final—>饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。 因此一个类不能既被声明为abstract的,又被声明为final的。 将变量或方法声明为final,可以保证它们在使用中不被改变。 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 被声明为final的方法也同样只能使用,不能重载 finally-M异常处理时提供finally块来执行任何清除操作。 如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话) finalize一方法名oJava技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。 54.说说垃圾回收机制 System.gc()垃圾回收是一种自动存储的管理机制,当电脑上的动态存储器不再需要时就释放让出存储器,GC调用是系统级别的,时间是不确定的,System类提供gc()方法,程序员可以手动调动垃圾回收器。 55.请阐述Io流处理流程 1•找到一个要操作的资源,可能是文件,可能是其他的位置 2•根据字节流或字符流的子类,决定输入及输出的位置3•进行读或写的操作 4•关闭 56・lo流按传输方向分为? 按数据单位分为? 按功能分为? 按流向分: 输入流: 程序可以从中读取数据的流。 输出流: 程序能向其中写入数据的流。 按数据传输单位分: 字节流: 以字节为单位传输数据的流字符流: 以字符为单位传输数据的流按功能分: 节点流: 用于直接操作目标设备的流过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大.灵活的读写功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习 必须 掌握 doc