7.比较与逻辑运算符

  • 比较运算符(关系运算符)( > , < , >= ,<= , == , !=)

    • 比较运算符的结果只有两种,true和false

      • e.g

        image
    • , < , <= ,>= 运算符的优先级高于== ,!=
      * e.g

      ![image](http://upload-images.jianshu.io/upload_images/9148742-db71caef3dc327af.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
      
  • 逻辑运算符(与、或、非)

    • && “与”:两边同时为true,结果是true;如果任意一边为false,结果是false

      image
    • || “或”:两边同时为false,结果是false;如果任意一边为true,结果为true

      image
    • ! “非”(单目运算符):取反,true取反是false;false取反是true

    • 运算符优先级:! 高于 && 高于 ||

    • 编程规范

      • 在if语句的条件判断中,不要用bool变量和true\false直接进行比较

      • 不规范的示例

        image
      • 正确写法

        • 判断条件为真时

          image
        • 判断条件为假时

          image
  • 运算符优先级

    image
    • 规律
      • 不考虑()圆括号时,单目运算符优先级最高,赋值运算符优先级最低
      • 不考虑单目运算符时,算术运算符 高于 比较运算符,比较运算符 高于 逻辑运算符
      • 算术运算符中,“乘除”高于“加减”
      • 比较运算符中,“含大于或小于”高于“等于”“不等于”
      • 逻辑运算符中,“与”高于“或”
    • 示例1:给定一个年份,判断是否是闰年
      • 条件判断:
        • (能被400整除的,或者能被4整除并且不能被100整除)(400年中97个闰年)
        • (能被400整除 || 能被4整除 && 不能被100整除)
        • ((year % 400 == 0 )|| (year % 4 ==0)&& (year % 100 != 0))
        • 如果年份是2016
          • ((2016%400==0)|| (2016%4==0)&&(2016%100 != 0))
          • ((16==0)|| (0==0)&&(16 != 0))
          • (false || true && true)
          • (false || true)
          • (true)
  • 条件组合测试

    • 列条件表

      image
    • 测试所有的条件是否期望结果与实际结果相同

      image
    • 若所有的测试结果都相符则说明程序正确

  • else - if语句

    • e.g 从控制台输入学生成绩,根据学生成绩从控制台输出对应等级,“优”、“良”、“中”、“差”。(提示:成绩大于100或小于0,控制台输出“成绩输入”)
      • 写法一:都用if写

        image
      • 写法二:用if...else写,优化写法一

        image
      • 写法三:else if语句,优化写法二

        image
        • 如果else分支中只有一个if,则可以把else 和 else分支中的if结合起来,else if表示
  • 区间覆盖测试

    • e.g

      image
  • 边界测试

    • 由区间覆盖测试转换为边界测试

    • e.g

      image
  • switch语句

    • e.g

      image
  • 枚举(enum)类型

    • e.g

      image
    • 枚举成员默认值从0开始,往下依次递增

    • 默认值可以修改,修改后后面的值依次递增

    • 最后一个成员后面的“,”可以省略

    • enum与class同级别,不要写在class中

  • 将枚举与switch语句结合

    • 先写枚举

      image
    • 声明枚举变量

      image
    • 输入sw,连按两次Tab

      image
    • 效果

      image
    • 输入枚举变量

      image
    • 点击鼠标左键,效果如图

      image
    • 补充完成

      image
  • 测试:从小到大 : 单元测试(以函数为单位) >> 集成测试 (将多个单元测试过的函数组合起来)>> 系统测试(将测试过的子系统装配成一个完整系统)

  • 作业

作业一:飞行棋游戏:

(1)从键盘输入步数,

如果步数输入是5,在控制台输出:(A,B都是全角)

您让玩家A走了5步:

棋盘:
B□□□□A□□□□

如果步数输入是8,在控制台输出:

您让玩家A走了8步:

棋盘:
B□□□□□□□A□

作业二:习题:

(1)从控制台输入三个数,对三个数进行比较,从控制台输出,最大数和最小数。

(2)从控制台输入6个数,对6个数进行比较,从控制台输出最大数和最小数。

     (声明两个变量min、max,和其他变量进行比较,

       如果变量小于min,把其值给min;如果变量大于max,把其值给max)

(3)从控制台输入一个不多于5位的正整数,1、求出它是几位数。

     2、按逆序输出每一位上的数字。例如:输入123,输出321。

     (提示:对10取余数,得到个位,对10取商后再对10取余数得到十位,......)

(4)从控制台输入一个5位数,判断它是不是回文数(个位与万位相同,十位和千位相同)。

     举例:12321是一个回文数。

(5)从控制台输入年月日,进行判断后,从控制台输出,这一天是本年的第多少天。

(6)从控制台输入星期几的第一个字母来判断一下是星期几,

     如果第一个字母一样,则继续判断第二个字母。

(7)玩家先输入押注金额(必须是50的倍数),然后猜大或小(投掷骰子2,、4、6是大,1、3、5是小)

     如果猜对了,押注金额翻倍,从控制台输出押注金额和"恭喜猜中了"

     如果猜错了,押注金额清零,从控制台输出押注金额和"输了,再接再厉,愿赌服输!"

    (提示:Random r = new Random(); 

            int num = r.Next(6) + 1;  //r.Next(6) 在(0-5)中取随机整数)

(8)任意输入一个年龄(整数),如果0-17之间,输出未成年;18-50之间,输出成年;51-110之间,输出老年。

(9)输入信用卡积分,显示可兑换的奖品。

     如果积分小于2000时,可兑换50元充值卡;

     小于5000时,可兑换电火锅;

     小于10000时,可兑换笔记本;

     达到或超过10000时,可兑换iphone一台。

(10)企业根据利润,发放奖金。

     利润低于或等于20万元时,奖金可提2%;

     高于20万元,低于等于40万元之间时,低于等于20万元的部分仍按2%提成,高于20万元的部分,可提成4%;

     高于40万元,低于等于60万元之间时,高于40万元的部分,可提成6%;

     高于60万元,低于等于80万元之间时,高于60万元的部分,可提成8%;

     高于80万元,低于等于100万元之间时,高于80万元的部分,可提成10%;

     高于100万元,超过100万元的部分按12%提成。

     从控制台输入当月利润,从控制台输出应发放奖金的总数。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,874评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,102评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,676评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,911评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,937评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,935评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,860评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,660评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,113评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,363评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,506评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,238评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,861评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,486评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,674评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,513评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,426评论 2 352

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,145评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,649评论 18 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,396评论 0 17
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    许先生__阅读 602评论 0 3
  • 入门 awk的基本命令格式 awk 'pattern{action}',省略action时,默认action是{p...
    琼脂糖阅读 771评论 0 0