JavaSE-运算符和流程控制

时间:2024-01-04 21:57:44

一、运算符

  1.算术运算符:

    (1) 进行混合运算的时候:byte,short,char之间不会相互转换,都会自动提升为int类型 。其他类型进行混合运算的时候都是小的数据类型提升为大的:byte,short,char—int—long—float--double,

        float比long大:

        JavaSE-运算符和流程控制

        JavaSE-运算符和流程控制

    (2)整数被0除产生异常,浮点数被0除得到无穷大或者NaN

    (3)自加(++)、自 减(--)

Int b=++a;//相当于,a=a+1然后赋值给b

Int b=a++;//相当于,b=a然后再计算a=a+1

(4)左加(+=)、左减(-=)、左除(/=)、左取模(%=)

  2.关系运算符:       &&(逻辑与)、||(逻辑或)、!(非)

  3.三元运算符:三元运算符:条件表达式?表达式1:表达式2   //当条件表达式为真时执行表达式1,反之执行表达式2

  4.运算级别判定:右结合运算是从右到左进行运算的,a+=b+=c,等价于a+=(b+=c);&&优先级高于||

二、流程控制

  1.顺序控制:从上到下,从左至右

  2.选择控制:单分支、双分支、多分支

    (1)if语句:

       If判断语句之中,语句体外面那一层的大括号可以省略;多重if语句中,如果满足某一个条件后,立刻退出该控制,即使下面还有满足的判断语句。区别于switch

    (2)Switch语句:

      Switch中可以使用的数据类型主要是:byte,short,int,char,enum(枚举),在1.7版本之后可以使用String了。并且case后面只能是常量或者常量表达式,不能放置变量(即使变量是已知的)

      JavaSE-运算符和流程控制

      运行之后,会打印出1和2;如果i=4,则打印出default和0

  3.循环控制:

    (1)循环体中如果只有一条语句,最外层的大括号可以省去,多条则不行

Int i,j;是合法的编译

For (int i=5,j=1;i<…)是正确的

For (i=5, int j=1;i<…)是错误的

Int i,j

For (i=5, j=1;i<…)是正确的

(2)常见死循环

While(true)

{

}

For( ; ;)

{

}

    (3)break、continue、return三者的区别,(continue是终止本次循环,开始下一次循环)