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不需要。