首页 > 编程语言 >Java的数据类型

Java的数据类型

时间:2024-08-24 23:06:26浏览次数:12  
标签:Java int 数据类型 long 123 byte

Java的数据类型

​ 强类型语言:变量的使用要严格符合规定,变量必须先定义才能使用

​ 比如: ‘12’ + 3 = "123" (123)

​ Java中 “123” != 123

​ js 中 “123” == 123


Java的数据类型分为两大类

  • 基本类型

  • 引用类型

 //八大基本数据类型

    //整数
    int num1 = 10;
    byte num2 = 127;
    short num3 = 32767;
    long num4 = 4294967295L;

    //小数
    float num5 = 3.14159265f;
    double num6 = 3.14159265;

    //字符
    char ch1 = 'A';
    //字符串,String不是关键字,String是一个类
    String ch2 = "ABC";

    //布尔值
    boolean ch3 = true;
    boolean ch4 = false;

    //每个类型都有对应的类,类中包含了类型的信息,如:int → Integer

//数据类型扩展
	int i = 10;
	int i2 = 010;	//八进制0	这个数等于8,每个数位范围0~8
	int i3 = 0x10;	//十六进制0x	这个数等于16,每个数位范围0~9,A~F

浮点数扩展:

​ 结果:false

float能表示的字长有限,但存在无限字长的数,切浮点数的值是离散的(孤立的),此时会进行舍入运算,存在误差

最好完全避免使用浮点数进行比较

银行进行比较时就应避免使用浮点数进行比较,使用BigDecimal类(一个数学工具类)

字符扩展

所有的字符本质都是数字,可以强制转换

Unicode表

范围 0 - 65536 (U0000 UFFFF)

	char c = '\u0061'; \\输出c为‘a',"\"代表转义

字符串(类)扩展

布尔值扩展

    boolean flag = true;
    if (flag) {}
    if (flag == true) {}//两者等价

什么是字节

位:计算机内部数据存储的最小单位 (10001001是八位二进制数)

字节:计算机数据处理的基本单位,习惯用大写B表示

一字节(1B) = 8位(8bit)

字符:计算机使用的字母、数字、字和符号

1bit=1位

1Byte表示一字节 1B = 8b

1024B = 1KB

1024KB = 1M

1024M = 1G


类型转换

不同类型的数据先转化为同一数据类型,再进行运算

  1. 不能对boolean类型转换
  2. 不能把对象类型转换到不相干的类型
  3. 高容量到低容量,强制转换
  4. 转化可能会内存溢出或丢失精度

强制转换

高到低

int i = (int)'c';

自动转换

低到高

整数类型转换,有long则结果是long,否则结果是int

    long a = 111111111;
    int b = 1243;
    short c = 10;
    byte d = 8;

    System.out.println(a + b + c + d); //long + int + short + byte = long
    System.out.println(b + c + d);     //int + short + byte = int
    System.out.println(c + d);         //short + byte = int
    //有double则是double
小技巧

数字之间可以用下划线分割

	int money = 10_000_1000; //100001000,方便区分

标签:Java,int,数据类型,long,123,byte
From: https://www.cnblogs.com/LiuYP-blog/p/18378430

相关文章

  • Java的包机制和JavaDoc生成帮助文档
    Java项目中通常采用分层的结构来组织代码和资源,以下是这种结构的典型层次:项目文件夹:这是整个Java项目的根目录。通常包括一些配置文件(如pom.xml或build.gradle),用于构建和管理项目依赖。模块文件夹:在大型项目中,通常会将项目划分为多个模块(子项目),每个模块有自己的代码、资源和依......
  • Java的输入 Scanner
    Java的流程控制Scanner对象获取用户的输入java.uril.ScannerScanners=newScanner(System.in);Scanner类的next()和nextLine()方法获得输入的字符串,在读取前可用hasNext()个hasNextLine()判断是否还有输入数据Scannersc=newScanner(System.in);System.out......
  • 【JavaEE初阶】三次握手与四次挥手
    目录......
  • 【JavaEE初阶】IP协议
    目录......
  • 基于Java的C语言课程教学实践小程序的设计与实现(论文+源码)_kaic
    基于Java的C语言课程教学实践小程序的设计与实现摘 要在当前信息技术迅猛发展的大背景下,为了学生更好地利用信息技术学习C语言,急需开发一款C语言课程教学实践小程序。‎这个小程序可以让学生不再局限于课堂学习‎的教学模式,而是能够随时随地,不受时间、地点限制去学习‎。平......
  • 讲讲Java的序列化反序列化?
    序列化:把对象转换为字节序列的过程称为对象的序列化.反序列化:把字节序列恢复为对象的过程称为对象的反序列化.什么时候会用到当只在本地JVM里运行下Java实例,这个时候是不需要什么序列化和反序列化的,但当出现以下场景时,就需要序列化和反序列化了:当需要将内存中的对象持......
  • 学习笔记 韩顺平 零基础30天学会Java(2024.8.24)
    P532Map接口特点2P533Map接口方法P534Map六大遍历方式     方法一:通过KeySet(),取出所有的Key,把取出的Key放到Set中,再通过Key取出对应的Value                 到这里又有两种方式遍历Set:迭代器、增强for     方法二:通过values(),取出......
  • 讲讲Java的序列化反序列化?
    序列化:把对象转换为字节序列的过程称为对象的序列化.反序列化:把字节序列恢复为对象的过程称为对象的反序列化.什么时候会用到当只在本地JVM里运行下Java实例,这个时候是不需要什么序列化和反序列化的,但当出现以下场景时,就需要序列化和反序列化了:当需要将内存中的对象......
  • 学习笔记 韩顺平 零基础30天学会Java(2024.8.20)
    P522HashSet源码解读1P523HashSet源码解读2     开发技巧:在需要辅助变量或局部变量的时候再创建P524HashSet源码解读3     当单链表超过8个,但是还可以扩容的时候,将会把整条链表放到扩容后的最后应该位置上(由老师讲解的16到32引起的思考)P525HashSet源......
  • [Java基础]虚拟线程
    虚拟线程(VirtualThread)是JDK而不是OS实现的轻量级线程(LightweightProcess,LWP),由JVM调度。许多虚拟线程共享同一个操作系统线程,虚拟线程的数量可以远大于操作系统线程的数量。虚拟线程和平台线程有什么关系?在引入虚拟线程之前,java.lang.Thread包已经支持所谓的平台线程(P......