【Java数据类型】Java的基础数据类型

面试必考之Java基础数据类型 你有思考过编程语言为什么要有「数据类型」吗? 面试官其实是想让你告诉他:小讯同学是谁?她出生在哪儿? 阅读详情

数据类型:

  • 基本数据类型(8种):byte(1 Byte)、short(2 Bytes)、int(4 Bytes)、long(8
    Bytes)、float(4 Bytes)、double(8 Bytes)、char(2 Bytes)、boolean(1 bit)

  • 引用数据类型(3种): 数组、类、接口。


基础数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte

• byte 数据类型是8位(1字节)、有符号的,以二进制补码表示的整数;
• 最小值是 -128(-2^7);
• 最大值是 127(2^7-1);
• 默认值是 0;
• byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
• 例子:byte a = 100,byte b = -50。

short

• short 数据类型是 16 位(2字节)、有符号的以二进制补码表示的整数
• 最小值是 -32768(-2^15);
• 最大值是 32767(2^15 - 1);
• Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
• 默认值是 0;
• 例子:short s = 1000,short r = -20000。

int

• int 数据类型是32位(4字节)、有符号的以二进制补码表示的整数;
• 最小值是 -2,147,483,648(-2^31);
• 最大值是 2,147,483,647(2^31 - 1);
• 一般地整型变量默认为 int 类型;
• 默认值是 0 ;
• 例子:int a = 100000, int b = -200000。

long

• long 数据类型是 64 位、有符号的以二进制补码表示的整数;
• 最小值是 -9,223,372,036,854,775,808(-2^63);
• 最大值是 9,223,372,036,854,775,807(2^63 -1);
• 这种类型主要使用在需要比较大整数的系统上;
• 默认值是 0L;
• 例子: long a = 100000L,Long b = -200000L。"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

float

• float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
• float 在储存大型浮点数组的时候可节省内存空间;
• 默认值是 0.0f;
• 浮点数不能用来表示精确的值,如货币;
• 例子:float f1 = 234.5f。

double

 double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
 浮点数的默认类型为double类型;
 double类型同样不能表示精确的值,如货币;
 默认值是 0.0d;
 例子:double d1 = 123.4。

boolean

• boolean数据类型表示一位的信息;
• 只有两个取值:true 和 false;
• 这种类型只作为一种标志来记录 true/false 情况;
• 默认值是 false;
• 例子:boolean one = true。

char

• char类型是一个单一的 16 位 Unicode 字符;
• 最小值是 \u0000(即为0);
• 最大值是 \uffff(即为65,535);
• char 数据类型可以储存任何字符;
• 例子:char letter = ‘A’;

基础数据类型的默认值

1) byte 0
2) short 0
3) int 0
4) long 0L
5) float 0.0f
6) double 0.0d
7) char ‘u0000’
8) String (or any object) null
9) boolean false

public class Main {
    static boolean bool;
    static byte by;
    static char ch;
    static double d;
    static float f;
    static int i;
    static long l;
    static short sh;
    static String str;

    public static void main(String[] args) {
        System.out.println("Bool :" + bool);
        System.out.println("Byte :" + by);
        System.out.println("Character:" + ch);
        System.out.println("Double :" + d);
        System.out.println("Float :" + f);
        System.out.println("Integer :" + i);
        System.out.println("Long :" + l);
        System.out.println("Short :" + sh);
        System.out.println("String :" + str);
    }
}
//输出结果;
//        Bool :false
//        Byte :0
//        Character:
//        Double :0.0
//        Float :0.0
//        Integer :0
//        Long :0
//        Short :0
//        String :null

基本数据类型的极值

// short  
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);  
System.out.println("包装类:java.lang.Short");  
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);  
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);  
System.out.println();  
// int  
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);  
System.out.println("包装类:java.lang.Integer");  
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  
System.out.println();  
// long  
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);  
System.out.println("包装类:java.lang.Long");  
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);  
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);  
System.out.println();  
// float  
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);  
System.out.println("包装类:java.lang.Float");  
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);  
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);  
System.out.println();  
// double  
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);  
System.out.println("包装类:java.lang.Double");  
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);  
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);  
System.out.println();  
// char  
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);  
System.out.println("包装类:java.lang.Character");  
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台  
System.out.println("最小值:Character.MIN_VALUE=" +(int) Character.MIN_VALUE);  
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台  
System.out.println("最大值:Character.MAX_VALUE="  + (int) Character.MAX_VALUE);

包装类

背景:

  • Java认为一切皆对象。引用数据类型就是对象了。
  • 但是八种基本数据类型不是对象,只是表示一种数据的类型形式。
  • Java为了一切皆对象的思想统一,把八种基本数据类型转换成对应的类,这个类称为基本数据类型的包装类。

