【Java基础教程】Java数据类型

简介: Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。

65e6e9499736459d941b7a39b5fb1e73.jpg


基础数据类型💬💬💬



整数类型


Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。


整型常量


整型常量有三种表达形式:十进制、八进制、十六进制

十进制数:由0~9组成,但不能以0开头。例如23,100

八进制数:由0~7组成,且以0开头。例如027,015

十六进制数:由0~ 9和A~ F组成,且以0x开头。例如0x2C,0x3B

Java中有四种整数类型,分别是byte、short、int、long



整数类型 占用字节数 数据位 表示范围
byte 1 8位 -128~127
short 2 16位 -32268~32767
int 4 32位 -2147483648~2147483647
long 8 64位 -2的63次方~2的63次方-1


public class User {
    public static void main(String[] args) {
    int a = 1;
    System.out.println(a);
    }
}
1


浮点数类型


浮点型常量是可以带小数点的数据类型,有两种表示形式:小数点形式、指数形式

小数点形式:由整数部分,小数点和小数部分组成。例如2.34,12.76

浮点型数据可以分为单精度浮点数(float)和双精度浮点数(double)


浮点数类型 占用字节数 数据位 范围
float 4 32位 -3.4e38~3.4e38
double 8 64位 -1.7e308~1.7e308


public class User {
    public static void main(String[] args) {
    float a = 1;
    System.out.println(a);
    }
}
1.0


字符类型


在Java中,字符常量是用单引号括起来恩典单个字符,如’a’,‘B’,‘1’

在Java语言中,还存在一种特殊的字符常量,称为转义字符。它是以\开头的字符序列。

常见转义字符如下表所示


转义字符 含义
\r 回车
\n 换行
\t 水平制表符(相当于tab,缩进)
\b 退格符(Backspace)
\f 换页符


布尔型


布尔型常量只有两个值:true(真)和false(假)


public class User {
    public static void main(String[] args) {
    boolean a = true;
    System.out.println(a);
    }
}
true


字符串类型


字符串类型是用双引号括起来的由一个或多个字符构成的序列


public class User {
    public static void main(String[] args) {
    String a = "hello Java world";
    System.out.println(a);
    }
}
hello Java world


引用数据类型💬💬💬



引用数据类型是建立在八大基本数据类型基础之上,包括数组、接口、类。引用数据类型是由用户自定义,用来限制其他数据类型。简单的说,除八大基本类型之外的所有数据类型,都为引用数据类型。

所有引用类型的默认值都为 null 。


数据类型转换💬💬💬


数据范围从小到大

byte < char,short< int < long < float < double


自动类型转换


把一个表示数据范围小的数值或者变量赋值给另一个表示范围大的变量

例如:double a = 10

public class User {
    public static void main(String[] args) {
        // 自动类型转换
        double a = 10;
        System.out.println(a); // 10.0
    }
}


强制类型转换


把一个表示数据范围大的数值或者变量赋值给另一个表示范围小的变量

例如:int h = (int)77.77;

如果直接double转换int会报错


fd09f798f8a74e338c76b44a6255c2d2.png


这时需要强制类型转换为int类型(不建议使用,使用会有损耗)


public class User {
    public static void main(String[] args) {
        // 强制类型转换
        int h = (int) 77.77;
        System.out.println(h); // 77
    }
}


结束语🏆🏆🏆


🔥推荐一款模拟面试、刷题神器网站

点击跳转进入网站

1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单

2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题

3、大厂笔试真题:字节跳动、美团、百度、腾讯…


目录
相关文章
|
8天前
|
SQL 安全 Java
「滚雪球学Java」教程导航帖(更新2024.07.16)
《滚雪球学Spring Boot》是一个面向初学者的Spring Boot教程,旨在帮助读者快速入门Spring Boot开发。本专通过深入浅出的方式,将Spring Boot开发中的核心概念、基础知识、实战技巧等内容系统地讲解,同时还提供了大量实际的案例,让读者能够快速掌握实用的Spring Boot开发技能。本书的特点在于注重实践,通过实例学习的方式激发读者的学习兴趣和动力,并引导读者逐步掌握Spring Boot开发的实际应用。
18 1
「滚雪球学Java」教程导航帖(更新2024.07.16)
|
7天前
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
22 2
|
8天前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
20 3
|
5天前
|
Java 数据安全/隐私保护
Java无模版导出Excel 0基础教程
经常写数据导出到EXCEL,没有模板的情况下使用POI技术。以此作为记录,以后方便使用。 2 工具类 样式工具: 处理工具Java接口 水印工具 导出Excel工具类 3 测试代码 与实际复杂业务不同 在此我们只做模拟 Controller Service 4 导出测试 使用Postman进行接口测试,没接触过Postman的小伙伴可以看我这篇博客Postman导出excel文件保存为文件可以看到导出很成功,包括水印 sheet页名称自适应宽度。还有一些高亮……等功能可以直接搜索使用
Java无模版导出Excel 0基础教程
|
5天前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
13天前
|
Java 调度
Java线程的六种状态
Java线程有六种状态: 初始(NEW)、运行(RUNNABLE)、阻塞(BLOCKED)、等待(WAITING)、超时等待(TIMED_WAITING)、终止(TERMINATED)。
33 1
|
2天前
|
监控 Java
Java并发编程:深入理解线程池
在Java并发编程领域,线程池是提升应用性能和资源管理效率的关键工具。本文将深入探讨线程池的工作原理、核心参数配置以及使用场景,通过具体案例展示如何有效利用线程池优化多线程应用的性能。
|
13天前
|
存储 安全 Java
Java面试题:请解释Java内存模型(JMM)是什么,它如何保证线程安全?
Java面试题:请解释Java内存模型(JMM)是什么,它如何保证线程安全?
58 13
|
4天前
|
安全 算法 Java
Java 中的并发控制:锁与线程安全
在 Java 的并发编程领域,理解并正确使用锁机制是实现线程安全的关键。本文深入探讨了 Java 中各种锁的概念、用途以及它们如何帮助开发者管理并发状态。从内置的同步关键字到显式的 Lock 接口,再到原子变量和并发集合,本文旨在为读者提供一个全面的锁和线程安全的知识框架。通过具体示例和最佳实践,我们展示了如何在多线程环境中保持数据的一致性和完整性,同时避免常见的并发问题,如死锁和竞态条件。无论你是 Java 并发编程的新手还是有经验的开发者,这篇文章都将帮助你更好地理解和应用 Java 的并发控制机制。
|
10天前
|
安全 Java 开发者
Java并发编程中的线程安全性与性能优化
在Java编程中,处理并发问题是至关重要的。本文探讨了Java中线程安全性的概念及其在性能优化中的重要性。通过深入分析多线程环境下的共享资源访问问题,结合常见的并发控制手段和性能优化技巧,帮助开发者更好地理解和应对Java程序中的并发挑战。 【7月更文挑战第14天】