一 前言

Java的数据类型分为2种,分别是基本数据类型和引用数据类型;java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型;面试常问的java8大基本数据类型其实是基本数据类型;想要打好基础数据类型这关很重要;

二 基本数据类型

基本数据类型分为 整型4个 ,布尔型一个,字符型一个,浮点数型2个;每个数据类型的大小都不一样,数据类型的大小以字节计算,在计算机种一个字节是等于8位,也就是2的8次方法;

2.1 整型

整型故名思意,字段声明的类型是整型,字段被赋值的时候只能是整型类型数据;如果是长整型(long)其后面书写时带上L或者l表示长整型数据;

int类型书写示例:

public class Type {

    // int 型 java默认为整型
private int zszxz1 = 1327;
}

long类型书写示例:

public class Type {

    // long 型 Java中称呼为长整型,后面跟 L 或者 l,由于l同 1很像,通常使用L
private long zszxz2 = 1327L; }

shor型书写示例:

public class Type {

    // shor 型 java中称呼为短整型
private short zxzxz3 = 1327; }

byte类型书写示例:

public class Type {

    // byte 型 java中称呼为字节
private byte zszxz4 = 127; }

2 .2 浮点类型

浮点数据类型分为单精度类型(float)和 双精度类型 (double);书写时double型,数字后面带上D或者d表示双精度型;

书写float型,数字后面带上f或者F表示单精度型;其都遵循IEEE 745 规范,如果溢出会出现下列三种情况:

  1. 正无穷大
  2. 负无穷大
  3. Nan表示非数值

书写示例:

public class Type {

    // float 型
private float zszxz5 = 3.17f;
// double 型
private double zszxz6 = 3.17d; }

2.3 字符型

字符型(char)存储单个字符,特殊的字符使用unicode值(0~65535)进行存储;其大小2个字节;

 public static void main(String[] args) {
// 字符 A 在 unicode中的值是65也就是 u0041;
char zszxz7 = 'A';
char zszxz8 = '\u0041';
char zszxz9 = 65;
// true
System.out.println(zszxz7==zszxz8);
// true
System.out.println(zszxz7==zszxz9);
}

常用转义符号:

2.4 布尔型

布尔型(boolean),其只有2个值就是true和false;通常用于判断是非;

    // 正确
private boolean zszxz10 = true;
// 错误
private boolean zszxz11 = false;

三 进制数值表示

3.1 二进制数

二进制数使用0b或者0B开头,每位都是用0~1表示;

示例:

    // 二进制数
private int zszxz12 = 0b1111;

3.2 八进制数

八进制数使用0开头,每位是0~7表示;

示例:

    public static void main(String[] args) {
int zszxz13 = 017;
// 15
System.out.println(zszxz13);
}

3.3 十六进制数

十六进制数使用0x或者0X开头,每位都是使用0~9, A~F 表示;

示例:

    public static void main(String[] args) {
int zszxz14 = 0xff;
// 255
System.out.println(zszxz14);
}

四 指数数值表示

在java中指数类型使用e表示10的次方幂,比如 10^5 表示成 e5,声明时注意使用浮点数据类型或者其他大数值类型;

示例:

    public static void main(String[] args) {
double zszxz15 = 0.3e2;
// 30.0
System.out.println(zszxz15);
}

五 类型转换

5.1 自动类型转换

自动类型转换是指小数据类型转向大数据类型java虚拟机会自动帮你转换,不需要做额外的操作;

不丢失精度情况:

丢失精度情况:

5.2 强制类型转换

强制类型转换是指大数据类型转向小数据类型,需要进行强制类型转换,但这有可能发生丢失精度的风险,使用()表示强制转换;在浮点数转整型的时候丢失精度的规则不是四舍五入,而是截取;

示例:

    public static void main(String[] args) {
double zszxz16 = 55.9;
int opq = 0 ;
opq = (int)zszxz16;
// 55
System.out.println(opq);
}

六 引用数据类型

引用数据类型包括类,接口,数组,java中的引用本质上等同于c中的指针,但在java中没有指针这个说法,而是保留的指针的引用类型;特殊的数据类型String就是引用数据类型;详细的引用数据类型在后续的学习中才会有深入了解,对于初学者,说的再多目前也没意义;

最新文章

  1. UITextField使用详解
  2. 酷!使用 jQuery & Canvas 制作相机快门效果
  3. 01 viewport
  4. POJ 2100
  5. 缓存你的BITMAP对象
  6. position绝对剧中
  7. java比较器Comparable接口和Comaprator接口
  8. Shell脚本编程总结及速查手册
  9. man命令
  10. Tomcat-java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
  11. css考核点整理(九)-有几种文字替换方式,之间的优缺点
  12. java.util.concurrent并发包诸类概览
  13. 类型“GridView”的控件必须放在具有 runat=server 的窗体标记内?
  14. Java与C/C++有什么区别?
  15. mac忘记操作密码
  16. 蓝牙协议分析(5)_BLE广播通信相关的技术分析
  17. Delphi 文件目录相关的操作函数
  18. Windows下调试hadoop
  19. Kafka生产环境中的错误
  20. Android Library开发注意事项

热门文章

  1. 标准库bufio个人详解
  2. ssm通用 POM
  3. js对象的直接赋值、浅拷贝与深拷贝
  4. Requests小技巧
  5. 如何将本地项目推送到码云仓库或者GitHub仓库
  6. 第三章 学习Shader所需的数学基础(5)
  7. 【HUAWEI Mate30】抽奖啦!华为IoT新福利上线!
  8. Reactive(3)5分钟理解 SpringBoot 响应式的核心-Reactor
  9. ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo
  10. 谁说微服务是Spring Cloud的独角戏?Service Mesh了解一下?