2019年安卓面试题--------Java 基础篇

  • java 的基本数据类型

java的数据类型分为基本 数据类型和 引用数据类型
基本数据类型: byte short int long(整数类型),float double(浮点类型),char(字符类型),boolean(布尔类型)。
引用数据类型:class(类),interface(接口),【】(数组)。

  • java定义变量

当数据不确定的时候。需要对数据进行存储的时候。我们需要定义一个变量来完成存储。
当我们在定义变量的时候,只定义变量不进行赋值,那么如果是基本数据类型由于有默认值,所以也会被分配一定的空间,如果是引用数据类型,由于默认值为null,所以不占用内存空间。

  • java运算符
  1. int a =3,b;
    b= a++;
    输出b=3,a=4;
    b=++a;
    输出b=4,a=4;
    加加在前先运算,再赋值,加加在后,先赋值后运算。
  2. 在window系统下,\n,\r代表换行。(回车符)
    ""转义字符,反斜杠,来转变后面字符或者字母的含义。
  3. ^ 异或
    两边相同则为false。
    true ^ true = false;
    false ^ false = false;
    true ^ false = true;
  4. &,&&,|,|| 区别。
    &:两边都为true,结果为true。
    |:两边其中一个为true,结果为true。
    &&:如果前面为false,则后面不运算。
    ||:如果前面为true,则后面不运算。
  • java 方法的 重载和重写

重载:在同一个类中,方法名相同,参数列表不同。
重写:

  • java的数组排序

选择排序:
排序方式为一个元素和所有的元素进行依次比较。


QQ图片20190214220639.png

冒泡排序:
相邻两个进行比较,选出最大(最小)的。


QQ图片20190214221658.png
  • 构造代码块,静态代码块

构造代码块
给对象进行初始化,对象一建立就运行,而且优先于构造函数执行。
静态代码块
随着累的加载而加载,且只执行一次。

  • 在多态中成员函数,以及成员变量,静态成员函数的特点

成员函数在多态调用时,编译看左边,运行看右边。
成员变量在多态调用时,不管何时都看左边。
静态成员函数在多态调用时,都参考左边。

  • 线程
  1. 线程的生命周期
    创建,就绪(有执行资格但是没有执行权,主要是因为抢占cpu造成的),运行,阻塞(没有执行资格,主要是由sleep,wait造成的),消亡。

  2. 线程同步的前提
    两个或者两个以上的线程同时做一件事情
    必须是同一个锁

  3. 静态同步方法的锁不是this,而是这个类,.class.

  4. 如何出现死锁
    一般情况是同步里面套同步,且同步的锁不是同一个。

你可能感兴趣的:(2019年安卓面试题--------Java 基础篇)