【Java|基础篇】数据类型与变量

简介: 变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。

变量


变量的概念

变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。

语法格式

数据类型 变量名 = 数值

注意:在Java中,定义的局部变量必须要赋值。

public static void main(String[] args) {

int a;

System.out.println(a);

}

上面这两行代码的运行结果是什么?0?答案是报错,因为a没有进行初始化

2.png

因此如果我们要定义变量时,要记得对变量进行赋值。


数据类型


Java的数据类型可以分为基本数据类型和引用数据类型。基本数据类型有整型、浮点型、字符型和布尔类型。引用数据类型有类、接口、数组和枚举等。


整型

整型类型的变量用来存放整数数值。整型类型有int、short、long和byte


数据类型 大小 取值范围
int(整型) 占4个字节 -231~231-1
short(短整型) 占2个字节 -215~215-1
long(长整型) 占8的字节 -263~263-1
byte(字节型) 占1个字节 -27~27-1

使用方式如下:

   public static void main(String[] args) {

       int a = 1;

       short b = 1;

       long c = 1L;

       byte d = 1;

   }


其中long和byte有一些需要注意的地方:

用long 在定义变量时 要在后面加L或l ,如果不加l或L到,虽然代码也能运行,但编译器会认为它是一个int类型的变量。推荐加L,l会看起来像1.

byte类型的变量的取值范围是-128~127,建议大家记一下

还有一点,在定义变量时,不能超过变量类型的取值范围。

3.png

因为byte类型的变量的取值范围是-128~127,因此超过了byte类型的最大取值范围,因此此时编译器会报错。


浮点数

浮点数有单精度浮点数(float)和双精度浮点数(double).

数据类型 所占空间的大小

float 占4个字节

double 占8个字节

对于float和double类型的数据的取值范围,因为浮点数与整数在内存中的存储方式不同,不能单纯使用2n的形式来计算,Java中浮点数的存储方式与C语言一样,遵循IEEE 754 标准,大家可以去看一下。

   public static void main(String[] args) {

       float a = 1.2f;

       float b = 1.2F;

       double c = 2.6;

   }


注意

float类型的数据在定义时,要在后面加f或者F

因为float的精度比较小,因此以后在定义浮点数类型的数据时,建议使用double

字符型

字符型也就是char类型。char类型的大小是2个字节,取值范围为:0~65535,不能表示负数

char类型在定义变量时要加上’'(单引号)

Java 中使用 Unicode 表示字符. Unicode的环境下汉字占2个字节,因此char类型可以表示汉字。

   public static void main(String[] args) {

       char a = '张';

       char b = 'A';

   }


布尔类型

布尔类型(boolean)用于判断真假,java中true为真,false为假,因此boolean类型的变量的值就两个,就是true和false。

public static void main(String[] args) {

       boolean a = true;

       boolean b = false;

   }

boolean可以直接赋值为true和false,也可以给一个可以判断真假的表达式。

boolean非常特殊,JVM并没有明确大小


字符串类型

字符串类型属于引用数据类型,是String类定义字符串类型。这个后面还会讲到,先来了解它的基本用法。

看下面这段代码及运行结果:


 public static void main(String[] args) {

       String a = "hello";

       String b = "world";

       System.out.println(a.length());

       System.out.println(a+" "+b);

   }

4.png


结论:


1.Java中的字符串不是以\0结尾的

2.字符串的长度可以直接通过变量名.length()获得

3.字符串的拼接用+

相关文章
|
24天前
|
存储 缓存 安全
除了变量,final还能修饰哪些Java元素
在Java中,final关键字不仅可以修饰变量,还可以用于修饰类、方法和参数。修饰类时,该类不能被继承;修饰方法时,方法不能被重写;修饰参数时,参数在方法体内不能被修改。
24 2
|
2月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
251 2
|
1月前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
22天前
|
Java
Java基础之数据类型
Java基础之数据类型
17 6
|
23天前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
47 7
|
1月前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
1月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
53 4
|
1月前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
37 1
|
2月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
2月前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
38 0
[Java]“不同族”基本数据类型间只能“强转”吗?