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。
好啦,到这里,今天为大家分享基本数据类型以及相关变量已经分享完了。如果觉得小编写的可以的,可以给小编一键三连,和小编一起学习和进步,你的关注是对小编最大的鼓励。有什么相关的问题欢迎到评论区留言。谢谢大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/147866.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL之DQL

DQL是数据查询语言 SELECT语句 语法: SELECT {*,列名,函数等} FROM 表名;SELECT *:表示匹配所有列 FROM :提供数据源 例如:查询student表的所有记录 SELECT * FROM student;例如:查询学生姓名和地址: SELECT Stud…

学信息系统项目管理师第4版系列16_资源管理过程

1. 组建项目团队,建设项目团队和管理项目团队属于执行过程组 1.1. 【高22上选21】 1.1.1. 【高21上选25】 1.2. 3版 2. 【高19上案三】 2.1. 【高18上案三】 2.2. 【高23上案一】 3. 规划资源管理 3.1. 定义如何估算、获取、管理和利用团队以及实物资源的过…

mstsc无法保存RDP凭据, 100%生效

问题 即使如下两项都打勾,其还是无法保存凭据,特别是连接Ubuntu (freerdp server): 解决方法 网上多种复杂方法,不生效,其思路是修改后台配置,以使mstsc跟平常一样自动记住凭据。最后,如下的…

斯坦福数据挖掘教程·第三版》读书笔记(英文版)Chapter 10 Mining Social-Network Graphs

来源:《斯坦福数据挖掘教程第三版》对应的公开英文书和PPT。 Chapter 10 Mining Social-Network Graphs The essential characteristics of a social network are: There is a collection of entities that participate in the network. Typically, these entiti…

Python学习笔记之分支结构与循环结构

Python学习笔记之分支结构与循环结构 一、分支结构 使用关键字if、elif、else 练习1&#xff1a;使用分支结构实现分段函数求值 """分段函数求值""" x float(input("x "))if x > 1:y 3 * x - 5 elif x < -1:y 5 * x 3…

2023/10/4 -- ARM

今日任务&#xff1a;QT实现TCP服务器客户端搭建的代码&#xff0c;现象 ser&#xff1a; #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);server new QTcpSe…

免费、丰富、便捷的资源论坛——Yiove论坛,包括但不限于阿里云盘、夸克云盘、迅雷云盘等等

引言 目前资源的数量达到了60000&#xff0c;六万多的资源意味着在这里几乎可以找到任何你想要的资源。 当然&#xff0c;资源并不是论坛的全部&#xff0c;其中还包括了技术交流、福利分享、最新资讯等等。 传送门&#xff1a;YiOVE论坛 - 一个有资源有交流&#xff0c;有一…

PCL 计算点云中值

目录 一、算法原理2、主要函数二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 计算点云坐标的中值点,首先对点云坐标进行排序,然后计算中值。如果点云点的个数为奇数…

计组—— I/O系统

&#x1f4d5;&#xff1a;参考王道课件 目录 一、I/O系统的基本概念 1.什么是“I/O”&#xff1f; ​编辑2.主机如何和I/O设备进行交互&#xff1f; 3.I/O控制方式 &#xff08;1&#xff09;程序查询方式 &#xff08;2&#xff09;程序中断方式 &#xff08;3&#x…

号卡推广管理系统源码/手机流量卡推广网站源码/PHP源码+带后台版本+分销系统

源码简介&#xff1a; 号卡推广管理系统源码/手机流量卡推广网站源码&#xff0c;基于PHP源码&#xff0c;而且它是带后台版本&#xff0c;分销系统。运用全新UI流量卡官网系统源码有后台带文章。 这个流量卡销售网站源码&#xff0c;PHP流量卡分销系统&#xff0c;它可以支持…

C#餐饮收银系统

