首先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),位是计算机内部数据存储的最小单位。

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

数据类型转化

数据类型转化可以分为:

  1. 强制转换(不推荐

  2. 自然转换

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

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

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

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

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

      首先看到上面的代码,一些同学可能会感到疑惑,不是存储小的类型,转换为存储大的类型,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. Centos7.6安装python3.6.8

    yum -y install bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel tk-devel ...

  2. 鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段 | 百篇博客分析OpenHarmony源码 | v71.01

    子曰:"我非生而知之者,好古,敏以求之者也." <论语>:述而篇 百篇博客系列篇.本篇为: v71.xx 鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段 ...

  3. 羽夏逆向破解日记簿——RunAsDate的实现原理分析

    前言   RunAsDate是一个小工具,允许您在指定的日期和时间运行程序,不过有人用它来破解有时间限制了.此实用程序不会更改计算机的当前系统日期和时间,但只会将指定的日期/时间注入所需的应用程序.该 ...

  4. CometOJ-[Contest #10]鱼跃龙门【exgcd】

    正题 题目链接:https://cometoj.com/problem/1479 题目大意 给出\(n\)求一个最小的\(x(x>0)\)满足 \[\left(\sum_{i=1}^xi\rig ...

  5. P2150-[NOI2015]寿司晚宴【dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P2150 题目大意 将\(2\sim n\)选出一些分成两个集合,要求这两个集合中没有一对数不是互质的.求方案数对\ ...

  6. IDEA快捷键(未使用)

    1.ctrl Ctrl + Y 删除光标所在行 或 删除选中的行 Ctrl + W 递进式选择代码块.可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围 Ctrl + E 显示最近打 ...

  7. Unittest 框架之断言,你学会了吗??

    unittest断言 Python在 unittest.TestCase 类中提供了很多断言方法.断言方法检查你认为应该满足的条件是否确实满足.如果该条件确实满足,你对程序行为的假设就得到了确认,你就 ...

  8. 深入浅出WPF-08.Event( 事件)01

    事件(Event) 首先我们来继续说一下UI组件树,因为WPF事件 的路由环境就是组件树.WPF中的树有两种,一种是逻辑树(Logical Tree),一种是可视元素树(Visual Tree).逻辑 ...

  9. Tracking Analyst Tools(Tracking Analyst 工具)

    Tracking Analyst 工具 # Process: 创建追踪图层 arcpy.MakeTrackingLayer_ta("", 输出图层, "NO_TIME_Z ...

  10. FastAPI 学习之路(十一)请求体 - 嵌套模型

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...