Java15变量竟然没什么区别,八大基本数据类型你知道吗?
变量是什么?
变量是用来为不同数据类型在内存中分配的空间用来储存该数据。
不同于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变量竟然没什么区别,八大基本数据类型你知道吗?的更多相关文章
- linux系统中关于shell变量$*与$@的区别
在我们初学linux系统shell时,可能会感觉$@与$*没什么区别,如下面shell脚本: #!/bin/bash# name:a.sh # echo 'this script $* is: '$* ...
- Java的八大基本数据类型
Java的八大基本数据类型 前言 Bit是计算机存储数据的基本单元,bit叫做位,也被称作比特位. Byte意为字节,1Byte=1字节,一字节可以存储八个二进制位的数字, 即为1Byte=8bit. ...
- java 变量的定义 类型转换 基本的数据类型
package com.aaa.zxf.ajax.test; import org.junit.Test; /** * 六. * 如何在ideal的maven项目中导入 Test 测试类? * * * ...
- 事实证明,abstract类除了不能用new实例化和类没什么区别
abstract类是抽象类,不能够实例化,大家都知道,abstract类往往和接口interface一块儿使用,针对接口中一些公共的方法进行实现,然后实体类去继承抽象类和接口.虽然abstract类不 ...
- sqlserver中表变量和变量表之间区别
sqlserver中表变量和变量表之间区别
- java中八大基本数据类型详解
1.基本数据类型的分类 java中的类型分为基本数据类型和引用类型,今天我们讨论的是java中的八大基本数据类型. 基本数据类型可以分为三类:1.数值类型.2.字符类型.3.布尔类型. 数值类型又分为 ...
- Java——静态变量/方法与实例变量/方法的区别
静态只能调用静态 非静态: 对象名.方法名 package ti; //通过两个类 StaticDemo.LX4_1 说明静态变量/方法与实例变量/方法的区别. class StaticDemo { ...
- JAVA中局部变量 和 成员变量有哪些区别
JAVA中局部变量 和 成员变量有哪些区别 1.定义的位置不一样<重点>***局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中 2.作用范围不一样<重点>***局部 ...
- c# 事实证明,abstract类除了不能用new实例化和类没什么区别
abstract类是抽象类,不能够实例化,大家都知道,abstract类往往和接口interface一块儿使用,针对接口中一些公共的方法进行实现,然后实体类去继承抽象类和接口.虽然abstract类不 ...
随机推荐
- web测试误区:浏览器后退键退出系统会话失效
通过最近测试的项目,认识到实际:浏览器后退键退出系统,会话仍旧有效.打破了之前认为浏览器后退键就会退出系统登录的认知. 一,了解Cookie和Session的作用,具体来说cookie机制采用的是在客 ...
- 发票校验BAPI_INCOMINGINVOICE_CREATE
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE' EXPORTING headerdata = headerdata ...
- LuoguP5748 集合划分计数
题意 一个有\(n\)个元素的集合,将其分为任意个非空子集,求方案数.集合之间是无序的,\(\{\{1,2\},\{3\}\}=\{\{3\},\{1,2\}\}\). 设\(f_n\)表示用\(n\ ...
- django中的几种返回模版的方式
redirect方法-----(重定向) # 首先导入redirect方法, from django.shortcuts import redirect 在函数中写一个返回值 return redir ...
- windows中使用django时报错:A server error occurred. Please contact the administrator.
这是因为在视图函数中使用了get函数,获取了不存在的数据例如:数据库中不存在一条name为hello1的数据,使用如下语句访问message = Message.objects.get(name='h ...
- Vue之事件绑定
Vue事件绑定 点击事件 @click="事件名" or v-on:click="事件名" 结构部分: <el-button type="pri ...
- MySQL调优之分区表
一.分区表的应用场景 1.为什么是用分区表? 表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均是历史数据,分区表是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理 ...
- code-server scala error: object apache is not a member of package org
原因是scala缺少包,需要把spark或对应的包放入scala目录下的lib,然后重启主机,在terminal输入reboot即可. 如果不重启主机,则在交互式编程中可以成功import.但是直接在 ...
- By default, the connection will be closed if the proxied server does not transmit any data within 60 seconds.
WebSocket proxying https://nginx.org/en/docs/http/websocket.html By default, the connection will be ...
- 获取控制台的错误信息 onerror
js 获取控制台的错误信息 https://www.bbsmax.com/A/Vx5ML2NmJN/ <!DOCTYPE html> <html lang="en" ...