Java数据类型的全面剖析

目录
  • 一、int
  • 二、long
  • 三、double
  • 四、float
  • 五、char
  • 六、byte与short

一、int

还记得 C 语言里的 int 吗,C里面的 int 有着无符号与有符号之分

但是Java内就没有,且固定占4个字节大小,也就是32比特位

因为没有符号之分,所以第一位默认是符号位

所以剩下的31位来存二进制数据

一个int所能表示范围就是 -2^31 -> 2^31-1

在java内,我们可以看到每个基本类型的范围:

System.out.println(Integer.MAX_VALUE);//最大值
System.out.println(Integer.MIN_VALUE);//最小值

但是仅有21亿怎么能满足呢😎,我们需要用long来体现。

二、long

Java中 long 与 C语言 的区别在以下几点:
Java中 long 占 8字节,C占 4字节

在Java中定义long类型时,要在数字后加上L

long n = 10L;

小写的L也行,但为了与1区别开来,更加醒目。

8个字节也就是64比特位,第一位符号位,范围也就来到了惊人的-2^63 -> 2^63-1

同样我们也可以来看看 long 的范围:

System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);

这个值我觉得可以满足我们的使用了,但是小数问题呢?

三、double

来道易错题:

int m = 1;
int n = 2;
System.out.println(m / n);

此结果为0,因为万恶的 1.0 与 1 在编程的世界里是不一样的。

那我这样写呢?

int m = 1.0;
int n = 2.0;
System.out.println(m / n);

这样子系统会认为1.0是8字节的double,不能存入仅有4字节的int内,于是直接报错。

正确写法:

double m = 1.0;
double n = 2.0;
System.out.println(m / n);

让我们再看个代码:

double n = 1.2;
System.out.println(n * n);

为什么在末尾会有个神奇的 '2' ?

因为 double 在内存中的存储方式遵从IEEE754标准,与整数不同,存在误差。

四、float

Java中的 float 的注意点主要有两个:

1. 在定义float类型变量时,同 long 类型一样,要在数字末尾加上 f 或 F, 与 double 来区分。

float n = 1.1f;

2. float 作为单精度浮点数,只能保留小数点后六位的数,精度较小。

五、char

在 Java 中,char 与 C的区别就很大:

1. 由于Java支持Unicode编码,所以Java的char你甚至可以表示中文

char q = '哈';
System.out.println(q);

2. 因为能表示中文,所以char类型占了2个字节 (这也是最大的区别,要注意)

也就意味着 char 的范围也扩大了。

六、byte与short

这两个都是表示整数,仅是范围不同而已。

byte 只占一个字节,所以范围仅有 -127 ~ 128

short 占两个字节,所以范围扩大为 -32768 -> 32767

虽然他们很小,但是省内存。看需求使用,选自己合适的最好。

未完待续。。。

