2021年度java面试基础总结.docVIP

  • 0
  • 0
  • 约1.48万字
  • 约 29页
  • 2021-03-24 发布于江苏
  • 举报
Java特点 语法简朴,面向对象,分布式,安全性,健壮性,解释运营,高效率,与平台无关,多线程,动态性。 面向对象特性 继承,封装,多态,抽象 (1)继承:子类继承父类办法和属性 构造器不能继承 子类构造器一定会调用父类构造器 实例化子类,会分派所有父类空间 (2)多态:重载办法,办法名同样,办法参数不同办法 (3)抽象:在面向对象分析设计时,可将某些实体作高度抽象定义成抽象类,抽象类没有任何对象,只可作为一种模板用于创立子类,以及为面向对象提供更灵活多态机制。 (4)封装:类封装了数据及对数据操作,是程序中最小模块,禁止了外界直接操作类中数据,模块与模块之间只能通过严格控制接口进行交互,使得模块之间耦合度大大减少;保证了模块具备较好独立性,程序维护和修改较容易。 3.java中8种基本数据类型及数据类型转换 4大类型: 逻辑类型:boolean 字符类型:char 整数类型:byte,short,int,long 浮点类型:float,double 转换:规则1,当把精度低变量值赋给精度高变量时,系统自动完毕数据类型转换( 数据精度从“低”到“高”排序) 规则2,当把精度高变量值赋给精度低变量时,必要使用显示类型转换运算。 规则3,char与byte或short之间赋值必要实行强制转换。 4.局部变量与全局变量区别 局部变量:不是声明在类括号里面变量。办法参数和办法内部变量都是局部变量。 必要要先赋值,后使用,局部变量没有默认初始化值。同一范畴内,不容许2个局部变量命名冲突。 5.什么是形参,什么是实参? 实参:办法调用时候实际传递参数变量(实际值,相称于赋值)。 形参:办法参数定义,是暂时变量(是个空壳子,相称于声明变量而没有赋值)。 6.怎么理解i++与++i i++:先把i值赋给i++,i值自增1,再把i++值赋给i; ++i:先把i值自增1 ,自增后i值赋给i++,,再把++i值赋给i; 7.与区别 和都可以用作逻辑与运算符,表达逻辑与(and),当运算符两边表达式成果都为true时,整个运算成果才为true,否则,只要有一方为false,则成果为false。 还具备短路功能,即如果第一种表达式为false,则不再计算第二个表达式,例如,对于if(str != null !str.equals(“”))表达式,当str为null时,背面表达式不会执行,因此不会浮现NullPointerException如果将改为,则会抛出NullPointerException异常。If(x==33 ++y0) y会增长,If(x==33 ++y0)不会增长 还可以用作位运算符,当操作符两边表达式不是boolean类型时,表达按位与操作,咱们普通使用0x0f来与一种整数进行运算,来获取该整数最低4个bit位,例如,0x31 0x0f成果为0x01。 8.switch()括号中可以是哪些数据类型。 char/short/int/byte 惯用零值有哪些? 整型默认值:[0,0,0] boolean类型:[false,false,false] 浮点类型:[0.0,0.0,0.0] String类型:[null,null,null] char类型:\u0000 10.数组中动态初始化与静态初始化 静态初始化是指由程序员自己为数组对象每个元素赋值,由系统自动计算出数组长度:如String[] a=new String[]{“Hellow”,”World”,”Yes”}; 动态初始化是指程序员自己指定数组对象长度,由系统先自动为其赋值,程序中程序员可觉得元素重新赋值;如:String[] b=new String[4]; for(int i=0;ib.length;i++) { b[i]=i+”hello”;} 11.列举出惯用排序方式及代码 /** 冒泡排序 * i表达轮次 * j表达每一轮比较次数 */ public static void main(String[] args) { int[] arr={12,2,34,55,6,1}; System.out.println(Arrays.toString(bubbleSort(arr))); } public static int[] bubbleSort(int[] arr) { for(int i=0;iarr.length-1;i++) { for(int j=0;jarr.length-i-1;j++) { if(arr[j]arr[j+1]) { //这一行j相称于下标 int temp=arr[j]; arr[j]=arr[j+1]; a

文档评论(0)

1亿VIP精品文档

相关文档