首先java属于强类型语言,要求变量的使用要严格遵守规范,所有变量都必须先定义后才能使用。

Java的数据类型分为以下两种:

1 基础数据类型(primtive type) 和 2 引用数据类型(reference type)

今天只讲基础数据类型,然后基础类型里面还可以细分一下,分为:

数值类型:

  1. 整数类型

    • byte 占1个字节范围 (-128 127)
    • short 占2个字节范围(-32768 32767)
    • int 占4个字节范围(-2147483648 2147483647)(最为常用
    • long 占8个字节范围(-9223372036854775808 -9223372036854775807)
  2. 浮点类型(我们数学说叫做小数,当在java里面叫做浮点)
    • float 占4个字节范围
    • double 占8个字节范围
  3. 字符类型(其实在java里面,字符本质上也是一个数字。)
    • char 占2个字节范围

boolean类型:占1个位 只有true和false两个。


一个字节(btye)等于八个位(bit),位是计算机内部数据存储的最小单位。

  1. public class text {
  2. public static void main(String[] args) {
  3. //byte的存储范围在-128到127之间,下面我演示一下byte两种赋值。其余的short,int,long,float,double就依次类推
  4. //这个赋值正确,不会报错,因为10在-128到127之间
  5. byte num=10;
  6. //这个就会报错,因为赋的值已经超出byte的储存范围。
  7. byte num2=128;
  8. /*
  9. 下面是几个注意点!!!
  10. 在使用long类型和flaot类型的时候,都需要,给变量值后面加个后缀。例如:
  11. */
  12. int numa=10;
  13. long numb=10L;
  14. float numc=10.4F;
  15. double numd=10.5;
  16. //注意--->后缀的这个英文能小写,但是还是写成大写,养成良好的编码规范!
  17. /*
  18. 然后现在讲一下字符型 char占两个字节,一个英文单词和一个汉字就带表一个字节。
  19. 并且注意的是,变量值是用单引号'',而不是双引号""。
  20. */
  21. char a='a';
  22. char b='涛';
  23. /*
  24. 最后就是boolean型 它只有两个值,便是true,false。中文意思就代表真和假
  25. */
  26. boolean a1=true;
  27. boolean a2=false;
  28. }
  29. }

数据类型转化

数据类型转化可以分为:

  1. 强制转换(不推荐

  2. 自然转换

    • 强制转换什么意思呢,也就是说存储大的类型,转换为存储小的类型。例如:

      1. public static void main(String[] args) {
      2. int a=130;
      3. byte b= (byte) a;
      4. System.out.println(b);
      5. //输出结果b:-126
      6. }

      可以通过看到,a明明是130,按照逻辑来讲,b应该也是130,但输出结果是-126,这就是内存溢出导致数据错乱的一个问题,本来byte的存储空间应该在-128 到 127 之间,但是a的值130,已经大于它的存储范围,所以产生了内存溢出的错误。这也就是我们所说的强制转换。通俗一点理解就可以为,由高到低,由大到小,转换。

    • 自然转化就是反过来,存储小的类型,转换为存储大的类型。例如:

      1. public static void main(String[] args) {
      2. int a=10;
      3. float b=a;
      4. System.out.println(b);
      5. // 输出结果 b:10.0
      6. }

      首先看到上面的代码,一些同学可能会感到疑惑,不是存储小的类型,转换为存储大的类型,int的范围是4个字节,float的范围也是4个字节呀,对,在java里面虽然int和float存储范围一样大,但是float还是比它大的。所以可以这样转,而且结果的是10.0,是不是由一个整数,变成一个浮点数了。这就叫做自然转化。

Java的基本数据类型和数据类型转换的更多相关文章

  1. 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念

    018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...

  2. 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例

    019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...

  3. (6)java基础知识-基本数据类型、数据类型转换

    一.基本数据类型 基本的数据类型一共有四类八种 1.整型 byte:  1字节 取值范围 -128~127 short: 2字节    取值范围 -32768~32767 int:     4字节 取 ...

  4. Python基础之模块、数据类型及数据类型转换

    一.模块 1.标准库 不需要安装,直接调入使用的模块. import sys模块: import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印 ...

  5. python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  6. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  7. 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式

    今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...

  8. Objective-C数据类型、数据类型转换

    数据类型 1.Objective-C数据类型可以分为:基本数据类型.对象数据类型和id类型. 2.基本数据类型有:int.float.double和char类型. 3.对象类型就是类或协议所声明的指针 ...

  9. Java 读书笔记 (五) 目标数据类型转换

    数据类型转换必须满足如下规则: 不能对boolean类型进行类型转换 不能把对象类型转换成不相关类的对象  //那不同类的对象可以用同一个名字命名吗?根据作用域原则,可以吧? 把容量大的转换为容量小的 ...

随机推荐

  1. mybatis关系表

    <select id="selectSingleQuestion" resultType="remarkPaper"> select FrontTi ...

  2. HTML 网页开发、CSS 基础语法——三. HTML概念

    1.纯文本格式 纯文本格式,就是没有任何文本修饰的,没有任何粗体,下划线,斜体,图形,符号,或者特殊字符,及特殊打印格式的文本,只保存文本,不保存其格式设置. ①格式对比 纯文本格式 富文本格式 最常 ...

  3. bzoj3729-Gty的游戏【Splay,博弈论】

    正题 题目链接:https://darkbzoj.tk/problem/3729 题目大意 给出\(n\)个点的一棵树,第\(i\)个节点上有\(a_i\)个石子,然后每次可以选择不超过\(L\)个石 ...

  4. P4201-[NOI2008]设计路线【结论,树形dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P4201 题目大意 给出\(n\)个点的一棵树开始所有边都是白色,选出若干条没有公共点的路径将上面所有边变为黑色. ...

  5. YbtOJ#732-斐波那契【特征方程,LCT】

    正题 题目链接:http://www.ybtoj.com.cn/contest/125/problem/2 题目大意 给出\(n\)个点的一棵树,以\(1\)为根,每个点有点权\(a_i\).要求支持 ...

  6. CentOS7 Docker容器无法ping通宿主机ip问题解决记录

    Docker服务部署启动容器发现docker容器内访问宿主机IP不通,于是进入容器内ping宿主机IP,发现无法ping通,容器IP为172.17.0.2,于是继续ping172.17.0.1也不通, ...

  7. oracle dg failover灾难切换

    oracle dg failover灾难切换SQL> alter database recover managed standby database finish force;SQL> a ...

  8. Go语言核心36讲(Go语言基础知识一)--学习笔记

    01 | 工作区和GOPATH 从 Go 1.5 版本的自举(即用 Go 语言编写程序来实现 Go 语言自身),到 Go 1.7 版本的极速 GC(也称垃圾回收器),再到 2018 年 2 月发布的 ...

  9. 树上DFS序在换根时的变化规律

    其中\(12324215\)为循环链表,可用双倍空间存(如图)

  10. 阿里云服务器上在docker部署jenkins

    1.查询jenkins:docker search jenkins 2.拉取jenkins镜像 docker pull jenkins/jenkins:lts 3.新建jenkins的工作目录: mk ...