Java基础问题你须知

73 阅读4分钟

Java基础问题回答!!!

1.类的修饰符能不能不写?

  不能。如果省略不写的话,默认得是default级别的,和public所支持的访问权限是完全不同的

2.访问修饰符都有什么作用?

java中的访问修饰符有public、protected、default、private四种。

public:它的访问权限是全部包的任何类。

Protected:用protected修饰的类、方法、变量,包内的任何类以及包外继承了该类的子类才能进行访问。

Default:只有包内的任何类可以进行访问。

Private:用private修饰的类、方法、变量、只有本类中可以访问,包内包外的任何类都不能进行访问的。****

3.Java关键字都有哪些?作用是什么?

private 一种访问控制方式:私用模式

protected 一种访问控制方式:保护模式

public 一种访问控制方式:共用模式

abstract 表明类或者成员方法具有抽象属性

class 类

extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口

final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变

implements 表明一个类实现了给定的接口

interface 接口

native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的

new 用来创建新实例对象

static 表明具有静态属性

strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范

synchronized 表明一段代码需要同步执行

transient 声明不用序列化的成员域

volatile 表明两个或者多个变量必须同步地发生变化

break 提前跳出一个块

continue 回到一个块的开始处

return 从成员方法中返回数据

do          用在do-while循环结构中

while 用在循环结构中

if          条件语句的引导词

else          用在条件语句中,表明当条件不成立时的分支

for          一种循环结构的引导词

instanceof 用来测试一个对象是否是指定类型的实例对象

switch 分支语句结构的引导词

case          用在switch语句之中,表示其中的一个分支

default 默认,例如,用在switch语句中,表明一个默认的分支

try          尝试一个可能抛出异常的程序块

catch 用在异常处理中,用来捕捉异常

throw 抛出一个异常

throws 声明在当前定义的成员方法中所有需要抛出的异常

import 表明要访问指定的类或包

package 包

boolean 基本数据类型之一,布尔类型

byte          基本数据类型之一,字节类型

char          基本数据类型之一,字符类型

double 基本数据类型之一,双精度浮点数类型

float 基本数据类型之一,单精度浮点数类型

int          基本数据类型之一,整数类型

long          基本数据类型之一,长整数类型

short 基本数据类型之一,短整数类型

super 表明当前对象的父类型的引用或者父类型的构造方法

this          指向当前实例对象的引用

void          声明当前成员方法没有返回值

goto          保留关键字,没有具体含义

const 保留关键字,没有具体含义

4.8种基本类型的取值范围?

整型:

byte的取值范围为-128127,占用1个字节(-2727-1)

short的取值范围为-3276832767,占用2个字节(-215215-1)

int的取值范围为(-2147483648~2147483647),占用4个字节(-231到231-1)

long的取值范围为(-92233720368547748089223372036854774807),占用8个字节(-263263-1)

浮点型:

float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节

double 1.797693e+308~ 4.9000000e-324 占用8个字节

boolean型(布尔型):

boolean t = true;取值为1

boolean f = false;取值为0

5.变量与常量的区别?

变量指的是在程序运行的过程中存储可以变化的数据,常量指的是在程序运行期间不变的数据。

6.什么是ASCII码、Unicode 编码?

ASCII与Unicode都是是一种字符集,Unicode兼容了ASCII的字符集,它定义了每个字符的唯一编号。

7.面试题:

a = a + b 与 a += b  的区别?

当两个变量数据类型不同时,a=a+b需要强制转换才能使编译正确,而a += b不需要。