Junit
学习阶段 ,在main 方法中 ,写了很多练习代码 ,回头复习看的时候很乱 ,所以引入 junit 单元测试。
把每一个知识点 , 写在一个单元测试的方法中。 这样每个知识点讲的是什么就一目了然。
使用 junit 单元测试的步骤:
① 引入依赖的jar
② 定义方法 public void methodName(){
测试的代码
}
③ 在方法上 加上 @Test 注解
④ 双击方法名 点右键 run as Junit Test 出现绿条 表示测试通过 红条表示 测试的代码有问题
注意:@Test 实际上 是使用了 junit jar 包 中的 Test 类 ,自己就不能创建 名为 Test 的 类了 ,可以创建 MyTest TestDemo 等
定义变量
数据类型 变量名; 声明变量 int a; double money;
变量名 = value; 给变量赋值
数据类型 变量名 = value; 声明一个变量 并赋值
数据类型转换
在赋值运算或者算数运算时, 会有数据类型转换的问题,要求数据类型一致 。 否则, 要进行数据类型转换。
八种数据类型
byte short int long float double char 不涉及 boolean
类型转换的方向(范围大的可以包含范围小的)
byte --short,char —int — long —float —double
赋值运算时的数据类型转换
当 左数据类型 > 右边数据类型 自动类型转换
左数据类型 = 右边数据类型 类型一致 就不转换了
左数据类型 < 右数据类型 强制类型转换
布尔类型
boolean 一位 ,不是一个字节 , boolean 有两个值 true 或者 false boolean 类型 常用来做用来判断逻辑条件,一般用于程序流程控制
实践:
请不要这样写:if ( is == true && done == false ) ,
只有新手才那么写,对于任何程序员 if ( whether && !done ) 都不难理解吧。
所以去掉所有的==fasle 和 ==true。
**逻辑运算符 **
逻辑运算符与 [布尔操作数] 一起使用,组成逻辑表达式 逻辑表达式的结果是布尔值
! 非 取反 非真为假 非假为真
&& 和 & 两个操作数都为真 才为真
|| 和 | 只要有一个为真 就为真
短路与 和 逻辑与 ,短路或 和 逻辑或 的 执行结果 是一样的 ,但是 执行过程不一样。
短路与和短路或会先判断, 第一个表达式(操作数的值), 如果能够直接得出结果 , 则直接返回结果 ,不会再执行第二个表达式。
逻辑与和逻辑或 , 会执行两个表达式(操作数)。
&&是短路与运算符,如果左侧表达式的计算结果是false,右侧表达式将不再进行计算。
一个数对同样的数异或两次还是这个数本身
**Java 中的运算符 **
- 算术运算符
+ - * / % ++ --
2、赋值运算符
= += -= *= /= %=
3.关系运算符(比较运算符)
> < >= <= == != 使用关系运算符 运算 返回的结果都是 boolean 类型 即 返回 true 或者 false
4.逻辑运算符
! 非 || 短路或 && 短路与 | 逻辑或 & 逻辑与
5、条件运算符 (三目运算符) exp1?result1:result2; exp1 为真吗? 如果为真 则返回 result1 如果为假 则返回 result2
自增自减
++(自增) 和 - - (自减) 都不经过操作数栈
++ (自增)在后(例如:i=num++) 现将num值放入操作数栈,然后num在栈外自增+1,再将栈内值赋值给i
–(自减)在后 同上,num值先入栈,再进行自减,最后栈内值再赋值给i
++(或者–) 在前 先进行自加(自减),然后将【自加(自减)后的】num值放入操作数栈,再将栈内数赋值给i
@Test
public void test4() {
// 面试题
int i =1;
i = i++; // 1
int j = i++; // j =1 i =2
int k = i+ ++i * i++; // 2 + 3 * 3 i = 4
System.out.println(i); // 4
System.out.println(j); // 1
System.out.println(k); // 11
}
变量的作用域 (重要)
声明在方法内部的变量 是 局部变量
声明在类内部 方法外部的变量 是 成员变量
public class VarDemo {
static String name; // 成员变量 具有默认值
public static void main(String[] args) {
int num; // 声明了一个 int 类型的变量 变量名为 num
num = 5; // 给变量赋值
double d = 4.2; // 声明一个 double 类型的变量 并初始化 初始值为 4.2
int age ;
//System.out.println(age); // 要使用一个局部变量 需要先初始化 要不 不能操作计算这个变量
System.out.println(name);
}
}