一、变量
什么是变量
在Java中,变量是程序里最基本的存储单元,它由变量名、变量类型、作用域组成。从本质上来说,变量其实就是内存里的一小块存储区域,该区域只能存储声明变量时指定类型的数据。我们创建使用每个变量前,必须先声明,在内存中申请空间,然后对其进行初始化赋值,接着就可以通过变量名来访问和使用这块内存区域了。
变量其实就是一个可以存储特定类型数据的容器。这个容器在内存中有自己的地址,为了方便地找到这个地址,我们可以给每个地址起个“名字”,这就是“变量名”。每个变量的数据类型都是固定不变的,但变量中对应数据的具体内容,却是可以改变的,所以“变量”指的就是内容可以改变的量。
变量命名规则
语法规则
1 | 1、Java标识符由 字母(含英、中、日、俄等)、数字、下划线"_" 和 美元符号$; |
Java的变量名也是一种标识符,所以必须遵循以上这些规则!另外还有一些命名规范需要我们尽量遵守,比如:
1 | 1、变量名尽量要做到见名知意。在实际开发时尽量不要写a、b、c这种名称; |
变量的使用
1、声明变量,根据数据类型在内存申请空间
1 | int bunny; |
2、赋值,即“将数据存储至对应的内存空间”
1 | bunny = 100; |
3、使用变量,即“取出数据使用”
1 | System.out.println(bunny); |
前两步可以合并
1 | int bunny = 100; |
常量
在程序运行中,其值不能改变的量。使用“final ”修饰
优点:比较安全
推荐做法:
(1)常量名通常大写
(2)不同字符使用下划线分隔
(3)只能被赋值一次,通常定义时即对其初始化
1 | final int BUNNY_AGE = 100; |
二、数据类型
字符串类型
String
基本数据类型(8种)
整数类型
byte: 占用一个字节。范围:-128/127
short: (短整型)占用两个字节。范围:-32768/32767
int: (整型)占用四个字节。 范围:-2147483648/2147483647
long: (长整型)占用八个字节。范围:-9223372036854775808/9223372036854775807
在定义long类型时,需要在值的后面加上L。
浮点类型(小数类型)
float(单精度浮点数): 占用四个字节。
double(双精度浮点数):占用八个字节。
注意:在定义float类型时,需要在值的后面加上F,因为默认为双精度浮点数。
布尔类型
boolean:占用一位,它的值只有true或者false两种。
字符类型
char: 占用两个字节
三、类型转换
自动转换
规则1:如果一个操作数为double型,则整个表达式可提升为double型。
规则2:满足自动类型转换的条件:两种类型要兼容、数值类型(整型和浮点型)互相兼容、目标类型大于源类型。
例如:double 型大于 int 型
强制转换
在Java中,只需在表达式的前面添加“(数据类型)”就可以强制类型转换
1 | int b = (int)10.2; |
四、Scanner使用
导包
1 | import java.util.Scanner; |
创建对象
1 | Scanner input=new Scanner(System.in); |
获取数据。不管是什么类型,建议使用这个,然后再去转换。
1 | String s = input.nextLine(); |
五、运算
赋值运算符
变量名 = 表达式;
表达式就是符号(如加号、减号)与操作数(如b,3等)的组合
基本的算术运算
+、-、*、/、%、++、–
特别的:
取余运算符(%):可以用于获取两个数值类型的变量相除后的余数。
a++; 相当于 a = a + 1;
a–; 相当于 a = a - 1;
复合算术运算符
+=、-=、*=、/=、%=
例如:
int a = 10;
a += 2; 等价于 a = a + 2;
关系运算符
Java关系运算符用于比较两个值之间的关系,返回布尔类型的结果,通常用于控制流语句和循环语句的条件判断。Java中有6个关系运算符,分别是:
1、大于(>):如果左侧操作数大于右侧操作数,则返回true,否则返回false。
2、小于(<):如果左侧操作数小于右侧操作数,则返回true,否则返回false。
3、大于等于(>=):如果左侧操作数大于或等于右侧操作数,则返回true,否则返回false。
4、小于等于(<=):如果左侧操作数小于或等于右侧操作数,则返回true,否则返回false。
5、等于(==):如果左右两侧操作数相等,则返回true,否则返回false。
6、不等于(!=):如果左右两侧操作数不相等,则返回true,否则返回false。
逻辑运算符
Java中的逻辑运算符包括AND(&&)、OR(||)和NOT(!)。这些运算符通常用于布尔值的操作,它们可以将多个布尔值组合成一个复杂的布尔表达式,以便进行条件测试和控制流程。
条件运算符(三目)
Java中的三目运算符也称为条件运算符,是一种简单的条件语句,可以用于替代if-else语句中简单的判断条件。三目运算符由三个部分组成:一个判断条件,一个true结果和一个false结果。
三目运算符的基本语法如下所示:
结果 = (条件) ? 表达式1 : 表达式2;
其中,“条件”为要判断的条件,“表达式1”是当条件为true时返回的值,“表达式2”是当条件为false时返回的值。整个表达式的值将根据条件的真假而确定。
运算符优先级
单目运算符包括! ++ –,优先级别高
优先级别最低的是赋值运算符
可以通过()控制表达式的运算顺序,()优先级最高。所以复杂表达式可以多加写括号方便识别。
从右向左结合性的只有赋值运算符、三目运算符和单目运算符
算术运算符 > 关系运算符 > 逻辑运算符