一、引言 餐饮收银系统是一种用于管理餐馆、咖啡厅、快餐店等餐饮业务的计算机化工具。它旨在简化点餐、结账、库存管理等任务&#xff0c;提高运营效率&#xff0c;增强客户体验&#xff0c;同时提供准确的财务记录。C# 餐饮收银系统是一种使用C#编程语言开发的餐饮业务管理软…

【Java】微服务——Ribbon负载均衡(跟进源码分析原理)

添加LoadBalanced注解&#xff0c;即可实现负载均衡功能&#xff0c;这是什么原理 1.负载均衡原理 SpringCloud底层其实是利用了一个名为Ribbon的组件&#xff0c;来实现负载均衡功能的。 2.源码跟踪 为什么我们只输入了service名称就可以访问了呢&#xff1f;之前还要获取…

MySQL - mysql服务基本操作以及基本SQL语句与函数

文章目录 操作mysql客户端与 mysql 服务之间的小九九了解 mysql 基本 SQL 语句语法书写规范SQL分类DDL库表查增 mysql数据类型数值类型字符类型日期类型 示例修改&#xff08;表操作&#xff09; DML添加数据删除数据修改数据 DQL查询多个字段条件查询聚合函数分组查询排序查询…

conda安装使用jupyterlab注意事项

文章目录 一、conda安装1.1 conda安装1.2 常见命令1.3 常见问题 二、jupyterlab2.1 jupyterlab安装和卸载2.2 常见错误2.2.1 版本冲突&#xff0c;jupyterlab无法启动2.2.2 插件版本冲突 2.3 常用插件2.3.1 debugger2.3.2 jupyterlab_code_formatter 2.4 jupyter技巧 一、conda…

iOS---生成证书文件的时候无法选择导出.p12文件

解决办法&#xff1a; 左栏有两个分类&#xff0c;一个钥匙串&#xff0c;一个是种类&#xff0c;要选择种类里面的【我的证书】或【证书】进行导出。选择【系统】找到【我的证书】这样导出不了"个人信息交换(.p12)" 正确做法是&#xff1a;选择【登录】找到【我的…

智能合约漏洞,BEVO 代币损失 4.5 万美元攻击事件分析

智能合约漏洞&#xff0c;BEVO 代币损失 4.5 万美元攻击事件分析 一、事件背景 北京时间 2023 年 1 月 31 日&#xff0c;在 twitter 上看到这样一条消息&#xff1a; BEVO 代币被攻击&#xff0c;总共损失 45000 美元&#xff0c;导致 BEVO 代币的价格下跌了 99%。 有趣的是…

2023蓝帽杯初赛电子取证部分

取证案情介绍&#xff1a; 2021年5月&#xff0c;公安机关侦破了一起投资理财诈骗类案件&#xff0c;受害人陈昊民向公安机关报案称其在微信上认识一名昵称为yang88的网友&#xff0c;在其诱导下通过一款名为维斯塔斯的APP&#xff0c;进行投资理财&#xff0c;被诈骗6万余万元…

CSS 语法

CSS 实例 CSS 规则由两个主要的部分构成&#xff1a;选择器&#xff0c;以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素。 每条声明由一个属性和一个值组成。 属性&#xff08;property&#xff09;是您希望设置的样式属性&#xff08;style attribute&#x…

Raspberry Pi 5 新平台 新芯片组

Raspberry Pi 5 的 CPU 和 GPU 性能提高了两到三倍&#xff1b;内存和 I/O 带宽大约是两倍&#xff1b;并且是首款采用英国剑桥内部设计的芯片的 Raspberry Pi 计算机&#xff0c;4GB 型号的售价为 60 美元&#xff0c;8GB 版本的售价为 80 美元 主要特点包括&#xff1a; 2.4…

【C++】可变参数模板使用,在emplace中应用

&#x1f30f;博客主页&#xff1a; 主页 &#x1f516;系列专栏&#xff1a; C ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ &#x1f60d;期待与大家一起进步&#xff01; 文章目录 一、可变参数模板1.参数包的展开方式1.递归方式展开2.逗号表达式展开参数包 二、empl…