Java 那些诗一般的 数据类型 (1)

本篇会加入个人的所谓‘鱼式疯言’
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!
在这里插入图片描述

前言

小伙伴都知道 C语言 有 C语言的数据类型 ! ! !
那么我们的Java是否也有和C语言类似和不同的数据类型呢
今天就让宝子们带着这个疑惑来进入我们 Java数据类型 的学习吧 💕 💕 💕

目录

  1. 字面常量
  2. 数据类型
  3. 变量

一. 字面常量

<1>.常量的概念

常量即程序运行期间,固定不变的量称为常量

那么小爱同学就有疑惑了,常量我知道了,那么字面常量是啥呢 🤔 🤔 🤔
要知道字面常量,不妨小伙伴们先和小编看个栗子 💖 💖 💖

<2>. 举个栗子

public static void main(String[] args){System.out.println("hello world!");System.out.println(100);System.out.println(3.14);System.out.println('A');System.out.println(true);System.out.println(false);
}

在这里插入图片描述

其中: 100 、 3.14 、 ‘A’ 、 true/false 都是常量,将其称为 字面常量

<3>. 字母常量的类型

不瞒友友们说,咱们的 字面常量 是很丰富的

下面让小编来梳理一下吧 ! ! !

字面常量的分类:

  • 字符串常量:由""括起来的,比如“12345”、“hello”、“你好”。

  • 整形常量:程序中直接写的数字(注意没有小数点),比如:1001000

  • 浮点数常量:程序中直接写的小数,比如:3.140.49

  • 字符常量:由 单引号 括起来的当个字符,比如:‘A’、‘1’

  • 布尔常量:只有两种 truefalse

  • 空常量:null

鱼式疯言

注意:字符串、整型、浮点型、字符型以及布尔型,在Java中都称为数据类型。

那么啥是数据类型呢 ? ? ?

有请友友们移步下一小标题欣赏 ❤️ ❤️ ❤️

二. 数据类型

<1>. 数据类型的简介

在Java中数据类型主要分为两类: 基本数据类型引用数据类型

这次小伙伴的重点是学习我们的 基本数据类型 , 而我们的 引用数据类型 就留到下篇文章分解哦 😁 😁 😁

基本数据类型有 四类八种

  1. 四类:整型、浮点型、字符型以及布尔型

2.四类又可细分为: 八种

有图有真相,我们就看图理解 :
在这里插入图片描述

鱼式疯言

小小梳理一下
在这里插入图片描述

注意:

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

什么?
小爱同学居然问,什么是字节? ? ?
这问题问的好啊,看来小编得好好给小爱同学补补课咯 😁 😁 😁

鱼式疯言

什么是字节 ?

字节是计算机中表示空间大小的基本单位.

计算机使用二进制表示数据. 我们认为 8 个 二进制位(bit) 为一个字节(Byte).

我们平时的计算机为 8GB 内存, 意思是 8G 个字节.

其中 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB. 所以 8GB 相当于 80 多亿个 字节.

三. 变量

<1>. 变量的概念

在程序中,除了有始终不变的常量外,有些内容可能会经常改变

比如:人的年龄、身高、成绩分数、数学函数的计算结果等,

对于这些经常改变的内容,在Java程序中,称为变量。

而数据类型就是用来定义不同种类变量的。

<2>. 变量的语法格式

定义变量的语法格式为:

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

