【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、大厂笔试真题:字节跳动、美团、百度、腾讯…


相关文章
|
21天前
|
Java 开发者 UED
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
34 3
|
4天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
|
4天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
4天前
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
4天前
|
存储 Java
Java内置数据类型和实例的详解
Java内置数据类型分为基本和引用两类。基本数据类型包括整型(`byte`、`short`、`int`、`long`)、浮点型(`float`、`double`)、字符型(`char`)和布尔型(`boolean`),用于存储简单的数值;引用数据类型则用于存储对象的引用,包括类(如`String`)、接口和数组。掌握这两类数据类型是Java编程的基础。以下示例展示了各种数据类型的使用方法。
|
22天前
|
Java 开发者
Java多线程教程:使用ReentrantLock实现高级锁功能
Java多线程教程:使用ReentrantLock实现高级锁功能
22 1
|
19天前
|
存储 安全 Java
java基础Java的Deque之Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque
在实际编程中,合理利用Java的Deque和它的具体实现,可以在不同的应用场景中发挥高效和线程安全的队列管理功能。通过了解和比较Deque的不同实现,可以根据应用需求做出适当的技术选型,以支持高效且健壮的应用架构。
11 0
|
20天前
|
Java API
Java与Lua互相调用简单教程
【8月更文挑战第29天】在软件开发中,Java以其强大的稳定性和广泛的生态系统著称,而Lua则因其轻量级、灵活和嵌入式的特点在脚本编写、游戏开发等领域大放异彩。将两者结合使用,可以充分利用Java的底层能力和Lua的快速开发优势。本文将通过一个简单的教程,介绍如何在Java程序中嵌入并执行Lua脚本,以及如何在Lua中调用Java方法。
18 0
|
4天前
|
存储 缓存 安全
【Java面试题汇总】多线程、JUC、锁篇(2023版)
线程和进程的区别、CAS的ABA问题、AQS、哪些地方使用了CAS、怎么保证线程安全、线程同步方式、synchronized的用法及原理、Lock、volatile、线程的六个状态、ThreadLocal、线程通信方式、创建方式、两种创建线程池的方法、线程池设置合适的线程数、线程安全的集合?ConcurrentHashMap、JUC
【Java面试题汇总】多线程、JUC、锁篇(2023版)
|
15天前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
75 6
【Java学习】多线程&JUC万字超详解