JavaSE面试重点基础易错点总结1

Java认知

java平台

         JavaSE:标准版(Standard )。JavaSE包含构成Java语言核心的类。

        JavaEE :企业版(Enterprise)。JavaEE是在JavaSE平台的基础上构建的,它包含用于开发企业级应用的类。

        JavaME :微型版(Micro)。包含JavaSE平台中一部分类,用于嵌入式系统开发。

数值类型

 四类八种:

        整型:1,2,4,8 字节     对应位数:字节数*8        取值范围:|2|e的位数减一次方

        浮点型:4,8        精度为7和17   取值范围:  -3.403E38 ~ 3.403E38  ,-1.798E308 ~                         1.798E308

                错题:short long float double int 几种数据类型的取值范围由小到大的排列顺序是:

                        正确答案:short int long float double

        字符型:2字节  一个16位无符号整数,Java中字符类型的值是对应字符的编码, 是

                        unicode编码。

        布尔数据类型:关键字boolean来表示,布尔型数据的值域只有两个值:true和false。

数据类型的默认值

对于数字类型,默认值为0,对于字符型,默认值为‘ ’(空格),对于布尔类型,默认值为false, 对于字符串类型(引用类型),默认值为null 

数据类型转换

自动数据类型转换:小空间的数据类型可以自动转换成大空间的数据类型。

强制数据类型转换:也称之为显式类型转换,小空间的数据类型强制转换成大空间的数据类型。

        

  1. boolean型数据不能和其他基本数据类型进行转换;
  2. char型和int型数据可以互换;
  3. byte、short、char之间不会相互转换,它们三者在计算时首先会转换为int类型;
  4. 在强制类型转换过程中,源类型的值可能大于目标类型,因此可能造成精度降低或溢出

运算符

算术运算符

 1.++n:现加后用   n++:先用后加  

2.当操作数中只要有一个是String类型,“+”会自动将另一个操作数转换成字符串类型,然后进行连接。

逻辑运算符

1.逻辑非的优先级高于逻辑与的优先级高于逻辑或,非短路高于短路

2.双倍代表短路

三目运算符

1.语法:表达式1 ? 表达式2 : 表达式3     如果表达式1为真,取表达式2的值,否则取表达式3的值

优先级

算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符

流程控制语句

 switch语句

1.判断条件的数据类型:byte、short、char、int,在JDK7中增加了对String类型

死循环

死循环举例:for(int i=1;;i++){}     while(true){}

循环中的中断

break:跳出本个循环

continue:跳出本次循环

break table:语句可以出现在任何语句体中,其作用是结束指定语句的执行

数组

数组的特点

1. 数组里只能存储相同类型的数据;

2. 数组的长度一旦创建便不能改变;

3. 声明数组时,方括号“[]”既可以放在数据类型的后面,也可以放在数组名的后面;

4. 数组的下标从0开始。

5.开辟连续的存储空间。

6.数组属于引用数据类型,栈内存储数组地址,堆内存储数组内容

数组的创建

静态创建:在数组声明的同时就直接创建数组

动态创建:在数组声明的时确定数组长度,但是没有元素

数组的长度属性

1.数组可以看作一个专门用来存放元素的类,其中length是类的成员属性,不是方法。访问时不能带括号。

2.数组的长度必须>=0

3.length的类属性权限为只读,不能修改

数组常见异常

空指针异常:类名为java.lang.NullPointerException,没有创建而直接使用数组时会产生该异常

数组下标越界异常:类名是 java.lang.ArrayIndexOutOfBoundsException,访问数组时的下标超出数组的最大下标时产生该异常

数组的操作

1.库函数复制:System.arraycopy( source,srcPos,dest,destPos,length );

复制source数组中从下标srcPos开始的length个元素到目标数组dest,并从目标数组的下标为destPos的位置开始储存

2.库函数排序: Arrays.sort(数组名);

方法的调用

方法的传递

1.值传递:在方法调用时,实参是将自己的一份拷贝赋给形参,在方法内,对该参数值的修改不影响原来的实参。在方法调用中,String 类型看作基本数据类型,作用域仅为方法内

2.引用传递:当数据作为自定义对象的引用在进行传递时,整个对象不会进行拷贝,直接由形参所接受,如果有方法修改了这个对象,对象就会发生变化。在引用数据类型作为方法参数的时候,形参的任何改变会影响实参的结果。

方法的重载

  1. 定义:在同一个类中,允许同时存在多个方法名相同但参数列表不同的方法。
  2. 规则:
    1. 在同一个类的内部
    2. 方法名称相同
    3. 方法的参数列表不同,表现为参数个数不同、参数类型及参数的位置不同
    4. 与方法的返回值类型、方法修饰符和控制符无关
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值