Java基础知识(基本类型与运算)

4.基本类型与运算

4.1 基本数据类型

Java中的基本数据类型主要有(byte、int、double、float、long、char、boolean、short)除了这8种基本数据类型,其他类型都是引用类型(类、数组、接口)。下表!是不同数据类型对比。
Java基础知识(基本类型与运算)_第1张图片
以上这些基本类型分为4种类型:
1.int长度数据类型:byte(8),short(16),int(32),long(64)
2.float长度数据类型:单精度(32),双精度(64)
3.boolean类型变量的取值:true、false
4.char数据类型:Unicode(16)
Java还提供对这些原始数据类型的封装类。java中的数值类型都是有符号的,不存在无符号的数,他们的取值范围是固定的。Java还存在另一种基本类型void。

4.2 什么是不可变类

指当创建了这个类的实例后,不允许修改它的值。在Java类库中,所有的基本类型的包装类都是不可变类,如Integer、Float等。
要创建一个不可变类需要遵循的原则:
1、类中所有成员变量被private所修饰。
2、类中没有写或修改成员变量的方法。
3、类中所有方法不会被子类覆盖。
4、若一个类成员不是不可变量,则在成员初始化或使用get方法获取该成员变量时需要通过clone方法确保类的不可变性。
5、若必要,使用Object类的equals方法和hashcode方法。
因为类的不可变性,在创建对象时需要初始化所有成员变量。

4.3 值传递和引用传递区别

1.值传递
实参把值传给形参,形参用实参的值初始化一个存储空间,对形参的改变不影响实参的值。
2.引用传递
传递的是对象(对象地址),形参和实参的对象指向同一块存储单元,形参的值修改影响实参的值。
Java中,基本数据类型按照值传递来传参,引用数据类型按引用传递。
Java基础知识(基本类型与运算)_第2张图片
如下例子:
在这里插入图片描述
Java基础知识(基本类型与运算)_第3张图片
输出结果:
在这里插入图片描述

4.4 数据类型转换的规则

优先级满足:byte 1.自动类型转换
Java基础知识(基本类型与运算)_第4张图片
2.强制类型转换
在这里插入图片描述
Java基础知识(基本类型与运算)_第5张图片

4.5 math中的round、ceil、floor方法的功能

1.round表示四舍五入,在原来的数字基础上先增加0.5后再向下取整。
2.ceil方法是向上取整,取大于a的最小整数,返回值类型为double。当为正数,将小数“入”,当是负数,将小数“舍”。
3.floor向下取整,取小于a的最大整数。

4.6 char型变量中是否可以存储一个中文汉字

Java中,英文占用一个字符,中文占用两个字符。如下例子:
Java基础知识(基本类型与运算)_第6张图片

你可能感兴趣的:(程序员面试笔试宝典笔记)