Java自动化测试(数组/运算符 预习2)
引用类型
引用类型的变量它就是指的一个内存地址,一个位置信息
引用类型分类
- 类
- 数组
- 接口
- 枚举
1
2
3
4
5
6
7
8
9
10package com.zhongxin.variable;
public class RefVariable {
public static void main(String[] args) {
String s1 = "中文";
System.out.println(s1);
s1 = s1 + "英文";
System.out.println(s1);
}
}
数组
数组是一种数据结构,它是一个容器,用来盛放数据。不同类型的数组可用盛放不同类型的数据。
特点
- 容量确定,定义的时候必须指定数组的
大小
。 - 类型确定,定义的时候必须声明数组的
类型
。
分类
- 一维数组
- 多维数组
创建一个数组
创建一个数组,但是没有初始化数组的元素。这种情况需要显式的指定数组大小。
数据类型[ ] 数组名 = new 数据类型[size];
1 | int[] myArr = new int[3]; |
创建一个数组,并已知数组的内部元素
类型[] 数组名 = {...};
1 | int[] myArr = {0,1,2}; |
1 | package com.zhongxin.variable; |
例子:
1 | char[] a = {'a', 'b', 'c'}; |
二维数组
二维数组定义语法1
数据类型[][] 数组名 = {{...}, {...}, {...}};
1 | int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; |
二维数组定义语法2
数据类型[][] 数组名 = 数据类型 [二维数组长度][二维数组中一维数组的长度];
1 | int[][] arr2 = new int[2][2];//{{0,0},{0,0}} |
越界
1 | System.out.println(arr2[0][100]); |
1
2 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100
at com.zhongxin.variable.ArrayDemo2.main(ArrayDemo2.java:18)
1 | package com.zhongxin.variable; |
运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 其他运算符
算术运算符
整数类型和整数类型运算只能得到整数类型
1 | System.out.println(10 / 3);//3 |
% 取模 取余
前面的数比后面的数小 那么就返回前面的值
1 | System.out.println(10 % 5); // 0 |
自增 自减
1 | int i = 1; |
- 参与运算 ++在
后面
先把变量的值取出来赋值(赋值运算)再自增 - 参与运算 ++在
前面
先把变量的值自增1,再把值取出来赋值
1 | int x = i++; |
1 | package com.zhongxin.operator; |
关系运算符
关系运算符返回boolean类型
>
<
>=
<=
==
!=
1 | package com.zhongxin.operator; |
逻辑运算符
&
与|
或!
非
1 | package com.zhongxin.operator; |
&& || 和& |最终结果是一样的 可以提高性能
造成短路,当逻辑运算符左边已经决定整个结果时,右边不执行
1 | int a = 10; |
赋值运算符
赋值运算符=
扩展赋值运算符
-=
+=
*=
/=
1 | package com.zhongxin.operator; |
强制类型转换
大的变小的
1 | double d = 3.14; |
隐式类型转换
大的数据类型和小的数据类型运算时
1 | System.out.println(10.0 / 3); |
1 | package com.zhongxin.operator; |
三目运算符
又称三元运算符
a ? b : c;
当a
为真返回b
否则返回c
1 | package com.zhongxin.operator; |