欢迎分享本文,转载请保留出处。

java的数据类型可以分为基本数据类型和引用数据类型,其中基本数据类型包括:字节型,字符型,短整型,整型,长整型,单精度型,双精度型和布尔型

引用类型又可以划分为 类,接口和数组。

java基本数据类型

1.数值类型

如下所示为java数值类型的数据范围

java数值型取值范围

当我们使用的数据不带有小数或分数时,即可以声明为整数变量,如:3,-147等

即为整数。java中,整数类型可以分为long,int,short,byte四种,long为64位,也就是8个字节(bytes),可表示范围 -9223372036854775808到9223372036854775808;int为32位,即4个字节,表示范围为 -2147483648 到 2147483647;若是数据值的范围在 -32768 到32767之间时,可以声明为short(短整型)类型;若是数据值更小,在-128到127之间时,可以声明为byte类型以节省内存空间。

当数据过长时?

public class DataDemo01{

public static main(String args[]){

int num = 9999999999999999 ; //数据超过取值范围

}

}

此时会出现数据溢出,那什么是数据溢出??

当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整数变量所输出的值将发生紊乱,且不会有预期的运行结果。

例如:

public class DataDemo02{

public static main(String args[]){

int max = Integer.MAX_VALUE; // 得到整型的最大值

System.out.println("整型的最大值:" + max) ; // 将最大值输出

System.out.println("整型最大值 + 1 :" + (max + 1)) ; // 最大值加1

// 最大值加2

System.out.println("整型最大值 + 2 :" + (max + 2)) ;

}

}

内存中的数据变化为:

此时会发生数据溢出,那怎么解决??

使用强制数据类型转换,防止溢出:

public class DataDemo03{

public static main(String args[]){

int max = Integer.MAX_VALUE; // 得到整型的最大值

System.out.println("整型的最大值:" + max) ; // 将最大值输出

System.out.println("整型最大值 + 1 :" + (max + 1)) ;

System.out.println("整型最大值 + 2 :" + (max + 2L)) ; // 最大值加2,转为long型

System.out.println("整型最大值 + 2 :" + ((long)max + 2L)) ; // 强制转为long型

}}

2.字符类型

字符类型在内存中占有2个字节,可以用来保存英文字母等字符。计算机处理字符类型时,是把这些字符当成不同的整数来看待,因此,严格说来,字符类型也算是整数类型的一种。

测试一下,字符和整型之间的相互转换:

public static main(String args[]){

char ch1 = 'a'; // 定义字符

char ch2 = 97; // 定义字符,整型转字符

System.out.println("ch1 = " + ch1); //打印输出

System.out.println("ch2 = " + ch2); //打印输出

}

此时我们可以发现两个结果是相同的,但是当数值型超过255时,则不能进行转化,具体请参考计算机的ascll码。

常见的转义字符:

java常见转义字符

3.浮点数类型与双精度浮点数类型(单精度和双精度)

在日常生活中经常会使用到小数类型的数值,如身高、体重等需要精确的数值时,整数就不能满足程序设计者的需求,在java中,这种数据类型称之为浮点数类型(float),其长度为32位(4字节),其数值范围为-3.4E38~3.4E38,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用“E”或“e”表示。还有一种是双精度浮点数(double),使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:-1.79E+308 ~ +1.79E+308

浮点型数据计算示例:

public class DataDemo06{

public static main(String args[]){

float num = 3.0f; // 定义float型变量

System.out.println("两个小数相乘:" + num * num); //计算两数相乘

}

}

4.布尔型

Boolean Variable (布尔变量)是具有两种逻辑状态的变量。它包含两个值:true和false。如果在表达式中使用布尔变量,则基于变量值的真值给出1或0的整数值。若要将整变量转换为布尔变量,如果整数值为0,则布尔值错误;否则,如果整数值不是0,则布尔值为真。布尔变量通常在运行时用作标记,例如用于更改程序流的逻辑测试。

布尔型的常用示例:

public class DataDemo07{

public static main(String args[]){

boolean flag = true;

//定义布尔型变量

System.out.println("flag = " + flag); //输出

}

}

5.数据类型的转换

Java的数据类型在定义时就已经确定了,因此不能随意转换成其他的数据类型,但Java允许用户有限度地做类型转换处理。数据类型的转换方式可以分为“自动类型转换”及“强制类型转换”两种。

在程序中已经定义好了数据类型的变量,若是想用另一种数据类型表示时,Java会在以下条件皆成立时,做东做数据类型的转换:

(1)转换前的数据类型与转换后的类型兼容

(2)转换后的数据类型的表示范围比转换前的类型大

示例:

public class DataDemo10{

public static main(String args[]){

float f =30.3f ; //定义浮点型变量

int x = (int)f; //强制转换为int型

System.out.println("x = " + x);//输出转型之后的值

System.out.println("10 / 3 = " + ((float)10 / 3));

}

}