功能:

  • 将基本类型转换为字符串:
    • toString()方法
    • Xxx.toString()方法
  • 将字符串转换为基本数据类型,转换失败抛出java.lang.NumberFormatException
    • Xxx.parseXxx(串)
    • Xxx.valueOf(串)

特性:

  • 封装于:java.lang.Xxx
  • 整形、浮点型派生于Number超类
  • 一旦构造成功,就不可修改(常量)
  • 其类使用final修饰:public final class Integer extends Number implements
    Comparable
  • 比较大小时使用equals方法,不用“==”
  • boolean、byte、char三个小于等于127、short、int介于[-128,
    127]之间的数,被包装在固定的对象中,使用时直接调用,不需要创建新的封装对象。
  • 封装由编译器实现,不是JVM实现

包装数据类型:

  1. byte Byte
  2. short Short
  3. char Character
  4. int Integer
  5. long Long
  6. float Float
  7. double Double
  8. boolean Boolean

自动装箱和拆箱

  基本数据类型和它对应的封装类型之间可以相互转换。自动拆装箱是 jdk5.0 提供的新特特性,它可以自动实现类型的转换。

  1. 装箱:从基本数据类型到封装类型叫做装箱
  2. 拆箱:从封装类型到基本数据类型叫拆箱
public static void main(String[] args) {
        //自动装箱
        Integer i = 10; //相当于:Integer i = new Integer(10);
        
        //自动拆箱
        Integer in = 10;
        int a = in; //相当于:int a = i.intValue();
        
        Integer i1=10;
        Integer i2=10;
        Integer i3=i1+i2;//Integer i3 = new Integer(i1.intValue() + i2.intValue());
        
        ArrayList list = new ArrayList();
        list.add(1);//自动装箱,list.add(new Integer(1));
}
AI辅助发明专利撰写实战:30分钟高效生成高质量技术专利文档 在技术专利撰写领域,尤其是软件、算法或系统架构相关的发明专利,如何将创新的技术构思快速、规范地转化为符合《专利法》要求的申请文件,是许多开发者和技术团队面临的共同挑战。传统的人工撰写方式不仅耗时耗力,对撰写人的法律和技术双重背景要求极高,还容易因格式或术语不规范导致审查意见增多。本文将分享一套利用 AI 辅助工具,系统化、高效率地完成一篇高质量发明专利说明书撰写的实战流程。通过清晰的步骤拆解、可复制的提示词(Prompt)工程以及关键注意事项,即使是首次接触专利撰写的开发者,也能在短时间内掌握从技术方案梳理 阅读详情

相关推荐

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 153

【Java语法解析】byte b = 1为什么是合理的?

