变量是什么?

变量是用来为不同数据类型在内存中分配的空间用来储存该数据。

不同于python这样的弱类型语言,变量声明不需要定义数据类型,就和写数学方程式一般,谁等于谁即可。而Java这个发展了多个版本的语言,从1.0开始就在java.lang这个包里面明确定义了八种基本数据类型,直到Java15依然不曾改变。可见,基本数据类型的了解对于变量的使用而言是多么必要!

基本数据类型:数字类型

 

说到数字类型,就不得不提java.lang下面的Number类。那么现在来演示一下Double\Float\Integer\Long\Short,让大家了解一下Java中怎么定义这些数字类型,值得注意的是Java区分大小写,Double不等于double。大写对应的是类名,小写的是数字类型的声明。值得注意的是:Integer类的数字类型为int。

 

下面我们来按照如下输出:

可以发现变量是可以重复赋值的,而且一旦声明了变量,就代表分配了在内存上给它分配了空间,同时默认了一个0值。而Python里面则不行,变量必须给一个初始值。

从上图不难看出,int、long、short都属于整数类型,double和float都属于浮点数类型,Double、Float、Integer、Long、Short从它们的字面意思都很容易和数关联,而byte竟然也属于Number类,这是为什么呢?因为在Java中byte也是用二进制数的形式来表示。所以我们发现byte的初始值也是一个整数。

基本数据类型:布尔类型

 

Boolean作为真假的判断,布尔类型,有点编程知识的朋友都听说过。而Java15里面的布尔类型则是基本数据类型之一,对应具有一个false值和一个true值。同样的,如果我们声明布尔类型的数据类型,我们不能用大写,而是小写boolean。

boolean默认的值是false,大家可以在jshell里面定义一个boolean 类型的变量试试。

基本数据类型:字符类型

Character类型,非常好理解。正如它的名字一般,就是字符类型。我们平时的大部分输入都是这种类型。Java里,字符类型是遵循Unicode字符集的。

我们声明一个字符变量,使用char,默认值是'\000',和Python一样用引号作为字符串的标识。

大家一定很好奇,Java这种强类型语言,如果赋值不属于对应的类型,会不会报错呢?这里实测一下:

所以,我们尽量不要踩雷,老老实实的使用对应的数据类型来定义不同类型的数据。

Java15变量竟然没什么区别,八大基本数据类型你知道吗?的更多相关文章

  1. linux系统中关于shell变量$*与$@的区别

    在我们初学linux系统shell时,可能会感觉$@与$*没什么区别,如下面shell脚本: #!/bin/bash# name:a.sh # echo 'this script $* is: '$* ...

  2. Java的八大基本数据类型

    Java的八大基本数据类型 前言 Bit是计算机存储数据的基本单元,bit叫做位,也被称作比特位. Byte意为字节,1Byte=1字节,一字节可以存储八个二进制位的数字, 即为1Byte=8bit. ...

  3. java 变量的定义 类型转换 基本的数据类型

    package com.aaa.zxf.ajax.test; import org.junit.Test; /** * 六. * 如何在ideal的maven项目中导入 Test 测试类? * * * ...

  4. 事实证明,abstract类除了不能用new实例化和类没什么区别

    abstract类是抽象类,不能够实例化,大家都知道,abstract类往往和接口interface一块儿使用,针对接口中一些公共的方法进行实现,然后实体类去继承抽象类和接口.虽然abstract类不 ...

  5. sqlserver中表变量和变量表之间区别

    sqlserver中表变量和变量表之间区别

  6. java中八大基本数据类型详解

    1.基本数据类型的分类 java中的类型分为基本数据类型和引用类型,今天我们讨论的是java中的八大基本数据类型. 基本数据类型可以分为三类:1.数值类型.2.字符类型.3.布尔类型. 数值类型又分为 ...

  7. Java——静态变量/方法与实例变量/方法的区别

    静态只能调用静态 非静态: 对象名.方法名 package ti; //通过两个类 StaticDemo.LX4_1 说明静态变量/方法与实例变量/方法的区别. class StaticDemo { ...

  8. JAVA中局部变量 和 成员变量有哪些区别

    JAVA中局部变量 和 成员变量有哪些区别 1.定义的位置不一样<重点>***局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中 2.作用范围不一样<重点>***局部 ...

  9. c# 事实证明,abstract类除了不能用new实例化和类没什么区别

    abstract类是抽象类,不能够实例化,大家都知道,abstract类往往和接口interface一块儿使用,针对接口中一些公共的方法进行实现,然后实体类去继承抽象类和接口.虽然abstract类不 ...

随机推荐

  1. 【Linux】使用 iperf 测试 Linux 服务器带宽

    iperf 简介 iperf 是一个用于测试网络带宽的命令行工具,可以测试服务器的网络吞吐量.目前发现两个很实用的功能: 测试服务器网络吞吐量:如果我们需要知道某台服务器的「最大」网络带宽,那么最好在 ...

  2. 【Linux】sudo配置文件讲解

    一.sudo执行命令的流程 将当前用户切换到超级用户下,或切换到指定的用户下, 然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户. 具体工作过程如下: 当用户执行sudo ...

  3. 【Oracle】更改oracle中的用户名称

    修改oracle中的用户名,要需要修改oracle基表中的相关内容, 1.查看user#, select user#,name from user$ s where s.name='用户修改前的'; ...

  4. 【Oracle】查看哪些用户被授予了DBA权限

    查看哪些用户被授予了DBA权限 select * from dba_role_privs where granted_role='DBA'; 回收权限: revoke dba from xxx;

  5. kubernetes 核心技术-Controller 控制器

    一.什么是Controller? Controller是在集群上管理和运行容器的对象,Controller是实际存在的,Pod是抽象的,主要创建管理pod 二.Pod和Controller的关系 Po ...

  6. Java集合List-差集、并集、交集

    Java集合List的差集.并集.交集 转载于:https://www.cnblogs.com/qlqwjy/p/9812919.html 一.List的差集 @Test public void te ...

  7. 白日梦的Elasticsearch实战笔记,ES账号免费借用、32个查询案例、15个聚合案例、7个查询优化技巧。

    目录 一.导读 二.福利:账号借用 三._search api 搜索api 3.1.什么是query string search? 3.2.什么是query dsl? 3.3.干货!32个查询案例! ...

  8. 导出exe的经验

    安装pyinstaller 首先要找到scripts的绝对路径(主要是找到scripts就行了 先是安装C:\Users\96290\AppData\Local\Programs\Python\Pyt ...

  9. Spring 是如何解决循环依赖的?

    前言 相信很多小伙伴在工作中都会遇到循环依赖,不过大多数它是这样显示的: 还会提示这么一句: Requested bean is currently in creation: Is there an ...

  10. Linux中LPC、RPC、IPC的区别

    其实这玩意儿就是纸老虎,将英文缩写翻译为中文就明白一半了. IPC:(Inter Process Communication )跨进程通信 这个概念泛指进程之间任何形式的通信行为,是个可以拿来到处套的 ...