2019年安卓面试题--------Java 基础篇
2019-02-18 本文已影响0人
lonamessi
-
java 的基本数据类型
java的数据类型分为基本 数据类型和 引用数据类型
基本数据类型: byte short int long(整数类型),float double(浮点类型),char(字符类型),boolean(布尔类型)。
引用数据类型:class(类),interface(接口),【】(数组)。
-
java定义变量
当数据不确定的时候。需要对数据进行存储的时候。我们需要定义一个变量来完成存储。
当我们在定义变量的时候,只定义变量不进行赋值,那么如果是基本数据类型由于有默认值,所以也会被分配一定的空间,如果是引用数据类型,由于默认值为null,所以不占用内存空间。
-
java运算符
- int a =3,b;
b= a++;
输出b=3,a=4;
b=++a;
输出b=4,a=4;
加加在前先运算,再赋值,加加在后,先赋值后运算。 - 在window系统下,\n,\r代表换行。(回车符)
""转义字符,反斜杠,来转变后面字符或者字母的含义。 - ^ 异或
两边相同则为false。
true ^ true = false;
false ^ false = false;
true ^ false = true; - &,&&,|,|| 区别。
&:两边都为true,结果为true。
|:两边其中一个为true,结果为true。
&&:如果前面为false,则后面不运算。
||:如果前面为true,则后面不运算。
-
java 方法的 重载和重写
重载:在同一个类中,方法名相同,参数列表不同。
重写:
-
java的数组排序
选择排序:
排序方式为一个元素和所有的元素进行依次比较。
QQ图片20190214220639.png
冒泡排序:
相邻两个进行比较,选出最大(最小)的。
QQ图片20190214221658.png
-
构造代码块,静态代码块
构造代码块
给对象进行初始化,对象一建立就运行,而且优先于构造函数执行。
静态代码块
随着累的加载而加载,且只执行一次。
-
在多态中成员函数,以及成员变量,静态成员函数的特点
成员函数在多态调用时,编译看左边,运行看右边。
成员变量在多态调用时,不管何时都看左边。
静态成员函数在多态调用时,都参考左边。
-
线程
-
线程的生命周期
创建,就绪(有执行资格但是没有执行权,主要是因为抢占cpu造成的),运行,阻塞(没有执行资格,主要是由sleep,wait造成的),消亡。 -
线程同步的前提
两个或者两个以上的线程同时做一件事情
必须是同一个锁 -
静态同步方法的锁不是this,而是这个类,.class.
-
如何出现死锁
一般情况是同步里面套同步,且同步的锁不是同一个。