文章目录语法话题程序示例语法解析数值丢失 语法话题 本期的话题内容为: byte b = 1为什么是合理的? 也许大家会感到惊讶,这样的语句不是天经地义的吗?可是,字面值“1”是int类型,b是byte类型,int类型向byte类型转换,这是一种收缩类型转换,难道不应该使用类型转换运算符吗? 程序示例 我们来看如下的程序: package test; public class Test { public static void main(String[] args) { int i = 1;

luoyingting的专栏 1107

SEW MDX61B 变频器调试说明

可手动自由更改时间和地址,时间一般不更改,IP地址使用网络适配器地址(Network adapter),点击进入即可。进入网络适配器(Network adapter)后,选择适配器建议地址,点击OK,更改IP地址后点击OK。点击加载配置文件(Load a configuration),加载已保存的应用模块配置文件, 或者点击“next”,开始重新配置AMA0801模块。满足安全回路后,控制模式选为寻参模式(Reference mode),选中开始(start),即可将机械零点设置为电气零点。

xdpcxq的专栏 4300

java数据类型:byte

java数据类型:byte byte数据类型为1个字节,8个比特位,最高位为符号位。在Java中,表示的数据范围为[-128~127]。 byte与ASCII 标准ASCII码也叫基础ASCII码,使用7位二进制数来表示所有的大小字母、写小写字母、数字0-9、标点符号以及美式英语中使用的特殊控制字符。 ASCII码的表示范围是0~127,刚好byte类型可以覆盖,因此byte类型和ASCII码可以互相转换。 当byte类型的变量值使用单引号('')时,该变量值表示的就是ASCII码,例如: .

Miss熊的专栏 4058

AI 生成测试报告:从 2 小时到 10 分钟

本文分享了AI在汽车电子测试报告生成中的应用案例。作者以某车企ECU测试项目为例,对比传统报告方式(每天2小时)与AI辅助方式(每天20分钟),效率提升83%。文章详细介绍了测试报告的核心要素(测试概况、结果、问题分析、发布建议)和不同类型报告(日报、周报、总结报告)的特点,并提供了从CANoe导出测试数据的Python解析脚本示例。通过AI自动化处理,大幅减少了测试工程师在报告整理上的时间投入,为汽车电子测试工作提供了实用效率提升方案。

小明的博客 443

【实战分享】低成本K型热电偶测温方案:单运放放大与STM32 ADC采集优化

本文详细介绍了低成本K型热电偶测温方案,通过单运放放大与STM32 ADC采集优化,解决了信号微弱、负电压处理和冷端补偿等核心挑战。方案采用LMV358运放和T型网络降低噪声,结合STM32的ADC校准和软件滤波,实现±0.5℃精度,物料成本控制在15元以内,适用于工业测温场景。

weixin_30839881的博客 167

Java中的byte详解

然后11001000的最高位是1,那么表示是一个负数,而负数在计算机中都是以补码的形式保存的,所以我们计算11001000的原码为00111000,即56,所以11001000表示的是-56,所以最后test的值为-56。他的反码是:1111 1000, 补码在反码的基础上加1, 所以它的补码是1111 1001, 所以他的二进制数就是1111 1001.。^: 相同为0, 不相同为1, 1^0 = 1, 1^1 = 0, 0^0 = 0。

wzw_wwl的博客 3170

基于AC算法的图像显著性检测及Matlab代码实现

以上是基于AC算法的图像显著性检测的Matlab代码实现。图像显著性检测是计算机视觉领域的一个重要任务,其目标是确定图像中最具有显著性的区域,即吸引人眼注意力的区域。图像显著性检测是计算机视觉领域的一个重要任务,其目标是确定图像中最具有显著性的区域,即吸引人眼注意力的区域。AC算法的原理基于人眼视觉系统的特性,人眼在观察图像时通常会先关注图像中的显著性区域,然后才会注意到其他细节。AC算法的原理基于人眼视觉系统的特性,人眼在观察图像时通常会先关注图像中的显著性区域,然后才会注意到其他细节。

TechPulseZ的博客 438

java中byte x =1;执行过程

做个笔记

m0_51779342的博客 420

ESP32学习笔记06-UART 的485 通讯模式

通信方式选择UART 控制器支持多种通信模式,使用函数 uart_set_mode() 可以选择模式。选择特定模式后,UART 驱动程序将处理已连接 UART 设备的相应行为。例如,主机开始向 Tx FIFO 缓冲区写入数据时,UART 驱动程序会自动置位 RTS 管脚(逻辑 1);最后一位数据传输完成后,驱动程序就会取消置位 RTS 管脚(逻辑 0)。要使用此模式,软件。

Car12 2476

CMOS Sensor的调试经验分享

我这里要介绍的就是CMOS摄像头的一些调试经验。 首先,要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头、感应器和图像信号处理器构成。一般情况下,集成好的模组我们只看到外面的镜头、接口和封装壳,这种一般是固定焦距的。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小的镜头,如果没有夜视要求的话,最好选择带有红外滤光的镜头,因为一般的sensor都...

camerall 3763

java八种基本数据类型及包装类详解

详解一、八种基本数据类型常识 1.1、基本常识表 对于上图有以下几点需要注意: java八种基本数据类型分为四类八种,四类分别为整型、浮点型、布尔型、字符型;八种分别为byte、short、int、long、float、double、boolean、char; java八种基本数据类型的字节数:分别为1、2、4、8个字节;1字节(byte、boolean)、 2字节(short、cha...

一个Tester的博客 4万+

东北大学计算机预推免(双非友好)

东北大学,个人觉得在985里面对双非比较友好,而且学校的计算机专业实力也比较强,上岸难度不算很大,可以重点关注一下。学校复试审核的时间比较早,拿到复试资格之后,一定要留意报名系统首页中计算机学院的信息,学校也会在全国各地不同时间安排面试,可以根据自己的情况选择一个合适的时间前去面试,并且有对应面试场次的QQ群,信息会在群里面发布。面试成绩会在预推免系统中直接公布,但是是否拟录取不会公布,需要考生自行判断,今年计算机学院录取线定在了86分左右,最终递补下来,好像录取到了84分左右。

D1379951481的博客 3120

Java基础数据类型

自动类型转换是指当数据类型不一致时,Java 编译器会自动将低类型转换为高类型,例如将 int 类型转换为 long 类型、将 float 类型转换为 double 类型等。double:占用8个字节,取值范围为±(4.94065645841246544e-324~1.79769313486231570e+308)之间的浮点数。在这个示例中,将 int 类型的变量 a 强制转换为 byte 类型的变量 b,由于 byte 类型只有 8 位,所以在转换时可能会导致溢出和精度丢失。

fq74590的博客 263

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Java的基础数据类型有哪些?String是Java的基础数据类型吗?

在Java中,所有的基础数据类型都有对应的包装类(wrapper class),例如 `Integer` 对应于 `int`,`Double` 对应于 `double` 等。不,`String` 不是Java的基础数据类型。`String` 类在Java中用于表示和操作字符串,它是不可变的,也就是说一旦创建了一个`String`对象,它的内容就不能被改变。此外,`String`类还提供了一些有用的常量,如`String.valueOf()`方法,它可以将其他类型的值转换为字符串表示。

Dyan_csdn的博客 648

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java基础数据类型(基础分析向)

什么是Java基础数据类型? 我想很多人对于Java基本数据类型都是处于够应用的层面,但什么是Java基础数据类型的定义我想很多人都没有仔细了解。 大家可以想象一下,new 是将对象存放在“堆”里的,所以我们如果每次都用new去创建一个对象,特别是小的简单的变量,往往不是很有效,甚至可以说是大材小用。 那么对于这些类型,我们不用new来创建变量,而是创建一个并非是引用的“自动”变量。这个变量直接存...

weixin_44916741的博客 246

Java中基础数据类型

基础数据类型总结 a) 基础类型 byte 8 char 16 short 16 int 32 float 32 long 64 double 64 boolean ~ 注意: ...

闫兆昌的博客 2194

Java 基础数据类型

Java 基础数据类型 基础数据类型 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 整型: byte(字节):byte 数据类型是8位、有符号的,以二进制补码表示的整数,最小 值 是 -128(-2^7) 最大值是 127(2^7-1)默认值是 0; short(短整)short 数据类型是 16 位、有符号的以二进制补码表示的整数,...

spandman的博客 284

Java中基础数据类型与包装数据类型

基础数据类型与包装数据类型

西瓜的博客 823

Java基础数据类型详解

Java的基本数据类型为程序员提供了灵活性和效率。在编程中,选择合适的数据类型不仅影响程序的性能,还影响代码的可读性和维护性。希望通过这篇文章,读者能够对Java的基础数据类型有一个全面的了解。

weixin_47012044的博客 789

在Java中,String 属于基础的数据类型吗?

在Java中,String 属于基础的数据类型吗?

askf01的博客 1006

Java基础:Java数据类型

Java 是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在 Java 中基本数据类型共有 8 种,包括 4 种整型、2 种浮点型、1 种用于表现 Unicode 编码的字符单元的字符类型 char 和一种用于表示真值的 boolean 类型 本篇主要记录内容包括:基础数据类型、对象包装器、字符串、数组

栗筝i的博客 5957

Java中的基础数据类型及其包装类

在 Java 中,​​基础数据类型(Primitive Data Types)​​ 是语言内置的基本数据类型,它们不是对象,而是直接存储值的数据类型。Java 的基础数据类型共有 ​​8 种​​,分为 ​​4 类​​:​​整数类型​​、​​浮点类型​​、​​字符类型​​ 和 ​​布尔类型​​。类别数据类型位数(bits)字节(bytes)取值范围默认值​​整数型​​byte81-128 ~ 1270short1620int324。

qq_57019146的博客 917

Java 基础数据类型详解

Java 的基础数据类型为程序员提供了高效且便捷的方式来处理基本数据。这些类型都有固定的大小和范围,使得在编程时可以精确控制内存的使用。了解并正确使用这些基础数据类型是掌握 Java 编程的第一步。通过这篇文章,希望你对 Java 的基础数据类型有了更深入的理解,并能在实际编程中灵活运用它们。

yimeixiaolangzai的博客 991

Java基础数据类型、包装类、BigDecimal

Java 编程语言提供了八种基础数据类型(primitive data types),它们是语言中最基本的数据类型,用于表示简单的数值和字符信息。这些基础数据类型包括整数型、浮点型、布尔型和字符型。

weixin_43148062的博客 841

Java八股文——Java基础「数据类型篇」

参考小林coding和Java Guide八种基本的数据类型Java支持的数据类型分为两类:基本数据类型和引用数据类型。int和long是多少位,多少字节的?面试官您好,关于int和long这两种Java中的基本数据类型,它们都是用来表示整数的,主要区别在于它们能够存储的数值范围和占用的内存空间。所以,在选择使用int还是long时,主要还是根据我们对业务数据可能达到的最大值的预估来决定的,以确保数据能够被正确存储和处理。

最短的捷径就是绕远路,绕远路才是我的最短捷径。 1126

java 基础数据类型面试_java基础数据类型详解

java基础数据类型详解基础数据类型分类各种基础数据类型所占字节数的大小(单位Byte)整数型数据 byte 1 short 2 int 4 long 8小数型数据 float 4 double 8字符型数据 char 2布尔型数据 boolean 11.1 整数型数据类型数据类型所占空间的大小:byte --- 字节型数据类型,在内存中占用1个Byte,所能表示的范围是多少?-128~127sh...

weixin_42538645的博客 183
上一篇: 【Java初识】在CMD中实现第一个Java程序“Hello, World”
下一篇: 【Java功能体】Java的选择结构和循环结构
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值