【Java SE】基本数据类型(上)

简介: 本期我们正式开始进入 Java 的学习,在正式开始之前,我们需要简单的认识下 Java 中的常量。

1、什么是常量?

本期我们正式开始进入 Java 的学习,在正式开始之前,我们需要简单的认识下 Java 中的常量。

Java常量的定义:在程序中永恒不变的值,同时也不能被改变的值我们称为常量。

1.1 Java常量分类:

整型常量:像我们计算机所能识别的二进制,以及我们生活中常用的十进制等等,都是整型常量,但我们要注意,我们为了区分不同的进制,八进制是以0开头,十六进制则以0x开头,当然表示十进制数不能用0开头!

浮点数常量:我们生活中用到的小数都可以算是浮点数常量,在 Java 中浮点数又为单精度浮点型和双精度浮点型,用 floatdouble 来表示,而且默认是 double,而且浮点常量还可以用指数来表示例如:4.9E-324

字符常量:在 Java 中也有字符常量,而且只用来表示单个字符,如果你看到是用一对英文单引号引起来的单个字符,那肯定就是字符常量了,但也不排除用转义序列来表示的特殊字符。

字符串常量:这个相信就很好理解了,字符串常量也就是用英文双引号引起的字符串例如:"hello world" ,同时你也可以不包括任何字符:"" 这样就为一个空字符串,也就是长度为0的字符串。

布尔常量:此常量主要就是用来区分真假的,在一个逻辑表达式中,他最终得出的结果也就是 true或者false,而且 Java 中并不存在 0 为假 非0 为真!

空常量(null)空常量主要用于表示对象的引用为空,而且他只有一个值:null

2、基本数据类型

在 Java 中我们一共有两类数据类型:基本数据类型引用数据类型,但是我们今天主要是来认识基本的数据类型:

2.1 类型的基本认识:

image.png

  • 字面常量值中,整数默认为 int 类型,浮点数默认为 double 类型
  • 数据类型大小不会随着平台的改变而改变,这也体现出 Java 跨平台性
  • 整型家族和浮点数家族不存在无符号数,都是有符号数

2.2 为什么会出现数据类型?

可能有的小伙伴以前没接触过C语言,一来就开始接触 Java,估计有很多小伙伴会觉得,整那么多数据类型干嘛?又难记,我搞一个笼统的类型,就用一两个数据类型就解决了多好,还省时省力。

那么这里我们就来讨论下为什么需要那么多的数据类型?

我不知道大家伙有没有带过帽子,我记得我路过商店的时候,有许多人在买帽子,每个人呢都会拿起帽子在戴在头上看一看,试试合不合适,有的人头大买大帽子,有的人头小买小帽子,那么这里问题来了!

如果张三的头很小,他买一个大帽子,可以吗?可以!但是不好看,戴着也不舒服,还浪费了帽子的充裕的空间,说不定还挡住眼睛。

如果张三的头很大,他买一个小帽子,可以吗?不可以!因为张三根本戴不进去!那不难受死了吗?除非张三愿意舍弃他的帅气的造型去剃光头!

那我们想想,数据类型有大有小,你一个很小的值放入一个 long 类型是不是会造成空间浪费?就比如我只需要打印 99乘法表,最大才是 81,那不白白浪费了空间吗?那如果我们有一个很大的值,比如 10000,我们就想把它放入 byte 类型中,放得下吗?放不下!有的人说编译器会自动截断!这 Java 语法可比 C语言严谨,还有的人说强制类型转换,那肯定可以,那就好比你只要舍得剃光头,就能戴上那顶帽子!

总结:有了不同了类型,确定了变量的大小,系统更容易分配空间,也可以更方便程序员用不同的类型去实现不同的需求防止空间浪费

3、变量和数据类型

3.1 什么是变量?

变量其实来源于数学,相信大家都听过一句话,x 自变量, 还有什么自变量越大函数值越小等,那么在计算中,变量是可以通过变量名来访问的,也就是 Java 中常说的标识符,我们定义一个变量的名字也就叫做标识符。既然是变量,那肯定是能被改变的量,但是也有例外,比如在纯函数语言Haskell 变量就有可能是不可变的,但是今天我们只讨论 Java。张三今天心情好,定义了一个字符串类型 String str = "I am happy!";突然有一天张三心情变差了,就把 str 字符串变量改成 str  = "I am very unhappy!";这就是变量,你想变就能变。(字符串类型后续讲解,属于引用数据类型)

