首页 > 其他分享 >数据类型、类型转换

数据类型、类型转换

时间:2022-11-12 21:01:30浏览次数:71  
标签:类型转换 字节 int float 数据类型 byte

目录

1.数据类型

八大基本数据类型

  • byte占1个字节范围:-128——127
  • short占2个字节范围:-32768——32767
  • int占4个字节范围:-232——232-1
  • long占1个字节范围:-264——264-1
  • float占4个字节
  • double占8个字节
  • char占2个字
  • boolean占1个位,其值只有true和false
long类型要在数字后面加上L/l
float类型要在数字后面加上F/f
  • 位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数;
  • 字节(byte):是计算机中数据处理的基本单位;
    1B(byte)= 8bit
  • 字符:是指计算机中使用的字母、数字、字和符号;

整数拓展

//整数拓展:二进制0b  十进制  八进制0  十六进制0x
int i1 = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x
System.out.println(i1);//10
System.out.println(i2);//8
System.out.println(i3);//16

浮点数拓展

//浮点数拓展:离散  舍入误差  丢失精度
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//false
float f1 = 2323112321312f;
float f2 = f1 + 1;
System.out.println(f1==f2);//true

字符拓展

//字符拓展:编码  Unicode表  A-Z<a-z
//U0000  UFFFF
char c1 = 'a';
System.out.println((int)c1);//97
char c2 = '中';
System.out.println((int)c2);//20013
char c3 = '\u0061';
System.out.println(c3);//a

转义字符:\t \n \r...

2.类型转换

  • 自动类型转换:容量小的类型自动转换为容量大的数据类型。
  • 强制类型转换:将容量大的数据类型转换为容量小的数据类型。(可能造成精度降低或溢出)

Java中为什么给float类型变量赋值需要加F,而给byte、short赋值的时候却不需要呢?

JVM规范中所说,并没有说byte、short、int等占多少个字节,而是真正的有效位是多少。比如byte的有效位是1个字节,也就是-128到127。使用Java编程的时候,就只能用byte表示-128到127之间的数,而真正JVM实现,一般byte还是占用和int一样大小:4个字节。
也就说在JVM看来,byte、short、int都是同一个东西。

这也就解释了为什么byte,short使用int字面量赋值的时候会不用强制转型。

byte a = 2;
short b = 3;

因为编译器在编译的只需要根据字面值2,字面值3来确定是否超过有效值即可,并不用做深入的检查,因为他们在JVM存在的类型也是一样的。

byte a = 128;//溢出

然而double和float在JVM中存储是不一样的。

System.out.println(3.2f==3.2);//false

因此在使用double给float赋值的时候,会报错的。

本文由mdnice多平台发布

标签:类型转换,字节,int,float,数据类型,byte
From: https://www.cnblogs.com/CGB1804Great/p/16884649.html

相关文章

  • mongodb基本操作命令及数据类型(一)
    从MongoDB3.2,它使用WiredTiger作为其默认的存储引擎,也可以通过以下语句查询默认的存储引擎1.mongodb入门命令showdatabases/dbs查看当前数据库(test(测试库)、admin......
  • JS数据类型判断
    数据类型判断typeofinstanceofconstructorObject.prototype.toString.call()typeoftypeof可以检测出的数据类型number、string、boolean、undefined和function。......
  • Day2-2 数据类型,数据类型拓展及类型转换
    数据类型强类型语言要求变量的使用要严格符合规定,多有变量都必须先定义后才能使用JAVA的数据类型分为两大类基本类型primitivetype引用类型referencetype......
  • Redis笔记02-数据类型
    String类型数据127.0.0.1:6379>setnamezhangsan#设置单key-valueOK127.0.0.1:6379>getname"zhangsan"127.0.0.1:6379>msetname1xiaowangname2lisiname3......
  • 9. JS的数据类型,区别
    js有2大数据类型分类: 基本数据类型:1.string字符串使用单、双引号包裹,或者使用反引号包裹2.number数字类型3.boolean布尔值truefalse ......
  • C#之强制类型转换是错误和String到int用Convert()函数解决
    strings="2222"inti=(int)s 这种写法在C#中是错误的,属于强制类型转换,没有通过第三方,直接从A到B的转换,是不受欢迎的。 通过Convert()函数进行第三方转换,属于A到C,再到......
  • 5、Redis6三大新数据类型
    1、Bitmaps1、简介现代计算机用二进制(位)作为信息的基础单位,1个字节等于8位,例如“abc”字符串是由3个字节组成,但实际在计算机存储时将其用二进制表示,“abc”分别对应的......
  • JavaScript判断数据类型的几种方式
    一、数据类型JavaScript中数据类型分为两类:基本数据类型undefined、null、string、number、boolean、Symbol引用数据类型Object(Array、Function等)二......
  • JS-Object.prototype.toString.call(value)-查看值的数据类型的通用方法
    前端开发项目中,常常会遇到判断一个变量的数据类型等操作,在JavaScript里使用typeof来判断数据类型,只能区分基本类型,即“number”,”string”,”undefined”,”boolean”,”......
  • JS基础之基本数据类型和包装数据类型
     leta=NewString();console.log(a);  //String{''}这个时候a就是包装类型==============================leta='';console.log(a);  //''这个时候就是基......