java数据类型归集,整理[通俗易懂]

java数据类型归集,整理[通俗易懂]java数据类型归集,整理

大家好,又见面了,我是你们的朋友全栈君。

原始数据类型-包括byte,short,int,long, float,double,boolean和char
type Size Range default
byte 1字节(Byte)/8位(bit) -128(-2^7) to 127(2^7-1) 0
short 2字节(Byte)/16位(bit) -32768(-2^15) to 32767(2^15 – 1) 0
int 4字节(Byte)/32位(bit) -2,147,483,648(-2^31) to 2,147,483,647(2^31 – 1) 0
long 8字节(Byte)/64位(bit) -9,223,372,036,854,775,808(-2^63) to 9,223,372,036,854,775,807(2^63 -1) 0L
float 4字节(Byte)/32位(bit) -2^128 to +2^128 0.0f
double 8字节(Byte)/64位(bit) -2^1024 to +2^1024 0.0d
boolean 1位(bit) true or false false
char 2字节(Byte)/16位(bit) \u0000(即为0) to \uffff(即为65535) ‘u0000’

float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的”E+数字”表示E之前的数字要乘以10的多少次方。比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。

非原始数据类型 – 例如字符串,数组和 类

非原始数据类型称为引用类型,因为它们引用对象。

之间的主要区别原始和非原始数据类型为:

  • 原始类型是在Java中预定义的(已定义)。非原始类型由程序员创建,不由Java定义(除外String)。
  • 非基本类型可用于调用方法以执行某些操作,而基本类型则不能。
  • 基本类型总是一个值,而非基本类型可以是null。
  • 基本类型以小写字母开头,而非基本类型以大写字母开头。
  • 基本类型的大小取决于数据类型,而非基本类型具有相同的大小。
类型自动转换

byte- > short- > char- > int- > long- > float- >double

类型自动转换示意图:(实线表示自动转换时不会造成数据丢失,虚线则可能会出现数据丢失问题。)
在这里插入图片描述

强制类型转换

double- > float- > long- > int- > char- > short- >byte

事例:

int a = 100000000;
int b = 1000;
long c = a * b;

编译没任何问题,但结果却输出的是负数
因为两个 int 相乘得到的结果是 int, 相乘的结果超出了 int 的代表范围(简称:溢出),一般把第一个数据转换成范围大的数据类型与其运算

解决事例:

int a = 100000000;
int b = 1000;
long c =long)a * b;

直接将 int 常量字面量赋值给 byte、short、char 等数据类型,而不需要强制转换,只要该常量值不超过该类型的表示范围都能自动转换

强制类型转换

double a = 9.78;
int b = (int) a;

不同数据类型的表达式中,类型会自动向范围表示大的值的数据类型提升。
事例:

long a = 100000000;
int b = 1000;
long c = a * b;
int 和 String类型转换

int -> String

int i=12345;
String s="";
第一种方法:s=i+"";    //会产生两个String对象
第二种方法:s=String.valueOf(i);  //直接使用String类的静态方法,只产生一个对象
第三种方法:String s = Integer.toString(i); 

String -> int

s="12345";
int i;
第一种方法:i=Integer.parseInt(s); 
//直接使用静态方法,不会产生多余的对象,但会抛出异常
第二种方法:i=Integer.valueOf(s).intValue(); 
//Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象

在转换过程中需要注意,因为字符串中可能会出现非数字的情况,所以在转换的时候需要捕捉处理异常

String str = "12345";

try { 
   

    int a = Integer.parseInt(str);

} catch (NumberFormatException e) { 
   

    e.printStackTrace();

}

try { 
   

    int b = Integer.valueOf(str).intValue()

} catch (NumberFormatException e) { 
   

    e.printStackTrace();

}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105812.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 腾讯创始人团队_美国it名人

    腾讯创始人团队_美国it名人http://blog.csdn.net/cyblueboy83/article/details/44037487新年一到,支付宝微信红包大战硝烟再起,阿里腾讯为抢地狂烧钱,QQ、微信朋友圈红包满天飞,着实让大家玩得不亦乐乎。社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社

    2022年8月30日
    4
  • 简易的倒计时代码_简单的网页代码

    简易的倒计时代码_简单的网页代码在一些活动项目中,大多会涉及倒计时。以下为倒计时代码,供小白参考。关键词:计时器、时间差具体代码如下:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title>倒计时代码</title> <styletype="te

    2022年4月19日
    55
  • pycharm2021.5.2激活码永久【在线注册码/序列号/破解码】

    pycharm2021.5.2激活码永久【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    59
  • 哈佛幸福课笔记上篇「建议收藏」

    哈佛幸福课笔记上篇「建议收藏」改变一生的课:哈佛幸福课笔记上篇第1课什么是积极心理学?第2课为什么要学习积极心理学?第3课幸福是一种随机现象吗?第4课积极的环境能改变人第5课环境的力量第6课乐观主义第7课逆境还是机遇?第8课感激链接:哈佛大学公开课:幸福课.《哈佛幸福课》是改变我生活最大的一项事物,没有之一。我学习了5遍幸福课,并且用过去6年的时间去尝试它践行它,感觉完全改变了我的生活。第1课什么是积极心理学?1.享受安静2.这门课不光是传授信息,而且关于如何变形。重要的不仅仅是获得了什么信息,还是何形状

    2022年7月25日
    10
  • 用java代码实现九九乘法表

    用java代码实现九九乘法表分析乘法表发现,整体有九行,第一行是一列,第二行是两列,第三行三列…..第九行对应有九列,所以它的行数对应就有多少列,这样我们可以通过借助行数来控制它的列数,以此来实现乘法表的打印。具体代码实现:for循环publicclassMultTable{ publicstaticvoidmain(String[]args){ //此处调用九九乘法表方法实现打印 multMethod(); } publicstaticvoidmultMethod(){ /

    2022年7月9日
    22
  • 小米10获取root权限_oppo A59s (全网通)一键ROOT获取ROOT权限

    小米10获取root权限_oppo A59s (全网通)一键ROOT获取ROOT权限很多小白机友问oppoA59s(全网通)如何获取ROOOT权限?oppoA59s(全网通)用什么ROOT工具比较靠谱?奇兔刷机小编给大家分享一篇oppoA59s(全网通)一键ROOT教程,简单几步,轻松搞定!具体步骤如下:  1.首先打开奇兔刷机软件,插好数据线,连接您的oppoA59s(全网通)手机,然后打开手机USB调试。  2.oppoA59s(全网…

    2025年5月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号