java基础入门数据类型,JAVA基础教程:JAVA的基本数据类型及介绍相关推荐

  1. keyshot7工业产品零基础入门到精通自学教程视频全套设计课程

    keyshot7工业产品零基础入门到精通自学教程视频全套设计课程9205 课程内容-玛丽圈资源网 --/A21 keyshot7工业产品零基础入门到精通自学教程视频全套设计课程/ ├──素材 | └─ ...

  2. 尚观python培训_尚观Python基础入门学习,资源教程下载

    课程名称 尚观Python基础入门学习,资源教程下载 课程介绍 Python开发是目前很多朋友选择学习的一门技术,在大家学习的同时,楼主在这里给大家分享了一个运维python视频教程,需要的朋友可以下 ...

  3. 【尚硅谷】Web前端零基础入门HTML5+CSS3基础教程

    [尚硅谷]Web前端零基础入门HTML5+CSS3基础教程 学习视频来源:哔哩哔哩弹幕网(https://www.bilibili.com/video/BV1XJ411X7Ud?spm_id_from ...

  4. Midjourney|文心一格prompt教程[基础篇]:注册使用教程、风格设置、参数介绍、隐私模式等

    Midjourney|文心一格prompt教程[基础篇]:注册使用教程.风格设置.参数介绍.隐私模式等 开头讲一下为什么选择Midjourney和文心一格,首先Midjourney功能效果好不多阐述: ...

  5. AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍

    AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍 深度学习框架 深度学习框架优势 深度学习框架设计思路 飞桨开源深度学习平台 飞桨开源深度学习平台全景 框架和全流程工具 模 ...

  6. WIFI基础入门--802.11--MAC基础--2

    WIFI基础入门--802.11--MAC基础--2 1.故障排查工具 2.优化无线网络 3.关键点 4.面临挑战 4.1 射频链路质量 5.隐藏节点 6.访问模式与时机 6.1 DCF(分布式协调功 ...

  7. 2022年最新最全的Java零基础入门,零基础入门springboot,MySQL的学习

    今天就来开始带领大家零基础入门Java开发 写在前面 为什么学习Java Java用途很广泛,如下图所示,Java可以做很多工作 JAVA语言发展史 2019年3月,JDK12版本发布. 2019年9 ...

  8. JAVA中整型常量的长度,Java基础入门篇(三)——Java常量、变量,

    Java基础入门篇(三)--Java常量.变量, 一.Java常量 (一)什么是常量 常量指的是在程序中固定不变的值,是不能改变的数据.在Java中,常量包括整型常量.浮点型常量.布尔常量.字符常量等 ...

  9. java基础入门课后习题_《Java基础入门》课后习题及答案

    <Java基础入门>课后习题及答案Java基础入门,课后习题,答案 博学谷--让IT教学更简单,让IT学习更有效 <Java基础入门>课后习题 第1章Java开发入门 一.填空 ...

  10. java从入门到精通----基础1

    1.碰到问题怎么办?   1)找同学.同桌   2)找项目经理   3)找讲师 2.学习Java的窍门?   1)多想   2)多练 3.小要求:   1)课堂气氛活跃一些 一.笔记: 1.JAVA开 ...

最新文章

  1. 图论 ---- F. Useful Edges(不等式移项优化预处理 + 路径和简单路径的区别 + 最短路)
  2. o oia ospf 路由优先_OSPF基本配置及OSPF特殊区域配置
  3. IDEA 快捷键MacOS
  4. c# 基于layui的通用后台管理系统_【SpringBoot】三十三、SpringBoot+LayUI后台管理系统开发脚手架...
  5. linux的mount(挂载)命令详解(转)
  6. java split 数字_java截取字符串,截串,substring和split,分割字母和数字,正则缝隙...
  7. python处理teradata数据库_Python脚本连接Teradata数据库
  8. Delphi中destroy, free, freeAndNil, release用法和区别
  9. OSG仿真案例(4)——创建烟雾粒子效果
  10. 快速乘 (牛客 电音之王)
  11. 20张Python高清数据分析全知识地图,数据分析发展路线
  12. 定时语音提醒软件实现
  13. GAE+bottle+jinja2+beaker快速开发demo - Python,GAE - language - ITeye论坛
  14. FPGA DVB-S2 FEC 信道译码 BCH译码器 LDPC译码器 解交织器 IP core
  15. 2006-09-28 墨子的双眼皮
  16. Altium Designer——PCB中更改线宽的技巧总结
  17. 绝对收敛级数重排定理的证明
  18. cf各区服务器所在位置,为什么说“黑区”是CF第一服务器
  19. w7计算机配置在哪里打开,win7的运行在哪里打开 win7打开运行的方法【图文】
  20. Java中的 分号 ;

热门文章

  1. 『常识』如何防止静电?
  2. 在Visual C++中用ADO进行数据库编程(下)
  3. 编程技术越来越被看中 编程到底是什么?
  4. 经典面试题(12):关于事件循环,以下代码将输出什么?
  5. 使用ComplexHeatmap绘制3D热图
  6. 三大高通量测序平台芯片通量对比图(请把手机横过来看))
  7. 【NGS接龙】薛宇:漫谈生物信息圈儿的那些年、那些事!
  8. ​易生信-宏基因组2020 积微学术论坛:基于大数据整合准确预测土壤的枯萎病发生...
  9. Nature子刊:中科院动物所合作揭示灵长类血管衰老的驱动力
  10. es6 filter函数的用法_Python 函数式编程指北,不只是面向对象哦!超级详细!