【自学Java】Java基本数据类型

news2024/11/15 3:08:57

Java基本数据类型

Java基本数据类型

Java 基本数据类型如下表:

序号数据类型大小/位可表示的数据范围默认值
1long(长整数)64-9223372036854775808~92233720368547758070L
2int(整数)32-2147483648~21474836470
3short(短整树)16-32768 ~ 32767(short)0
4byte(位)8-128 ~ 127(byte)0
5char(字符)160 ~ 255\u0000(空,"")
6float(单精度)32-3.4E38 ~ 3.4E380.0f
7double(双精度)64-1.7E308 ~ 1.7E3080.0d
8boolean(布尔)true 或 falseFalse

Java整数类型

当数据不带有小数或者分数单时候,可以声明位整数变量。在 Java 中,整数的数据类型可以分为 long、int、short、byte 4 种。

数据范围在上表中给出,我们在使用中可以根据数据的范围来选择对应的类型。如果想要定义一个整形变量,我们可以按照如下方式:

long numLong;    //numLong 变量,随便用什么名称
int numInt;      //numInt 变量,随便用什么名称
short numnShot;  //numnShot 变量,随便用什么名称
byte numByte;    //numByte 变量,随便用什么名称

Java数据溢出

当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,而且不是预期的运行结果。

package com.haicoder.net;

public class NumOutRange {
    public static void main(String[] args) {
        System.out.println("嗨客网(www.haicoder.net)");
        int max = Integer.MAX_VALUE;

        System.out.println("整形的最大值:"+max);
        System.out.println("整形最大值 + 1" + (max +1));
        System.out.println("整型最大值 + 2 " + (max + 2));
    }
}

运行结果如下:

请添加图片描述

从上面运行结果可以看到,最大值加一之后并不是我们想要的结果,所以在使用过程中,我们需要注意整形使用时的区间范围。如果实在想使用 int 的 max 值加 1 ,可以使用 long 类型的数据接收。

整形的数据类型扩容可以按照 byte -> short -> int -> long 格式进行转换,如果前一个数据溢出后对应的数据类型不能接收,可以扩容后面的数据类型。但是 long 是最大的类型,如果 long 超过限制的话,那么就无法用对应的数据格式接收了。

Java字符类型

字符类型在内存中占用两个字节,可以用来保存引文字母等字符。计算机在处理字符的时候,把他们当作不同的整数来看待,每个字符都对应一个 ASCII 码。

package com.haicoder.net.thread.basic;

public class CharTest {
    public static void main(String[] args) {
        char ch1 = 'a';
        char ch2 = 97;

        System.out.println("嗨客网(www.haicoder.net)");
        System.out.println("ch1 = " + ch1 );
        System.out.println("ch2 = " + ch2);
    }
}

运行效果如下:

请添加图片描述

从上面的代码和运行效果可以看出,给字符赋值的时候需要使用 (’’)来赋值。ch2 定义成了 97,它是 ‘a’ 的 ASCII 码值。

在实际使用场景中,我们会存在许多的转移字符,比如换行,空格等等,这些都会有特殊的字符表示,叫做转意字符。

序号转意字符描述序号转意字符描述
1\f换页5\r归位
2\ \反斜线6\ "双引号
3\b倒退一格7\t制表符 Tab
4\ ’单引号8\n换行

从表格中可以看出每个转意符都是以 \ 开始。

Java浮点数类型与双精度浮点数类型

在日常开发过程中,我们会用到小数类型的数值,比如身高,体重等等。这个时候整数就不能改满足我们条件了,我们可以使用 floatdouble 来表示。

在 java 里面,默认的浮点数据类型是 double 类型的,在数据后面加上 d 或者 D 表示该数据是 double 类型,如果加上 f 表示该值是 float 类型。

package com.haicoder.net.thread.basic;

public class FloatDoubleTest {
    public static void main(String[] args) {
        System.out.println("嗨客网(www.haicoder.net)");

        float num1 = 2.0f;

        double num2 = 3.0;

        double num3 = 4.3d;

        System.out.println("num1 = " + num1);
        System.out.println("num2 = " + num2);
        System.out.println("num3 = " + num3);
    }
}

运行效果如下:

请添加图片描述

从代码和运行结果我们可以看到定义数据类型为 double 时候,可以在数据后面加 d 或者不加,但是如果定义的是 float 类型的数据,那么数据后面必须要加 f,不然代码编译失败。

Java布尔类型

布尔类型的变量只有 true 和 false 两种。它不存在第三种值。赋值语法如下:

boolean flag = true;

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

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

相关文章

设置 MYSQL 数据库编码为 utf8mb4

utf-8编码可能2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入表情数据,java程序中将报SQL异常: java.sql.SQLException: Inc…

带音频播放的MPlayer播放器在ARM上的移植笔记

前言 mplayer想要播放带音频的视频文件,需要依赖alsa-lib和zlib,所以交叉编译mplayer前还需要先编译alsa-lib和zlib 一、alsa-lib alsa-lib 是 ALSA 提供的一套 Linux 下的 C 语言函数库,需要将 alsa-lib 移植到板卡上,这样基于…

人话解读LGPLv3

大家都知道:你调用了 LGPL的库,你还是可以开发一个闭源程序。这就说明,LGPL比GPL要宽松。但并不像想象的那么简单。一、为什么会有LGPL作为GPL的发明人Stallman,是自由软件的死忠坚定维护者,为什么还允许让别人用了自己…

