1:什么是注释?注释分为几种?注释有什么作用?
注释就是对代码的解释说明性文字,分为三种:单行注释、多行注释、文档注释。注释可以对程序进行说明,给人看,还可以对程序进行排错。
2:什么是关键字?有什么特点?
关键字就是被java语言赋予了特殊含义的单词。特点就是所有的关键字都是小写。
3:什么是标识符?由哪些部分组成?常见的命名规则有哪些?
标识符就是给类、接口、方法、变量名起的名字。常见的规则有:有数字、字母、_以及$符号组成,不能以数字开头,不能是java中的关键字。
4:什么是常量?常量的分类?字面值常量表现形式有哪些?
在程序的运行过程中其值不发生改变的量。
字面值常量: 1 14
自定义常量: int MAX = 100;
5:什么是变量?变量的定义格式?要使用变量需要注意什么?
在程序运行过程中,其值是可以在某个范围内发生改变的量。
变量其实就是内存中一小块区域。
由3部分组成:
1,数据类型: 限定变量的取值
2,变量名:方便使用。
3,值: 如果没有值就没有意义。
6:Java中的数据类型分几类?基本数据类型有哪些?
基本类型:4类8种。基本数据类型有:
整数(byte,short,int,long)、浮点数(float,double)、字符(char)、布尔(boolean)。
7:算术运算有哪些,各自的作用?
有:+,-,*,/,%,++,--。
+:正号,加法,字符串连接符
%:取得余数
++,--:
单独使用:在操作数据的前后效果一致。
参与操作使用:
在操作数据的前面,是先++或者--,然后参与操作。
在操作数据的后面,是先参与操作,后++或者--。
8:+运算符需要注意的问题?
当把+号作为加法和字符串连接符一起使用的时候,注意把运算的地方()起来。
9:赋值运算符常见的有哪些,各自的作用?
=:把右边的内容赋值给左边
+=,-=,*=,/=,%=:把左边的和右边的操作后赋值给左边。
注意:
+=隐含了强制类型转换。
x+=y;等价与:x = (x的数据类型)(x + y);
10:逻辑运算符有哪些都有什么作用?
&:有false则false
|:有true则true
^:相同为false,不同为true。通过情侣关系来理解。
!:非false则true,非true则false。偶数次不改变以前的真假。
&&:和&的结果一样,但是具有短路效果。左边有false,右边不执行。
||:和|的结果一样,但是具有短路效果。左边有true,右边不执行。
11:位移运算符有什么不同?
要想操作,就必须把所有的数据转换为二进制。然后操作。
<<:把数据向左移动,后边补0。其实相当与乘以2的移动位数次幂。
>>:把数据向右移动,左边补是最高位的值。其实相当与除以2的移动位数次幂。
>>>:把数据向右移动,左边补0。其实相当于除以2的移动位数次幂。
12:什么是函数重载?
函数名相同,参数列表不同,跟返回值不关,就是函数重载。
13:类是什么?类的组成是哪些?
类是抽取了同类对象的共同属性和行为形成的对象或实体的"模版".
类是由成员变量,成员方法,构造函数组成
14:对象是什么?什么时候需要使用对象?
对象是现实世界中实体的描述,是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所
构成的独立实体.
需要描绘具体事物的时候要使用对象.
15:封装是什么?自己概述
隐藏对象的属性和具体的实现细节,仅对外提供公共的访问方式.
类、方法其实也是封装的体现。
16:构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项是什么?
构造方法的作用是初始化数据。特点是:名称和类名一致,并且没有返回值类型的修饰和返回值。
注意:如果我们没有给构造方法,系统将给出一个无参构造方法。如果我们给出了构造方法,系统将不再提供构造方法。
17:给成员变量赋值有几种方式?
1,通过set/get方法。
2,通过带参构造。
20:方法重写和方法重载的区别?重载可以改变返回值类型吗?
方法重写:
子类中出现和父类中一模一样的方法声明的方法。
方法重载:
同一个类中,出现方法名相同,参数列表不同的方法。
跟返回值无关。
重载可以改变返回值类型,因为他跟返回值无关。
21:static关键字是什么?有什么特点?什么时候用呢?
static关键字:是静态的意思,可以修饰类中成员变量和成员方法。
静态的特点:随着类的加载而加载、优先与对象而存在、被所有对象所共享、可以通过类名.静态的内容调用。
23:代码块是什么?代码块的分类有哪些及每种代码块的作用是什么?
用{}括起来的代码,就叫代码块。
分为:
A:局部代码快: 就是在方法中用{}括起来的代码。作用是限定变量的生命周期,提高效率。
B:构造代码快:在类中,方法外。用{}括起来的代码。作用是把所有构造方法中相同的内容抽取出来,
定义到构造代码块中,将来在调用构造方法的时候,会去自动调用构造代码块。构造代码快优先于构造方法。
C:静态代码快:在类中、方法外。用{}括起来的代码。只不过加了static修饰。
作用是:随着类的加载而加载,而且只加载一次的代码。
24:一个类的实例化过程有哪些步骤?(*面试题)
Student s = new Student(); 在内存中到底执行了哪些步骤。
1,加载Sutdent.class文件进内存(类加载器)
2,在栈内存为 s 变量申请一个空间
3,在堆内存为Student对象申请空间
4,对类中的成员变量进行默认初始化
5,对类中的成员变量进行显示初始化
6,有构造代码块就先执行构造代码块,如果没有,则省略
7,执行构造方法,通过构造方法对对对象数据进行初始化
8,堆内存中的数据初始化完毕,把内存值复制给 s 变量
25:方法重写和重载有什么区别?重载可以改变返回值类型吗?
方法重写:子类中出现和父类一模一样的方法声明的方法。
方法重载:同一个类中,出现的方法名相同,参数列表不同的方法。
重载可以改变返回值类型,因为跟返回值无关。
26,==和equals()的区别? (*面试题)
A:==
a:基本类型 比较的是基本类型的值
b:引用类型 比较的是引用类型的地址值
B:equals()
只能比较引用类型。
默认比较地址值。
27,什么是字符串?字符串的特点是什么?
字符串:由多个字符组成的一串数据。
特点:一旦被赋值就不能被改变。
注意:这里指的是字符串的内容不能发生改变。而字符串的引用是可以再次赋值的。
28:String s1 = new String("hello");和String s2 = "hello";的区别?
有区别,区别是:前者创建了两个对象,后者创建了一个对象。
29:String、StringBuffer、StringBuilder的区别?
String:字符长度是固定的。
StringBuffer/StringBuilder:字符长度是可变的。
StringBuffer:安全的,但效率较低一些。
StringBuilder:不安全的,但效率较高一些。
StringBuffer和StringBuilder兼容。
30:什么是基本数据包装类?
为了对基本类型的数据进行更多的操作的,java就针对每种基本类型的数据提供了对应的包装类类型。
对应的类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
31:集合和数组有什么区别?
集合:
长度可以发生改变。
只能存储对象类型,引用类型。
可以存储任意类型的对象。
数组:
长度固定。
可以存储基本类型,也可以存储引用数据类型。
只能存储同一种类型的元素。
32:泛型是什么?有什么用?在哪里用?泛型有什么好处和弊端?
泛型是一种把明确数据类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的数据类型。
能优化程序设计,解决了黄色警告线问题。
把运行时期的异常提前到了编译时间。
避免了强制类型转换。
好处:
优化了程序的设计,解决了黄色警告线的问题。
把运行时期的问题提前到了编译时期间解决了。
避免了强制类型转换。
弊端:让类型统一了,不能存储不同的数据类型了。
|
|