到此这篇关于Java数据类型的全面剖析的文章就介绍到这了,更多相关Java 数据类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java基础之详解基本数据类型的使用

    一.整型 主要扩展一下不同进制的整型 二进制.八进制.十进制.十六进制 * 二进制 : 0B(数字零+B) 0b(数字零+b) * 八进制 :0(数字零开头) * 十进制 :正常写就是十进制 * 十六进制 : 0X (数字零+X)0x (数字零+x) A-F 代表 10-15 1.1 测试代码 /** * 进制 : * 二进制 : 0B(数字零+B) 0b(数字零+b) * 八进制 :0(数字零开头) * 十进制 :正常写就是十进制 * 十六进制 : 0X (数字零+X)0x (数字零+x) *

  • 一篇文章带你入门Java数据类型

    目录 引言 两个基本概念 说明 数据类型分类 基本数据类型 引用数据类型 两者的区别 总结 引言 ♀ 小AD:明哥,昨天气死我了,明哥要帮我出气. ♂ 明世隐:咋了,有谁惹到你了. ♀ 小AD:昨天辅助喷我小鲁班菜,我反手就对喷,然后竟然丢脸了! ♂ 明世隐:这个我是不信的,论喷的功力,你貌似不在明哥之下,没那么容易就败北的. ♀ 小AD:明明就丢脸了吗 ♂ 明世隐:你这一喷20年的功力,这些小学生顶得住? ♀ 小AD:哼..那我不说了! ♂ 明世隐:好了好了,说说看. ♀ 小AD:是小学生喷不

  • 一篇文章带你了解JavaSE的数据类型

    目录 前言 Java类型汇总 整型变量-int\长整型变量-long\短整形变量-short 浮点型变量-double\float 字符类型变量-char 字节类型变-byte 布尔类型变量-boolean 字符串类型变量-String 字符串拼接 字符串转义 变量的作用域 变量的命名规则 常量 字面值常量 final 关键字修饰的常量 类型转换 int 和 long/double 相互赋值 int 和 boolean 相互赋值 示例: 数值提升 int 和 long 混合运算 byte 和 b

  • 全面剖析java 数据类型与运算符

    目录 java的变量和类型 基本数据类型--数值型 整型 浮点型 字符型 布尔型 运算符 运算符:| 运算符:& 运算符:^ 运算符:~ 运算符:>> 运算符:<< 运算符:>>> java的数据类型与运算符 java的变量和类型 变量指的是程序运行是可变的量,其需要开辟内存空间用于储存一些数据 而类型是对变量的种类进行划分,不同的类型有不同的属性 基本数据类型--数值型 整型 byte byte 变量名=初始值 byte类型表示一个整形不过只占1个字节:

  • 深入了解JAVA数据类型与运算符

    目录 前言 变量与类型 变量的分类 按声明的位置来分类: 按数据类型划分: 变量的命名规则 硬性指标: 软性指标: Java类型汇总: 运算符 总结 前言 Java的数据类型与运算符很多与C语言大致相同,但是也存在很多的差别,学习时注意区分. 变量与类型 变量:指的是程序运行时可变的量,相当与开辟了一块内存空间来保存一些数据. 类型:指的是对变量的种类进行划分,不同的类型的变量具有不同的特性. 变量的分类 按声明的位置来分类: a.成员变量:声明在方法之外的变量,不过没有 static 修饰.可

  • Java数据类型的全面剖析

    目录 一.int 二.long 三.double 四.float 五.char 六.byte与short 一.int 还记得 C 语言里的 int 吗,C里面的 int 有着无符号与有符号之分 但是Java内就没有,且固定占4个字节大小,也就是32比特位 因为没有符号之分,所以第一位默认是符号位 所以剩下的31位来存二进制数据 一个int所能表示范围就是 -2^31 -> 2^31-1 在java内,我们可以看到每个基本类型的范围: System.out.println(Integer.MAX_

  • java 数据类型有哪些取值范围多少

    java 数据类型: 在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型).基本数据类型不是对象,不能调用toString().hashCode().getClass().equals()等方法. 8种基本数据类型-----8种包装类型  整型: byte Byte [-128,127] 1个字节([-2的7次方,2的7次方-1]) 一个字节有8位 short Short [-32768,32767] 2个字节([-2的15次方,2的15次方-1]) 2*8-1 i

  • java数据类型与二进制详细介绍

    java数据类型与二进制详细介绍 在java中 Int 类型的变量占 4个字节 Long 类型的变量占8个字节 一个程序就是一个世界,变量是这个程序的基本单位. Java基本数据类型 1.        整数类型 2.        小数(浮点数)类型 3.        布尔类型 4.        字符类型 整数类型 整数类型可以表示一个整数,常用的整数类型有:byte,short,int,long Byte  一个字节  -128到127 注:0有两个表示0000 0000正零  1000

  • Java数据类型与MySql数据类型对照表

    本文讲述了Java数据类型与MySql数据类型对照表.分享给大家供大家参考,具体如下: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 BLOB L+N BLOB java.lang.byte[] -4 TEXT 65535 VARCHAR java.lang.String -1 INTEGER 4 INTEGER UNSIGNE

  • MongoDB支持的java数据类型和测试例子

    mongodb的java数据类型有: Object Ids 自动IDRegular Expressions 正则表达式搜索记录Dates/Times 时间Database References 数据基础结构Binary Data 二进制流Timestamp Data 时间标记戳Code Data 代码数据Embedded Documents 嵌入式文档Arrays 数组类型 详细参考原来英文 http://docs.mongodb.org/ecosystem/drivers/java-types

  • Java 数据类型及类型转换的互相转换实例代码

    一.基本数据类型 java的数据类型可以分为两大类:基本类型和复合类型. 基本类型:整型(int,short,long,byte).浮点型(float,double).布尔型(boolean).和字符型(char) 复合类型:数组,类,接口 1.整型 各种整型数据所占空间及数的范围 数据类型 所占内存空间/位 数的范围 byte 8 -128~127 short 16 -32768~32767 int 32 -2^31~2^31-1 long 64 -2^63~2^63-1 整型以补码的形式存放

  • java数据类型和运算符的深入讲解

    一.整型变量 1.基本格式 int 变量名 = 初始值; 代码示例: public class CSDN { public static void main(String[] args) { int a=10; System.out.println(a); } } 2.java中的int是4个字节. 3.java中int的最大值和最小值 如果数大于0,则最高位为0,如果数小于0,则最高位为1.在判断数值范围时,不用考虑负数采用补码形式存储,因为补码和原码是一一对应的.当最高位是1,即为负数,后面

  • Java数据类型之细讲char类型与编码关系

    一.开头 Java是一种强类型的语言,这意味着必须为每一个变量声明一种类型 Java中一共有8种基本数据类型(整形有4种,浮点型有2种,字符型1种,还有一种布尔类型) 由于Java程序必须保证在所有机器上都能得到相同的运行结果,所以各种数据类型的取值范围必须是固定的 二.整形 整形共有4种 byte:一个字节 short:2个字节 int:4个字节(刚好超过二十亿) long int:8个字节 这里要注意的一些地方是 长整形数值有一个后缀L或者l 十六进制数值有一个前缀0x或者0X 八进制有一个

  • Java数据类型分类与基本数据类型转换

    目录 1.数据类型的分类 2.基本数据类型转换 (1)自动类型转换 (2)强制类型转换 1.数据类型的分类 Java的数据类型主要分为两类:基本数据类型.引用数据类型 Java中的字符串String属于引用数据类型.因为String是一个类 他们的默认值和字节大小如下: byte类型的取值范围为-128~127,因为1个字节=8位,则一个字节的区间为:[-128,127] 计算机储存有符号的整数时,是用该整数的补码进行存储的. 注意事项: Java中的整型常量默认是int类型,声明long类型常

随机推荐