<3>.举个栗子

   public static void main(String[] args) {int a = 10; // 定义整形变量a,a是变量名也称为标识符,该变量中放置的值为10double d = 3.14;char c = 'A';boolean b = true;System.out.println(a);System.out.println(d);System.out.println(c);System.out.println(b);a = 100; // a是变量,a中的值是可以修改的,注意:= 在java中表示赋值,即将100交给a,a中保存的值是100System.out.println(a);// 注意:在一行可以定义多个相同类型的变量int a1 = 10, a2 = 20, a3 = 30;System.out.println(a1);System.out.println(a2);System.out.println(a3);}

在这里插入图片描述
小伙伴们一定很懵懂吧,别着急,让小编带着大伙 一 一 讲解咱的咱们丰富的变量 ❤️ ❤️ ❤️

1. 整型家族

<1>. 整型变量

   public static void main(String[] args) {// 方式一:在定义时给出初始值int a = 10;System.out.println(a);// 方式二:在定义时没有给初始值,但使用前必须设置初值int b;b = 10;System.out.println(b);System.out.println(Integer.MIN_VALUE);System.out.println(Integer.MAX_VALUE);}

在这里插入图片描述

鱼式疯言

温馨提示:

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

如果使用不当,就有可能出现以下情况 ! ! !
在这里插入图片描述

在这里插入图片描述

<2>. 长整型变量

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

在这里插入图片描述

鱼式疯言

温馨提示:

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

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

  • 长整型的表示范围为:-2^63 ~ 2 ^ 63 -

  • long的包装类型为 Long

<3>. 短整型变量

public static void main(String[] args) {short a = 10;System.out.println(a);// short型变量所能表示的范围:System.out.println(Short.MIN_VALUE);System.out.println(Short.MAX_VALUE);}

在这里插入图片描述

鱼式疯言

温馨提示:

  • short在任何系统下都占2个字节
  • short的表示范围为:-32768 ~ 32767
  • 使用时注意不要超过范围(一般使用比较少)
  • short的包装类型为Short

<4>. 字节型变量

  public static void main(String[] args) {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

这时小爱同学又有疑惑了 ? ? ?
既然我们 byte , short , int , long 都可以定义整型变量,为什么要给出4种不同的类型呢 🤔 🤔 🤔

这就好比买衣服时的尺码:
在这里插入图片描述

鱼式疯言

当我们的数据很小时,用 byte
很大时,用 long
不过我们常用的 还是 int

2. 浮点型家族

<1>. 双精度浮点型

public static void main(String[] args) {double d = 3.14;System.out.println(d);
}

在这里插入图片描述

鱼式疯言

温馨提示:

  • double在任何系统下都占 8个字节
  • 浮点数与整数在内存中的存储方式 不同 ,不能单纯使用的形式来计算
  • double 的包装类型为 Double
    1. double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是 精确值

<2>. 单精度浮点型

public static void main(String[] args) {float num = 1.0f; // 写作 1.0F 也可以System.out.println(num);
}

在这里插入图片描述

鱼式疯言

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

不太推荐使用 float. float的包装类型为Float。

3. 字符型大家族

<1>. 举个栗子

public static void main(String[] args) {char c1 = 'A'; // 大写字母char c2 = '1'; // 数字字符System.out.println(c1);System.out.println(c2);// 注意:java中的字符可以存放整形char c3 = '帅';System.out.println(c3);
}

在这里插入图片描述

鱼式疯言

温馨提示:

  1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.
  2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符.
  3. 因此一个字符占用 两个字节 , 表示的字符种类更多, 包括 中文.
  4. char 的包装类型为 Character

但有时候小伙伴运行时也有可能出现以下问题
在这里插入图片描述

  1. 此时我们在执行 javac 时加上 -encoding UTF-8 选项即可

在这里插入图片描述

关于字符编码方式的讨论, 宝子们可以参考下面这篇文章哦 💖 💖 💖
字符编码方式

4. 布尔类型大家族

爱学习的小爱同学那问题就抛开了
这布尔类型是啥类型呢 ? ? ?

<1>. 布尔类型简介

布尔类型 常用来表示 真假
在现实生活中也是经常出现的
比如:听说xxx同学买彩票中了一个亿…
听到后估计大部分人第一反应就是:我x,真的假的?

<2>. 举个栗子

public static void main(String[] args) {

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

在这里插入图片描述

鱼式疯言

  1. boolean 类型的变量只有两种取值, true 表示, false 表示 .
  2. Java 的 boolean 类型和 int 不能 相互转换 , 不存在 1 表示 true, 0 表示 false 这样的用法.
  3. Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在
    Oracle公司的 虚拟机 实现中,boolean 占 1个字节。
  4. boolean的包装类型为 Boolean

如果使用不慎
否则就会出现以下错误

在这里插入图片描述

总结

  • 字面常量:介绍了说明是常量,以及字面常量的概念和种类

  • 数据类型 : 说明了数据类型的概念和并举例种类

  • 变量: 分批次的介绍了变量的不同类型并进行初步的理解

    如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正

希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖

在这里插入图片描述

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

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

相关文章

【JavaScript 语法】

JavaScript 语法 ■ JavaScript 是什么■ JavaScript 语法■ JS 注释■ JS 结束符■ JS 输入输出语句■ JS 代码块■ JS 关键词■ JS 值■ JS 字面量 &#xff08;混合值&#xff09;■ JS 变量&#xff08;变量值&#xff09;■ JS 文本值 (字符串)■ JS 字符串可以是对象 ■ …

JS文本加密方法探究

在前端开发中&#xff0c;有时候我们需要对敏感文本进行简单的加密&#xff0c;以提高安全性。本文将介绍一种基于 JavaScript 实现的文本加密方法&#xff0c;使用了 Base64、Unicode 和 ROT13 编码。 示例代码 function encodeText(text) {// Base64编码var base64Encoded …

MongoDB 权限管理

文章目录 前言1. 权限控制1.1 MongoDB 默认角色1.1.1 读写角色1.1.2 管理角色1.1.3 其他角色1.1.4 超级用户角色 1.2 用户管理1.2.1 查看用户1.2.2 创建新用户1.2.3 调整角色1.2.4 删除用户1.2.4 修改密码 前言 上一篇 《MongoDB 单机安装部署》 文章中&#xff0c;为 MongoDB…

STL常用之vector,list,stack,queue,deque总结与对比

一&#xff0c;vector 1&#xff09;底层 vector的底层是开辟出来的一块连续空间&#xff0c;类似于数组&#xff0c;每次空间满了之后会根据不同的编译器有不同的扩容倍数。 2&#xff09;优劣 优点&#xff1a;随机访问效率高&#xff0c;因为地址是连续的&#xff0c;底层…

Linux 驱动开发基础知识——APP 怎么读取按键值(十二)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;Vir2021GKBS &#x1f43c;本文由…

前端简单知识复习

1.symbol类型 Symbol 是 ECMAScript 6 中引入的一种新的基本数据类型&#xff0c;它表示独一无二的值。Symbol 值是通过 Symbol() 函数创建的。 Symbol 值具有以下特点&#xff1a; 独一无二性&#xff08;唯一性&#xff09;&#xff1a;每个通过 Symbol() 函数创建的 Symb…

基于RBAC的权限管理的理论实现和权限管理的实现

权限管理的理论 首先需要两个页面支持&#xff0c;分别是角色管理和员工管理&#xff0c;其中角色管理对应的是角色和权限的配合&#xff0c;员工管理则是将登录的员工账号和员工所处的角色进行对应&#xff0c;即通过新增角色这个概念&#xff0c;让权限和员工并不直接关联&a…

Error creating bean with name ‘formContentFilter‘ defined in class path

问题描述 运行之前能正常的项目出现以上报错&#xff0c;提示创建“formContentFilter”时错误&#xff1b;org.springframework.boot版本2.4.8 org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name formContentFilter define…

202428读书笔记|《风吹哪页读哪页》——答案在路上,自由在风里,身处井隅,心向璀璨

202428读书笔记|《风吹哪页读哪页》——答案在路上&#xff0c;自由在风里&#xff0c;身处井隅&#xff0c;心向璀璨 文前篇章一 三餐四季篇章二 山水一程篇章三 心之安处篇章四 通关时刻篇章五 瞬间长大 《风吹哪页读哪页》飞扬文室编著&#xff0c;有很多非常经典又惊艳的句…

4款AI写作软件推荐,让文章撰写更加轻松! #学习方法#知识分享

国外ChatGPT爆火&#xff0c;AI写作在国内也引起不小的瞩目&#xff0c;目前国内的AI写作工具少说也有几十上百个&#xff0c;要在这么多AI写作中找出适合自己的工具&#xff0c;一个一个尝试是不太现实的&#xff0c;所以今天就给大家推荐一些款AI写作工具。帮助你少走弯路&am…

【洛谷题解】P1051 [NOIP2005 提高组] 谁拿了最多奖学金

题目链接&#xff1a;[NOIP2005 提高组] 谁拿了最多奖学金 - 洛谷 题目难度&#xff1a;普及- 涉及知识点&#xff1a;判断条件&#xff0c;累加 题意&#xff1a; 分析&#xff1a;直接统计&#xff0c;判断条件&#xff0c;输出即可&#xff08;水&#xff09; AC代码&am…

Stable Diffusion 绘画入门教程(webui)

文章目录 一、前言二、做出的效果三、SD使用流程1、大模型2、关键字3、调参数 一、前言 随着mj和sd绘画软件发布之后&#xff0c;AI绘画开始爆火&#xff0c;很多小伙伴已经挖掘出很多的玩法&#xff0c;哪怕最基础的AI美女、AI壁纸、真人漫改等等都赚的盆满钵满&#xff0c;当…

【Flink】FlinkSQL读取hive数据(批量)

一、简介: Hive在整个数仓中扮演了非常重要的一环,我们可以使用FlinkSQL实现对hive数据的读取,方便后续的操作,本次例子为Flink1.13.6版本 二、依赖jar包准备: 官网地址如下: Overview | Apache Flink 1、我们需要准备相关的jar包到Flink安装目录的lib目录下,我们需…

NC文件不规则裁剪(利用shp文件裁剪)(三)

文章目录 前言实例数据代码部分需要的库加载文件写入地理信息裁剪NC结果 完整代码奉上 前言 Hello大家好呀&#xff0c;最近正好需要用到多个SHP去裁剪NC&#xff0c;按照我以前的两种办法&#xff08;办法1和办法2&#xff09;操作的话&#xff0c;我自己都会破防&#xff0c…

Halcon中打开摄像机

&#xff08;带货广告&#xff1a;需要该套测试设备或者工业相机的及其相关产品的&#xff0c;请私聊我&#xff09; 1、相机说明 使用Basler相机&#xff0c; 2、打开Halcon助手 3、检测相机 4、连接摄像机和采集画面 5、自动生成代码 生成代码后&#xff0c;保存工程到本…

FreeRtos任务调度

一.创建任务函数 xTaskCreate( (TaskFunction_t )start_task, /*要执行的函数&#xff0c;开始任务*/(const char* )"start_task", /*任务名字&#xff0c;建议个函数名一样*/(uint16_t )START_STK_SIZE, (void* …

【PX4-AutoPilot教程-TIPS】PX4控制无人机在Gazebo中飞行时由于视角跟随无人机在画面中心导致视角乱晃的解决方法

PX4控制无人机在Gazebo中飞行时由于视角跟随无人机在画面中心导致视角乱晃的解决方法 问题描述解决方法 问题描述 无人机在Gazebo中飞行时&#xff0c;无人机始终处于画面中央&#xff0c;会带着视角乱晃&#xff0c;在Gazebo中进行任何操作视角都无法固定。 观察Gazebo左侧Wo…

最全软件测试面试问题和回答,全文背熟不拿下offer算我输!

求职&#xff0c;类似于打仗&#xff0c;是一场挑战自己的战斗&#xff0c;也是一场跟用人单位的博弈&#xff0c;更是一场千人过独木桥的厮杀、混战。《孙子谋攻篇》中早就说了&#xff1a;"知己知彼&#xff0c;百战不殆&#xff1b;不知彼而知己&#xff0c;一胜一负&a…

Mac M2芯片配置PHP环境

Mac M2芯片配置PHP环境 1. XAMPP2. PHPBrew(PHP版本管理)安装php7.4.33版本 3. 直接使用homebrew 安装php环境参考 1. XAMPP 官网地址 https://www.apachefriends.org/ 安装 安装完成 web server打开后&#xff0c;在打开localhost 成功&#xff01; 2. PHPBrew(PHP版本管…

单片机01天_stm32f407zg_创建新工程

创建“寄存器版工程” 1、创建工程文件夹 创建工程文件夹“Project”&#xff0c;内部包含文件夹“CMSIS”&&“USER”。 CMSIS&#xff1a;Cortex系列内核接口驱动文件。 USER&#xff1a;存放用户编写的程序文件。 “USER”文件夹内包含“Inc”&&“Src”…