javaSE 第三天

Day03

今天内容:

   (1)运算符

   (2)分支结构

1.运算符(重点)

1.1 算术运算符

   + 表示加法运算符       - 表示减法运算符         * 表示乘法运算符

   / 表示除法运算符       % 表示取模/余运算符

注意事项:

   (1)当两个整数相除时,则结果取整数部分丢弃小数部分。

   (2)若希望保留小数部分,则具体方式如下:

       a.将其中一个操作数强制转换为double类型再进行运算即可;

       b.让其中一个操作数乘以1.0提升后再进行运算即可(推荐);

   (3)0不能做除数,0.0可以做除数,但结果是无穷大。

   (4)+既可以表示字符串连接符,也可以表示加法运算符,具体区分方法:

      当+两端操作数只要有一个是字符串时,则按照字符串连接符处理,否则看做加法运算符

1.2 关系/比较运算符

    >  表示是否大于运算符       >=  表示是否大于等于运算符

    <  表示是否小于运算符       <=  表示是否小于等于运算符

    == 表示是否等于运算符       !=  表示是否不等于运算符

    所有关系运算符作为最终运算的表达式结果为boolean类型,只有:true 和 false。                           

1.3 自增减运算符

    + 表示加法运算符         ++ 表示自增运算符,让变量自身的数值加1作为最新的数值

    - 表示减法运算符         -- 表示自减运算符,让变量自身的数值减1作为最新的数值

注意:

   a.对于单个变量来说,++无论放在变量前还是后从结果上来说都是一样的。

   b.对于后++来说,表示先使用变量的数值作为表达式的结果,然后变量的自身再加1;

     对于前++来说,表示先使用变量自身的数值加1,然后再作为表达式的结果;

   

1.4 逻辑运算符

   && 表示逻辑与运算符,相当于"并且",同真为真,一假为假。

   || 表示逻辑或运算符,相当于"或者",一真为真,同假为假。

   !  表示逻辑非运算符,相当于"取反",真为假,假为真。

   

短路特性:

   对于逻辑与来说,当第一个操作数为假时则整个表达式为假,此时跳过第二个操作数的判断

   对于逻辑或来说,当第一个操作数为真时则整个表达式为真,此时跳过第二个操作数的判断

1.5 条件/三目运算符

   条件表达式? 表达式1: 表达式2

       => 判断条件表达式是否成立

              => 若成立,则执行表达式1;

              => 若不成立,则执行表达式2;

   

1.6 赋值运算符

(1)简单赋值

     = 表示赋值运算符,用于使用=右侧的数据来给=左侧变量赋值,也就是覆盖变量原来数值

笔试题:

    ia == 5; - 用于判断ia是否等于5

    5 == ia; - 用于判断5是否等于ia,从结果来说等价,推荐使用该方式

    ia = 5;  - 用于将数据5赋值给变量ia,覆盖ia原来的数值

    5 = ia;  - 编译报错

(2)复合赋值

    +=  -=  *= /= ...

如:

    byte b1 = 5;   

    b1 = b1 + 2;  => b1 += 2;  真正等价的是:b1 = (byte)(b1+2);

1.7 移位运算符(了解)

   << 表示左移运算符,用于将二进制位向左移动,右边使用0填充;

   >> 表示右移运算符,用于将二进制位向右移动,左边使用符号位填充;

   >>> 表示无符号右移运算符,用于将二进制位向右移动,左边使用0填充;

    

1.8 位运算符(了解)

   & 表示按位与运算符,就是按照二进制位进行与运算,同1为1,一0为0(1-真 0-假)。

   | 表示按位或运算符,就是按照二进制位进行或运算,一1为1,同0为0.

   ^ 表示按位异或运算符,相同为0,不同为1.

   ~ 表示按位取反运算符,1为0,0为1.

1.9 运算符的优先级

   a. ()的优先级极高;

   b. =的优先级极低;

   c. * / %的优先级高于 + -,同级的运算符从左往右依次计算

2.分支结构(重中之重)

2.1 基本概念

   在某些特殊场合中,需要进行条件的判断并作出选择时,则使用分支结构。

2.2 if分支结构

(1)语法格式

   if(条件表达式){

      语句块;

   }

(2)执行流程

   判断条件表达式是否成立

       => 若成立,则执行语句块;

       => 若不成立,则跳过语句块;

2.3 if-else分支结构

(1)语法格式

   if(条件表达式){

       语句块1;

   }

   else{

       语句块2;

   }

(2)执行流程

   判断条件表达式是否成立

      => 若成立,则执行语句块1;

      => 若不成立,则执行语句块2;

2.4 if-else if-else分支结构

(1)语法格式

   if(条件表达式1){

      语句块1;

   }

   else if(条件表达式2){

      语句块2;

   }

   ...

   else{

      语句块n;

   }

(2)执行流程

   判断条件表达式1是否成立

       => 若成立,则执行语句块1;

       => 若不成立,则判断条件表达式2是否成立

              => 若成立,则执行语句块2;

              => 若不成立,则执行语句块n;

作业:

   1.复习和总结所学内容,要求前4种运算符和分支结构相关的代码至少敲5遍。

   2.提示用户输入一个三位数的正数,然后进行逆序处理再打印。

     如:

        123 => 321  打印   

   3.使用三目运算符判断用户输入的整数是正数、负数还是零。       

   4.求用户输入四个整数中的最大值并打印(参考PPT)。

   5.根据用户输入的个人薪水来计算个人所得税并打印,其中个税起征点为3500元

    (参考PPT)。   

     个人所得税公式:应纳个人所得税税额=应纳税所得额×适用税率-速算扣除数

猜你喜欢

转载自blog.csdn.net/zgzdcxy/article/details/82736009