Java基础知识问题总结(一)
1、idea上下移动的快捷键?
alt+shift+上下键
2、我们装的jdk的版本?
jdk8
3、计算机有哪些语言?
Java,C、C++,Python
4、jdk,jre,jvm的区别?
jdk是Java开发工具包
jre是Java运行环境
jvm是Java虚拟机
5、计算机存储的最基本的单位?
字节(byte)
6、Java的运行原理?
源文件,编译形成字节码,然后执行,输出结果。其中javac进行编译,Java运行
7、注释有那些?
单行注释,多行注释,文档注释。
单行注释:仅仅只是注释,可以进行单行注释
多行注释:仅仅只是注释,可以进行多行注释
文档注释:对一个方法的解释说明,给调用者查看
8、定义变量的格式?
数据类型 变量名=值
9、定义变量有什么注意事项?
在方法中定义的变量,局部变量,局部变量在使用前一定要初始化。
10、什么是标识符?
给类,方法,变量,常量,包起名字
11、标识符组成规则?
由字母,数字,下划线,_,美元符组成
第一个字符不能是数字,不能使用Java中的关键字,区分大小写
12、什么是关键字?
是被Java语言赋予了特殊含义的单词
13、什么是强转类型转换?强转的格式?
由大的数据类型转化为小的数据类型
目标数据类型 变量名=(目标数据类型)(值或者是变量)
14、什么是三元运算符?
关系表达式?表达式一:表达式二
判断结果为Boolean类型为true时返回表达式一,为假时返回表达式二
15、a+=b的执行过程?
a加b把结果赋值给a
16、关系运算符有哪些?
==,>,>=,<,<=,!=.结果一定是Boolean类型
17、&,|,^用法?
逻辑运算符,&两个结果都true才为true,|只要有一个为true就为true,^两个都为true则为false
18、else if和switch如何选择使用?
switch语句可以放入一个值,确定多少次的情况下,有固定选项
if,只能放入关系表达式,不确定的情况下;有多种选择,不确定
19、break,continue,return区别?
break是结束本次循环,continue是跳出本次循环,继续下一个循环,return是结束方法
break和continue只能在循环中使用,单独使用没有任何意义
20、循环有那几个?三者的区别
for循环,while循环,do…while循环
for和while循环是先判断再执行,do…while循环是先执行后判断,至少执行一次
for循环一般用在确定一个范围的情况下,while循环一般是在不确定范围的情况下
21、for循环的嵌套?
外循环执行一次,内循环执行一圈
22、什么是数组?
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
23、如何获取数组中的元素?
遍历
24、常见的数组异常有哪些?
索引越界异常:
空指针异常:arr=null
25、如何获取数组的长度?
数组名.lenth
26、选择排序的规则?
拿第一个和后面的每一个元素进行比较,小的往前放,第一次完毕后,最小值出现在最小索引处
27、什么是二维数组 ?
二维数组就是二维数组中有多少个一维数组,每一个一维数组中有多少个元素。
28、冒泡排序?
相邻元素两两比较,大的往后放,第一次完毕最大值出现在最大索引位置上
29、写方法时两个明确?
明确参数列表:该方法在完成每一个功能时,需要的参数有几个,参数的类型是什么
明确返回值类型:方法的功能完成以后,是否有返回值,如果有使用return将结果返回
30、调方法时两个明确?
明确参数列表
明确返回值类型
31、什么是方法重载?
在同一个类中,具有相同的方法名, 参数列表不同(参数的个数及类型不同及顺序不同),与返回值无关
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过方法的参数列表,调用不同的方法。
32、private关键字有什么特点?
私有,被private修饰的成员只能在本类中被访问
33、This代表什么意思?
this表示当前对象的引用(this在那个类中,代表就是哪个类)
34、构造方法有什么用?
用于对象初始化值
格式:修饰符 类名 (参数){构造方法}
35、构造方法可以重载吗?
可以
36、成员变量和局部变量的区别?
成员变量:
位置是在类中方法外
默认值:有默认值
生命周期:随着创建对象而存在,随着对象的消失而消失
内存位置:堆内存中
局部变量:
位置;方法内或者方法生命上(参数列表)
默认值:必须初始化值
生命周期;随着方法的调用而存在,随着方法的调用完毕而消失
内存位置:栈内存中
37、方法重载与方法重写的区别?
方法重载:方法名相同,参数列表不同与返回值无关
方法重写:返回值类型,方法名,参数列表都相同
38、super和this的区别?
使用super的前提一定要是继承关系,子类访问父类需要通过super来找父类引用
this代表当前对象的引用
39、什么情况下定义抽象类?
父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义的时候定义抽象类
被abstract关键字修饰
40、抽象类的特点?
-
抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。
理解:假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义。
-
抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。
理解:子类的构造方法中,有默认的super(),需要访问父类构造方法。
-
抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
理解:未包含抽象方法的抽象类,目的就是不想让调用者创建该类对象,通常用于某些特殊的类结构设
计。
-
抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类
理解:假设不重写所有抽象方法,则类中可能包含抽象方法。那么创建对象后,调用抽象的方法,没有
意义。