什么是变量?
- 一个变量就代表内存中的一块空间,用来存储数据。
- 变量就是容纳数据的容器。以上两句话读起来不太好理解,用通俗的说就是:在程序运行中会用到数据,但是数据又不是固定的(固定的叫常量),此时需要变量去存储数据。
在Java中,必须先定义类型,再去使用存储数据。只要定义了变量,就占用了一块内存空间。如何定义变量呢?看一下下面的代码:
![c68e10eb449616078eb2b4d528e35540.png](https://img-blog.csdnimg.cn/img_convert/c68e10eb449616078eb2b4d528e35540.png)
定义一个变量就是:数据类型+变量名
针对上述代码理解的话就是在内存空间里,开辟了一个命名为a的空间用来存储数据,这个空间的类型为int。
那么有人会提问了,int是什么?什么是数据类型?那我们接着往下看
什么是数据类型?
Java数据类型分为两大类:
- 基本类型
- 引用类型
基本数据类型如下图:
![8f8a6595799b386c4e1da4a8ecbb2bbb.png](https://img-blog.csdnimg.cn/img_convert/8f8a6595799b386c4e1da4a8ecbb2bbb.png)
其中整型和浮点类型可以存储阿拉伯数字,字符型可存储任何生活中基本用到的文字、英文、包括数字等。布尔型只要只能存储两个字段:true和false。
那么整型为什么这么多种呢?实际上它们能存储的数值大小是不同的。咱们看一下下面这张图:
![56fa1fe85344681297d89862b1585f00.png](https://img-blog.csdnimg.cn/img_convert/56fa1fe85344681297d89862b1585f00.png)
上图中已经表述了不同整数类型可存储的数值范围,那么浮点类型float和double的区别呢?
- float是单精度类型,精度是6(-7)位有效数字,占用4个字节的存储空间
- double是双精度类型,精度是15位有效数字,double占用8个字节的存储空间
另外需要注意的是,定义float类型数值,需在数值末尾加f,例如:float a = 3.14f
那么char类型定义有什么规范吗?当然有。
- 使用单引号表示一个字符,占2Byte字节,例如:‘A' , '你'
- 如果不加单引号,只写数字,根据ASCII编码表,实际表示是A
Boolean类型很容易,只有true和false两个值,占1Byte字节。
String是不是基本数据类型?
在面试中,这个问题是一个很基础的面试题。这个答案是否的,String是上面所说的引用类型,在开发中,String类型被广泛使用,使用双引号表示一段字符串,例如:String a = "你好"
本篇要点:
Java是强类型的语言,什么是强类型?
数据的类型和保存数据的变量的类型必须一致。
![82f5363272cb9aec73c451ed76922e09.png](https://img-blog.csdnimg.cn/img_convert/82f5363272cb9aec73c451ed76922e09.png)