注:Java中变量要赋初值,不然编译会报错!

3.2 标识符的命名规则

【硬性规则】

  • 标识符中可以包含数字,字母,下划线和 $ 符号等
  • 标识符不能以数字开头,不能是关键字 if for 等...并且严格区分大小写

【建议遵守】

  • 类名:每个单词的首字母大写(大驼峰)
  • 方法名:首字母小写,后面每个单词首字母大写(小驼峰)
  • 变量名:首字母小写,后面每个单词首字母大写(小驼峰)
  • 建议不要使用下划线开头,反例:_price
  • 禁止使用拼英!反例:jiage
  • 不要过度缩写,要见名之意

目前就先建议这么多,后面碰到了我们再提一嘴,一个良好的编程规范对你我都好!

这里还想强调一点, Java 中的代码风格,左括号前是不换行的,右括号如果后面有 else 也是不换行的

3.3 整型家族变量

public class TestDemo {
    public static void main(String[] args) {
        int a = 10;
        System.out.println(Integer.MAX_VALUE); //打印 int 能存储的最大值
        System.out.println(Integer.MIN_VALUE); //打印 int 能存储的最小值
        short s = 20;
        System.out.println(Short.MAX_VALUE); //打印 short 能存储的最大值
        System.out.println(Short.MIN_VALUE); //打印 short 能存储的最小值
        long l = 30L;
        System.out.println(Long.MAX_VALUE); //打印 long 能存储的最大值
        System.out.println(Long.MIN_VALUE); //打印 long 能存储的最小值
        char c = 'w';
        System.out.println(Character.MAX_VALUE); //打印 char 能存储的最大值(符号)
        System.out.println(Character.MIN_VALUE); //打印 char 能存储的最小值(符号)
    }
}

这里我们有几点要注意:

  • 这些变量类型在任何系统上的大小都不会改变
  • int 的包装类为 Integershort 的包装类为 Shortlong 的包装类为 Longchar 的包装类为 Character 这些类不了解没没关系,后期会一一讲解
  • 长整型后面建议加上l或L,第一为了与 int 区分,但更建议加大写L,小写 l 与 1 不好区分
  • Java中 char 占两个字节,因为使用的是 Unicode 编码,表示的字符种类更多,包括中文。
  • 如果使用 javac 编译的话,如果程序中有中文,可能会报错,此时我们在 javac 时加上 -encoding UTF-8 Test.java 就行了
相关文章
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
68 2
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
50 1
|
2天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
17 4
|
15天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
30 0
[Java]“不同族”基本数据类型间只能“强转”吗?
|
2月前
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
50 2
java基础(9)数据类型中的char类型以及涉及到的转义字符
|
1月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
44 4
|
14天前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
17 0
|
2月前
|
存储 Java
Java内置数据类型和实例的详解
Java内置数据类型分为基本和引用两类。基本数据类型包括整型(`byte`、`short`、`int`、`long`)、浮点型(`float`、`double`)、字符型(`char`)和布尔型(`boolean`),用于存储简单的数值;引用数据类型则用于存储对象的引用,包括类(如`String`)、接口和数组。掌握这两类数据类型是Java编程的基础。以下示例展示了各种数据类型的使用方法。
|
2月前
|
Java
java基础(10)数据类型中的整数类型
Java中的整数类型包括byte、short、int和long。整数字面值默认为int类型,加L表示long类型。整数字面值可以是十进制、八进制(0开头)或十六进制(0x开头)。小容量类型(如int)可自动转换为大容量类型(如long),但大容量转小容量需强制转换,可能导致精度损失。
39 2
|
27天前
|
Java 编译器 C++
【编程基础知识】Java基本数据类型
Java的基本类型包括五类九种,涵盖了整型、浮点型、字符型、布尔型和void。成员变量即使未初始化也有默认值,但局部变量必须显式初始化,否则编译会报错。示例代码展示了各种基本类型的默认值和极限值。
31 0