2022年终总结-2023新年快乐

这是学习笔记的第 2446篇文章新的一年了,还是得总结点东西,本来想盘一下自己买了多少书,做了哪些有意义的事情,想想我还是自己先慢慢盘吧,发不发出来另说,还是希望写点自己的感悟,也希望对大家有…

LabVIEW共享变量

LabVIEW共享变量 创建共享变量 要创建共享变量,必须先打开一个LabVIEW项目。在项目浏览器窗口中,右键单击终端、项目库或项目库中的文件夹,从快捷菜单中选择新建(New) 变量(Variable),打开共享变量属性(Shared Variable Proper…

dubbo源码实践-SPI扩展

1 概述 SPI的官方文档说明:Dubbo SPI | Apache Dubbo SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时&…

我的2022总结

博客记录 踏石留印 抓铁有痕 使用csdn写博客,发帖子,帮助网友回答问题。都是实实在在满足了学习,交流的需求 这是我自己使用 CSDN 各种功能记录: 工作方面: 年初参与了公司的一个产品,主要负责串口服务…

Allegro上如何计算阻抗操作指导

Allegro上如何计算阻抗操作指导 Allegro上同样可以快捷的进行阻抗计算,免去了用第三方软件计算的麻烦,以下图为例 具体操作如下 选择X-section在层叠中把每个层的Dielectric Constant填写正确,即板材的Er值

01月份图形化二级打卡试题

活动时间 从2023年 1月1日至1月21日,每天一道编程题。 本次打卡的规则如下: (1)小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 (2)小朋友做完题目后&…

阿里云迎来新主帅,张勇将交出怎样的答卷?

‍‍数据智能产业创新服务媒体——聚焦数智 改变商业岁末年尾,回顾过去展望新篇之际,阿里巴巴集团于29日通过两封邮件宣布了组织架构的调整。以“沉稳内敛”著称的张勇,在解决公司问题时,却尽显雷霆手段。敢于作出不完美的决定在…

【算法】静态单链表、双链表、单调栈与单调队列

文章目录1.单链表2.双链表3.单调栈4.单调队列1.单链表 考虑到效率问题,如果每次都去new结点效率比较慢,平时做题时不采用动态:在有严格的时间要求的环境中,不能频繁使用new操作,new的底层涉及内存分配,调用构造函数,指…

2023创业可以做什么项目,适合新手的六个创业项目推荐

大家好,我是蝶衣王的小编 ​2022年已经进入最后一天了,明天就要步入2023年,个人感觉,明年注定是不平凡的一年,疫情解封,经济生产逐渐恢复,明年开始,创业或者做副业的人肯定会越来越…

视频分割很简单,教你方法三分钟搞定视频剪辑

很多朋友不知道怎么分割视频,今天小编就分享怎么在电脑上分割视频的方法,使用媒体梦工厂操作起来不难,新手小白也能轻松学会,一起接着往下看吧。 第一步,开始剪辑之前,小编准备了多段视频用于演示分割效果&…

【金猿案例展】某大型国有银行——智慧金融产业大脑建设

‍拓尔思案例本项目案例由拓尔思投递并参与“数据猿年度金猿策划活动——《2022大数据产业年度创新服务企业》榜单/奖项”评选。‍数据智能产业创新服务媒体——聚焦数智 改变商业该银行为提高金融领域产业经济分析能力,建设智慧金融产业大脑,通过投融资…

计算机组成原理【1】

目录 考点1:硬件发展———————————————————————————— 一.计算机硬件的基本组成 1.早期冯诺依曼机 (1)冯.诺依曼计算机的特点: 2.现代计算机的结构 3.总结图 二.各个硬件的工作原理 1.寄存器MAR,MDR 2.主存…

Redis 如何解决内存占用过大、不释放的问题

错误日志 通过 redis.log 可以看到错误日志如下:Cannot allocate memory 15602:M 30 Dec 2022 17:39:09.988 * RDB memory usage when created 19775.56 Mb 15602:M 30 Dec 2022 17:39:44.766 # Done loading RDB, keys loaded: 529954, keys expired: 26. 15602:…

基于长短期记忆网络和凸优化算法的综合智能电网的可再生能源预测(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

string(四)————底层实现

目录 引言 外层包装 成员变量设计 接口实现 引言 在之前的博客中我简单介绍了string的相关使用方法和接口,现在我们自己来模拟实现一下它的底层(注:不同编译器底层实现不同,这里只是其中一种的实现)。 外层包装 …

Allegro如何在PCB上查看焊盘信息操作指导

Allegro如何在PCB上查看焊盘信息操作指导 在做PCB设计的时候需要查看焊盘的信息,Allegro上支持直接在PCB上查看焊盘的信息,如下图 具体操作如下 选择Tools-Pad stack选择Modify Design Padstack

【漏洞复现】Django SQL注入漏洞 (CVE-2022-28346)

文章目录一、简介二、漏洞概述三、漏洞影响版本四、漏洞分析五、漏洞复现六、修复方法一、简介 Django是用Python开发的一个免费开源的Web结构,几乎包括了Web使用方方面面,能够用于快速建立高性能、文雅的网站,Diango提供了许多网站后台开发…