第3天

1.运算符:

1)算术运算符:+,-,*,/,%,++,--

1.1)%:取模或者取余,余数为0即为整除

1.2)++和--:自增1和自减1,可在变量前也可在变量后

1.2.1.单独使用时,在前在后都一样(只有a++;或者++a;其他别的什么都没有)
1.2.2.被使用时,在前在后不一样(除了a++;或者++a;还干了别的事)
a++的值为a
++a的值为a+1
注意:无论是单独使用还是被使用,只要执行了a++或者++a,a的本身就已经自增1

2)关系运算符:>,<,>=,<=,==,!=(若想干某件事是由一个条件控制的)

2.1)用于判断,结果只有两种:true或者false

2.2)关系运算的结果为boolean型,关系成立则为true,关系不成立则为false

3)逻辑运算符:&&,||,!(若想干某件事是由多个条件控制的)

结合案例:年龄判断程序AgeRange

3.1)短路与&&(并且):两边都为真则为真,见false则false

若第1个数为false,则发生短路(后面的语句就不执行了)

3.2)短路或||(或者):有一边为真则为真,见true则true

若第一个数为true,则发生短路(后面的语句也不执行了)

3.3)逻辑非!(取反):非真即假,非假即真

注意:逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果也是boolean型的
补充:
  短路与&& 和 逻辑与& 的区别:
    1)短路与是第一个数为假,后面条件语句不执行
    2)逻辑与是不管前面条件真假,后面语句依然执行

4)赋值运算符:=,+=,-=,*=,/=,%=

4.1)简单赋值运算符:=

4.2)拓展赋值运算符:+=,-=,*=,/=,%=(拓展赋值自带强转功能)

常见面试题:
    short s=5;
    s += 10;//严格意义上讲,相当于s=(short)(s+10);
    s=s+10;//编译错误,数据类型不匹配,需要强转

5)字符串连接:+

5.1)若两边为数字,则做加法运算

5.2)若两边出现了字符串,则做字符串连接

注意:字符char:单引号中,只能且必须有一个,不允许空字符
     字符串String:放在双引号中,可以0个到多个,长度没有限制

6)条件/三目运算符

结合案例:闰年判断程序LeapYear

6.1)语法:boolean?数1:数2;

6.2)计算boolean的值:

若为true,则整个表达式的结果为数1
若为false,则整个表达式的结果为数2

2.分支结构:基于条件的执行

1)if结构:1条路(满足条件就干事,不满足条件则不干事)

结合案例:柜台收银程序Casher--第3种判断是否符合满500打8折

            if(boolean){
                        语句块;
                }

2)if-else结构:2条路(满足条件就干事,不满足条件则干另一件事)

结合案例:柜台收银程序Casher--第3种判断顾客给的钱够不够

            if(boolean){
                        语句块;
            }else{
                        语句块;
                }

课后练习:-------------------day04包中

1.创建类ScoreLevel,要求:

接收用户输入的成绩score(int型),并输出

2.创建类CommandBySwitch,要求:

接收用户输入的命令command(int型),并输出

3.完成经典案例:

1)AgeRange年龄判断程序
2)LeapYear闰年判断程序
3)Cashier柜台收银程序

4.练习小代码:------------------------每人至少一次

1)算术运算符号一段
2)关系/逻辑运算符一段
3)赋值/字符串连接/三目一段

5.完成课后作业