1.学习内容
1)变量
1)在静态方法中只能“直接”调用静态变量
2)局部变量:在方法体中或者代码块儿中定义;必须赋值之后才能使用
3)final修饰的剧本数据类型值不可变;final变量命名通常全字母大写
2)运算
1)java中可以对小数取模(求余数)
2)<<左移(乘法) >>右移(除法)
从乘除法运算角度理解 2<<3 等价于2 * 2的3次幂
8>>3 等价于8 / 2的3次幂
为什么位运算效率要比乘法除法高?
CPU角度:CPU只能执行加法减法。执行乘法除法的时候是重复执行很多次加法减法
2)自增和自减 操作符放在变量前++a 先运算,后使用;操作符放在变量后a++ 先使用后运算
3)三目运算符 格式为:布尔表达式 ?trueValue : falseValue
4)&与&&的区别 &要求两边都计算出结果 &&不一定需要两边都计算出结果
5)异或^:对对碰原则,相同为0,不同为1
a^b = b^a(满足交换律) a^(b^c) = (a^b)^c(满足结合律)
6)+= 有做强制转换 如:short s = 1; s += 1;int范围不是比short大么,那为什么可以这样写呢?因为s += 1实际上是 s = (short)s + 1做了强制转换
3)做一个专家系统:经过多次判断,在相应的结果中找到最优解
==与equals的区别
==在比较基本数据类型时比较的是值,在比较引用数据类型时比较的是内存地址
equals在object类中是比较的地址,地址不同再比较的值
Scanner sc = new Scanner(System.in);//实例化一个scanner对象用来接受键盘输入
4)判断结构
1)switch
格式:switch(x){
case x:
代码块儿;
break;
default: //当所有的case都没有匹配时进入执行,必须放在最后
代码块儿;
}
2)if else; if...else if...else
5)循环结构
1)while(循环条件){ }
do{ }while(循环条件);
2)for循环
格式:for(初始化表达式;循环条件;循环后的操作){ 语句块 }
2.作业
作业内容:专家系统
基本功能:
1.定义4个以上的数据维度(如:性别,年龄,工作,薪资):要求包含至少两种数据类型
2.使用嵌套的选择结构:if以及switch两种方式实现多层判断,并有相应的输出信息
3.从控制台读取数据进行动态赋值
4.使用循环结构实现系统的循环执行,并能够控制终止
扩展功能(有基础同学):
1.高级数据校验功能(提升系统稳定性)-能处理非法数据输入时的情况
2.将所有可能出现的情况都进行囊括-提升用户体验