JAVA 基础学习第二天

day02 课堂笔记

04_运算符

  • 运算符和表达式
    • 运算符:对常量或者变量进行操作的符号

    • 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式

    • 区别:不同运算符连接的表达式体现的是不同类型的表达式

      • int a = 10; int b = 20, int sum = a + b; 这里由于+是算数运算符,所以表达式为算数表达式
  • 算数 运算符
    • 加 +、减 - 、乘 *:和数学中用法一样

    • 除 /:针对两个整数,相除结果只取商(和数学中不一样)

      • 10 / 3 = 商3 … 余1,使用的/所以结果为3
    • 取余 %:针对两个整数,相除结果只取余数(和数学中不一样)

      • 10 % 3 = 商3 … 余1,使用的%所以结果为1
    • 注意:整数操作只能得到整数,要想得到小数,必须有浮点数参与运算,大部分都是整数运算

    • 字符的+操作:

      • 了解ASCII码表:ASCII (American Standard Code for Information Interchange):美国信息

        交换标准代码,是计算机中"字节到字符"的一套对应关系

      • 总结:char类型相加,参与运算的数据为该char字符在ASCII码表中对应的10进制的int值

      • 例如:‘A’ + ‘B’ = 65 + 66 = 131

    • 字符串的+操作:

      • 当+操作中出现字符串时,这个+就是"字符串连接符"了;在出现字符串前的+都还是算术运算符

      • 总结:字符串相加就是字符串的拼接

  • 自增自减运算符:
    • 自增 ++:变量的值加1
    • 自减 - -:变量的值减1
    • 注意:++和–既可以放在变量的后边,也可以放在变量的前边,区别如下
      • 1.如果变量单独书写,符号在前在后没有任何区别
      • 2.如果变量参与表达式
        • 符号在前:先自增/自减,然后参与运算
        • 符号在后:先参与运算,然后再自增/自减
      • 常见用法:单独使用,这里千万不要给自己出难题
  • 赋值 运算符
    • 赋值 =:将等号右边的值赋给左边的变量;注意java中一个等号(=)是赋值,两个等号(==)才是等于的意思

    • +=、-=、*=、/=、%=:都是先根据符号计算等号两边的值,然后再将结果,赋值给左边

    • 注意:扩展的赋值运算符隐含了强制类型转换

  • 关系 运算符
    • 注意:所有的关系运算符,判断的结果都是boolean类型,不是true就是false,没有其他

    • ==:判断等号两边是否相等,成立返回true,不成立返回false

    • !=:判断等号两边是否不相等,成立返回true,不成立返回false

    • 其余的>、>=、<、<=:都是常规的判断,成立返回true,不成立返回false

  • 逻辑 运算符
    • 逻辑与 &:两边都是true,结果为true,否则为false

      • 短路与 &&:和单&作用一样,自带短路效果,遇false短路(右边就不判断了)
    • 逻辑或 |:两边都是false,结果为false,否则为true

      • 短路或||:和单|作用一样,自带短路效果,遇true短路(右边就不判断了)
    • 逻辑异或 ^:果不同为true,相同为false(不常用)

    • 逻辑非 !:结果和表达式的结果正好相反(不常用)

    • 注意:以后我们的代码中,都用短路逻辑运算符

  • 三元 运算符
    • 格式:关系表达式 ? 表达式1 : 表达式2;

      • 规则:

        首先计算关系表达式的值
        如果值为true,表达式1的值就是运算结果
        如果值为false,表达式2的值就是运算结果

    • 示例1:100 > 50 ? true : fasle; //判断100大于50吗?如果大于返回true,如果不大于返回false

    • 示例2:200 > 100 ? 200 : 100; //判断200大于100吗?如果大于返回200,如果不大于返回100

    • 注意:三元运算符运算结果,要在左边用相同类型的变量接收

    • 示例3:boolean result = 100 > 50 ? true: false; //结果是true,我用boolean类型的result接收

05_分支语句

  • 流程控制
    • 流程控制语句:通过一些语句,来控制程序的执行流程

    • 流程控制语句分类:

      • 顺序结构:是Java程序,默认的执行流程,按照代码的先后顺序依次执行,从上到下,从左到右

      • 分支结构:if语句、switch语句

      • 循环结构:for循环、while循环、do…while循环

  • if语句
    • if语句格式1

      • if(关系表达式){

        ​ 语句体; //关系表达式结果为true才能进这里

        }

      • 执行流程:
        ① 首先计算关系表达式的值
        ② 如果关系表达式的值为true就执行语句体
        ③ 如果关系表达式的值为false就不执行语句体
        ④ 继续执行后面的语句内容

    • if语句格式2

      • if(关系表达式){

        ​ 语句体1; //关系表达式为true走这里

        }else{

        ​ 语句体2; //关系表达式为false走这里

        }

      • 执行流程:
        ① 首先计算关系表达式的值
        ② 如果关系表达式的值为true就执行语句体1
        ③ 如果关系表达式的值为false就执行语句体2
        ④ 继续执行后面的语句内容

    • if语句格式3

      • if(条件判断1){

        ​ 语句体1; //关系表达式为true走这里

        }else if(条件判断2){

        ​ 语句体2; //关系表达式为false走这里

        }…

        else{

        ​ 语句体n+1;

        }

      • 执行流程:
        ① 首先计算判断条件1的值
        ② 如果值为true就执行语句体1;如果值为false就计算判断条件2的值
        ③ 如果值为true就执行语句体2;如果值为false就计算判断条件3的值
        ④ …
        ⑤ 如果没有任何判断条件为true,就执行语句体n+1

  • switch语句
    • 格式:
      switch(值) {
      case 值1:
      语句体1;
      break;

      ​ case 值2:
      ​ 语句体2;
      ​ break;
      ​ …

      ​ default:
      ​ 语句体n+1;
      ​ break;
      }

    • 格式说明

      • 表达式:将要匹配的值,类型可以为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String
      • case:后面括号中是要和表达式进行比较的值 ,被匹配的值
      • break:表示中断,结束的意思,用来结束switch语句
      • default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
    • 执行流程
      ① 首先计算表达式的值。

      ② 依次和case后面的值进行比较,如果有对应的值,就会执行相应的语,句,在执行的过程中,遇到

      break就会结束

      ③ 如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后程序结束掉

      注意事项

      ① case给出的值不允许重复

      ② case后面的值只能是常量,不能是变量

    • switch的case穿透:

      • case中如果不写break,会造成case穿透的现象

      • 现象:当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行直到看见break,或

        者将整体switch语句执行完毕,才会结束

      • 应用场景:当发现switch语句中,多个case给出的语句体出现了重复的,就可以考虑使用case穿透来

        优化代码

今日综合案例:

  • **Demo1需求:**键盘录入三个整数,使用三元运算符,求出三个整数的中间值,并打印在控制台

  • Demo2需求:

    ​ 模拟一个计算器的功能,可运算两个整数的+、-、*、/、%操作
    ​ [1] 提示用户录入一个整数,选择对应的运算方式(1加法/2减法/3乘法/4除法/5取余)
    ​ [2] 用户选择完,提示用户选择的运算方式,使用if语句判断,打印字符串提示即可
    ​ [3] 最后使用switch语句,判断并打印对应运算结果,要求拼接成算式

Tips:临渊羡鱼不如退而结网,学到自己手中才是真本事

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值