• Java基本数据类型和变量


    目录

    一、基本数据类型

    1.1 整型

    1.1.1 byte

    1.1.2 short

    1.1.3  int

    1.1.4 long

    1.2 浮点型

    1.2.1 float

    1.2.2 double

    1.3 字符型

    1.4 布尔型

    二、变量

    2.1 变量的概念

    2.2 语法格式

    2.3 整型变量

    2.3.1 整型变量

    2.3.2 长整型变量

    2.3.3 短整型变量

    2.3.4 字节型变量

    2.4 浮点型变量

    2.4.1 双精度浮点数

    2.4.2 单精度浮点数

    2.5 字符型变量

    2.6 布尔型变量


            大家好!从今天开始,小编将带着大家一起进行Java语言的学习。本篇小编将带着大家认识一下数据类型,以及结合变量和大家一起深入学习数据类型。

            Java中的数据类型分为基本数据类型和引用数据类型。其中基本数据类型有四大类,共八种。引用数据类型包括字符串String、数组、类、接口等等,这些在后序学习中会慢慢讲解.

    一、基本数据类型

    基本数据类型有四大类,八种类型分别是

    第一类:整型:byte、short、int、long

    第二类:浮点型:float、double

    第三类:字符型:char

    第四类:布尔型: boolean

    1.1 整型

    Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,补码=源码取反 + 1

    1.1.1 byte

    数据类型:字节型

    内存占用:1字节(8个bit位)

    范围:-2^7~2^7-1(-128~127)

    1.1.2 short

    数据类型:短整型

    内存占用:2字节(16个bit位)

    范围:-2^15~2^15-1(-32768~32767)

    1.1.3  int

    数据类型:整型

    内存占用:4字节(32个bit位)

    范围:-2^31~2^31-1(-2,147,483,648~2,147,483,647)

    1.1.4 long

    数据类型:长整型

    内存占用:8字节(64个bit位)

    范围:-2^63~2^63-1(-9,233,372,036,854,775,808~9,233,372,036,854,775,807)

    1.2 浮点型

    ava中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准。详情可点击这里👉  深度刨析数据在内存中的存储

    1.2.1 float

    数据类型:单精度浮点数

    内存占用:4字节(32个bit位)

    范围:不关注

    默认值:0.0f

    1.2.2 double

    数据类型:双精度浮点数

    内存占用:8字节(64个bit位)

    范围:不关注

    默认值:0.0

    1.3 字符型

    char类型是一个单一的16位Unicode字符。

    数据类型:字符型

    内存占用:2字节

    范围:0 ~ 65535

    1.4 布尔型

    在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组会被编译成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit。

    数据类型:boolean

    内存占用:没有明确规定

    范围:true和false

    注意:

    不论是在 16 位系统还是 32 位系统, int 都占用 4 个字节, long 都占 8 个字节
    整形和浮点型都是带有符号的
    整型默认为int 型,浮点型默认为 double
    字符串属于引用类型,该中类型后序介绍

    二、变量

    2.1 变量的概念

    在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的 计算结果等,对于这些经常改变的内容,在 Java 程序中,称为变量 而数据类型就是用来定义不同种类变量的

    2.2 语法格式

    定义变量的语法格式为:

    数据类型 变量名 = 初始值;

    比如:

    int a = 10;//定义整型变量a,a是变量名,也称为标识符,该变量放置的值为10

    double d = 3.14;

    char c = 'A';

    boolean b = true;

    //注意,可以一行定义多个相同类型的变量

    int a = 10,b=20,c =30;

    2.3 整型变量

    2.3.1 整型变量

    // 方式一:在定义时给出初始值
    int a = 10 ;
    System . Out . println ( a );
    // 方式二:在定义时没有给初始值,但使用前必须设置初值
    int b ;
    b = 10 ;
    System . Out . println ( b );
    // 使用方式二定义后,在使用前如果没有赋值,则编译期间会报错
    int c ;
    System . Out . println ( c );
    c = 100 ;
    // int 型变量所能表示的范围:
    System . Out . println ( Integer . MIN_VALUE );
    System . Out . println ( Integer . MAX_VALUE );
    // 注意:在定义 int 性变量时,所赋值不能超过 int 的范围
    int d = 12345678901234 ; // 编译时报错,初值超过了 int 的范围

    注意:

     

    ①int 不论在何种系统下都是 4 个字节
    推荐使用方式一定义,如果没有合适的初始值,可以设置为 0
    在给变量设置初始值时,值不能超过 int 的表示范围,否则会导致溢出
    变量在使用之前必须要赋初值,否则编译报错
    ⑤int 的包装类型为 Integer

      

    2.3.2 长整型变量

    int a = 10 ;
    long b = 10 ; // long 定义的长整型变量
    long c = 10L ; // 为了区分 int long 类型,一般建议: long 类型变量的初始值之后加 L 或者 l
    long d = 10l ; // 一般更加以加大写 L ,因为小写 l 1 不好区分
    // long 型变量所能表示的范围:这个数据范围远超过 int 的表示范围 . 足够绝大部分的工程场景使用 .
    System . Out . println ( Long . MIN_VALUE );
    System . Out . println ( Long . MAX_VALUE )

    注意:

    ① 长整型变量的初始值后加L或者l,推荐加L

    ② 长整型不论在那个系统下都占8个字节

    ③ long的包装类型为 Long

    2.3.3 短整型变量

    short a = 10 ;
    System . Out . println ( a );
    // short 型变量所能表示的范围:
    System . Out . println ( Short . MIN_VALUE );
    System . Out . println ( Short . MAX_VALUE );

    注意:

    ①short在任何系统下都占2个字节

    ②使用时注意不要超过范围(一般使用比较少)

    ③ short 的包装类型为 Short

    2.3.4 字节型变量

    byte b = 10 ;
    System . Out . println ( b );
    // byte 型变量所能表示的范围:
    System . Out . println ( Byte . MIN_VALUE );
    System . Out . println ( Byte . MAX_VALUE );

    注意:

    ①byte在任何系统下都占1个字节

    ② byte的范围是:-128 ~ 127

    ③  字节的包装类型为 Byte

    2.4 浮点型变量

    2.4.1 双精度浮点数

    double d = 3.14 ;
    System . Out . println ( d );

    思考下面代码会出现怎样结果:

    int a = 1 ;
    int b = 2 ;
    System . out . println ( a / b ); // 输出 0.5 吗?

    结果显然不是0.5, Java , int 除以 int 的值仍然是 int(会直接舍弃小数部分)。如果想得到 0.5, 需要使用 double 类型计算。

    double a = 1.0;

    double b = 2.0;

    System . out . println ( a / b ); // 输出 0.5
    思考下面代码会出现怎样的结果:
    double num = 1.1 ;
    System . out . println ( num * num ); // 输出 1.21 吗?
    // 执行结果
    1.2100000000000002

    注意:

    ① double在任何系统下都占8个字节

    ② 浮点数与整数在内存中的存储方式不同,不能单纯使用的形式来计算

    ③ double的包装类型为Double

    ④ double 类型的内存布局遵守 IEEE 754 标准(C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。

    2.4.2 单精度浮点数

    float num = 1.0f ; // 写作 1.0F 也可以
    System . out . println ( num );

    注意:

    float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准.。由于表示的数据精度范围较小, 一般在工程上用到浮点数都优先考虑 double, 不太推荐使用 float.,float的包装类型为Float

    2.5 字符型变量

    char c1 = 'A' ; // 大写字母
    char c2 = '1' ; // 数字字符
    System . out . println ( c1 );
    System . out . println ( c2 );
    // 注意: java 中的字符可以存放整形
    char c3 = ' ' ;
    System . out . println ( c3 );
    注意:
    ① Java 中使用 单引号 + 单个字母 的形式表示字符字面值。
    ② 计算机中的字符本质上是一个整数。   C 语言中使用 ASCII 表示字符 , Java 中使用 Unicode 表示字符 . 因此 一个字符占用两个字节, 表示的字符种类更多 , 包括中文。
    ③ char 的包装类型为 Character

    2.6 布尔型变量

    boolean b = true ;
    System . out . println ( b );
    b = false ;
    System . out . println ( b );

    注意:

    ① boolean 类型的变量只有两种取值, true 表示真, false 表示假。

    ② Java boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。

    ③ Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在Oracle公司的虚拟机实现中,boolean1个字节。

    ④ boolean 的包装类型为 Boolean。
    好啦,到这里,今天为大家分享基本数据类型以及相关变量已经分享完了。如果觉得小编写的可以的,可以给小编一键三连,和小编一起学习和进步,你的关注是对小编最大的鼓励。有什么相关的问题欢迎到评论区留言。谢谢大家!
  • 相关阅读:
    设计模式——抽象工厂模式(Abstract Factory Pattern)+ Spring相关源码
    MindSpore易点通·精讲系列–网络构建之Conv2d算子
    浅述蓝牙Mesh的配网流程
    pytorch的GPU版本(torch.cuda.is_available()返回False)
    Leetcode 313: Super Ugly Number (超级丑数)
    八行代码一键照片转漫画
    【JavaWeb】JSP基本语法、指令、九大内置对象、四大作用域
    互斥mutex与spinlock的对比
    详细解释HiveSQL执行计划
    无心剑英汉双语诗004.《静心》
  • 原文地址:https://blog.csdn.net/shixiong_/article/details/133547411