Java的数据类型和变量

简介: Java的数据类型和变量

一   标识符


1.标识符和我们学过的C语言中的标识符差不多一样,由字母数字下划线构成,不能以下划线开头,就这点比较中重要,其他没啥可唠的,下一条😎


二      注释


ctrl+shift+/这是代码块的注释与取消

Ctrl+/是行代码的注释,Ctrl+Z是回退

/**加回车是对文档的注释

这些注释符号在平时写代码的过程中经常使用,熟能生巧


三 字面常量


让我们认识一下字面常量吧

字面常量包括以下类别


1.字符串常量


就是拿双引号引起来的一串字符,例如''abcdef''  ''12345''


2.整形常量


程序中直接写的数字,没有小数点


3.浮点数常量


程序中直接写的小数


4.字符常量


程序中写的字符,由'  '引起。例如 :'a'


5.空常量


null(后期为大家更新这一块的知识点)

是不是很简单,很好记,那就继续前进🚀


四    数据类型


Java当中的数据类型包括基本的数据类型和引用的数据类型

我们先来看基本的数据类型,记住有8种哦


byte               字节型                           1个字节数                        取值范围   -2^7 ~ 2^7-1


short               短整型                          2个字节数                        取值范围   -2^15 ~ 2^15-1


int                   整型                              4个字节数                        取值范围   -2^31 ~ 2^31-1


long                 长整型                         8个字节数                         取值范围  -2^63 ~ 2^63-1  


float                  浮点型                        4个字节数                         取值范围  -2^63 ~ 2^63-1


double               双精度浮点型            8个字节数                         取值范围  -2^63 ~ 2^63-1          


char                    字符型                      2个字节数                         取值范围  0~65535          


boolean               布尔型                    不确定                                取值范围:不确定


在Java中没有0为假,非0为真 的说法,只有true和false


这张表就涵盖了基础数据类型的信息了,我们需要注意的是


Java中的int等类型不存在无符号整型,所以按照二进制数来说,最高位一定是符号位,而char类型比较特殊,它表示的是字符,给它赋值也会转换为ASCII码当中的的字母,它的范围没有负数


Java中常常使用Unicode,它默认有两个字节,ASCII默认为一个字节,在C语言中,某些类型的字节数会随着编译器改变,但是Java比较严格,就认定这一种


引用数据类型


包括数组   String 类,接口,枚举......

下面,我将用代码来讲解


/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2022-04-20
 * Time: 21:35
 */
public class TestDemo {
    public static void main7(String[] args) {
        System.out.println();
    }
    public static void main6(String[] args) {
        System.out.println("最大值"+Float.MAX_VALUE);
        System.out.println("最小值"+Float.MIN_VALUE);
    }
    public static void main5(String[] args) {
        System.out.println("最大值"+Double.MAX_VALUE);
        System.out.println("最小值"+Double.MIN_VALUE);
    }
    public static void main4(String[] args) {
        System.out.println("最大值"+Long.MAX_VALUE);
        System.out.println("最小值"+Long.MIN_VALUE);
    }
    public static void main3(String[] args) {
        System.out.println("最大值"+character.MAX_VALUE);
        System.out.println("最小值"+character.MIN_VALUE);
    }
    public static void main2(String[] args) {
        System.out.println("最大值"+Byte.MAX_VALUE);
        System.out.println("最小值"+Byte.MIN_VALUE);
    }
    public static void main1(String[] args) {
        System.out.println("最大值"+Integer.MAX_VALUE);
        System.out.println("最小值"+Integer.MIN_VALUE);
    }
}


以上代码为实现求其取值范围的代码

在Java中,如果要使用局部变量就必须对它进行初始化,否则不能使用。

每个基本数据类型都会对应一个类类型,这就叫做包装类,在代码中的那些如Integer,character,Long,.......这些就是包装类,在之后还会进行详细讲解


五    类型转换


类型转换包括自动类型转换,强制类型转换

自动类型转换就是比如举个最通俗的例子

将一碗水倒入一个大桶里,这是完全足够的对吧,double   a=3不报错。因为


a默认为四个字节,double为八个字节,这里在赋值时发生自动类型转换,


相反,将一大桶水倒入一个小碗中,会漏水,那么就意味着会丢失数据,比如


int    a=4.25,这时会报错的,要想不错,要发生强制类型转换int =(int)4.25


这样就对了


所有小于4个字节的数进行运算的时候,都要先发生整型提升,提升为4个字节才参与运算


3e200c91f8ef4a19b5fe47a9c2dd6374.png


这个是大于4个字节的,要提升为更高的字节数,再进行强转


注意,在Java中,默认float类型中存储的数是double类型的,所以在定义float类型的变量时,后面跟一个F。


六   字符串类型


在Java中,存在字符串类型,String    str="hello",和C语言不同,没有以\0作为结束标志


通过这样的方式求长度

最后一点,在给某个基本数据类型定义的变量赋值时,编译器只会检查它赋的这个字面值是不是满足 它所在的范围,在范围内不会报错啦!


今天就到这里,我们下期再见,886!

相关文章
|
28天前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
68 2
|
6天前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
2天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
15 4
|
14天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
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类型以及涉及到的转义字符
|
30天前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
44 4
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
67 4
|
14天前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
17 0