Java 选择

一、引言
    选择语句要用到条件。条件就是布尔表达式。
二、Boolean数据类型
    1、比较运算符,Java提供六种比较运算符,用于比较数值,也可以对字符进行比较。
        运算符 名称 结果
        < 小于 true or false
        <= 小于等于 true or false
        > 大于 true or false
        >= 大于等于 true or false
        == 等于 true or false
        != 不等于 true or false
    2、布尔变量
        具有布尔值的变量称为布尔变量。
    3、boolean数据类型
        boolean数据类型用于声明布尔型变量。
    4、布尔直接量
        true和false。
三、一个简单的数学学习工具
四、if语句
    Java有几种类型的选择语句:单向if语句、双向if语句、嵌套if语句、switch语句和条件表达式。
    单向if语句
    1、语法:
        if(布尔表达式) {
            语句(组);
        }
    2、流程图:
        布尔表达式?真?语句(组)?结束;
                            ?假?结束;
    3、注意:
        1)、布尔表达式应该用括号扩住;
        2)、如果花括号内只有一条语句,则可以省略花括号。
五、猜生日
    bk位为整数1,就出现在setk中。
六、双向if语句
    1、语法:
        if(布尔表达式) {
            布尔表达式为真时执行的语句(组);
        }
        else {
            布尔表达式为假时执行的语句(组);
        }
    2、流程图:
        布尔表达式?真?条件为真时执行的语句(组)?结束;
                            ?假?条件为假时执行的语句(组)?结束;
    3、注意:如果花括号中只有一条语句,那就可以省略花括号。
七、嵌套的if语句
    if或if…else语句中可以是其他的if或if…else语句。外层if语句里的内层if语句称为嵌套的。
    内层if语句还可以包含其他if语句,事实上对嵌套的深度没有限制。
八、选择语句中的常见错误
    1、忘记必要的括号
        如果块中只有一条语句,就可以忽略花括号。但是,当需要用花括号将多条语句括在一起时,忘记花括号是一个常见的程序设计错误。
    2、在if行出现错误的分号
        它既不是编译错误也不是运行错误,而是一个逻辑错误。等价于一个带空块的代码。
        当使用下行块风格时,经常会出现这个错误。所以使用行尾块风格可帮助防止出现此类错误。
    3、对布尔值的冗余测试
    4、悬空else出现歧义
九、一个改进的数学学习工具
    Math.random(),返回一个双精度的随机值d且满足0.0<=d<1.0。
十、计算身体质量指数
十一、计算税款
十二、逻辑运算符
    运算符 名称 说明
    ! 逻辑非
    && 逻辑与
    || 逻辑或
    ^ 异或 逻辑异或
    1、警告:
        数学角度:
            1 <= numberOfDaysInAMonth <= 31
        Java角度:
            (1 <= numberOfDaysInAMonth) && (numberOfDaysInAMonth <= 31)
    2、注意:
        1)、一个布尔型值变量不能转换为其他类型的值,其他类型的值也不能转换为布尔类型值。
        2)、德模佛定理:
            !(condition1 && condition2) 和 !condition1 || !condition2 是一样的。
            !(condition1 || condition2) 和 !condition1 && !condition2 是一样的。
        3)、&&又称为条件与运算符或短路与运算符,而||称为条件或运算符或短路或运算符。
十三、判断闰年
    isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
十四、彩票
    if (guess == lottery) {}
    else if (guessDigit2 == lotteryDigit1 && 
    guessDigit1 == lotteryDigit2) {}
    else if (guessDigit1 == lotteryDigit1 || 
    guessDigit1 == lotteryDigit2 || 
    guessDigit2 == lotteryDigit1 || 
    guessDigit2 == lotteryDigit2) {}
    else {}
十五、Switch语句
    1、完整语法:
        Switch(witch表达式) {
            case 值1:语句(组)1;
                break; 
            case 值2:语句(组)2;
                break; 
            …
            case 值N:语句(组)Nv;
                break; 
            default:默认情况下执行的语句(组);
        }
    2、switch语句遵从下述规则:
        1)、switch表达式必须能计算出一个char、byte、short或int型值,并且必须总是要用括号扩住。
        2)、value1,…,valueNv必须与switch表达式的值具有相同的数据类型,且是常量表达式。
        3)、当switch表达式的值与case语句的值相匹配时,执行从该case开始的语句,直到遇到一个break语句或到达该switch语句的末端。
        4)、关键字break是可选的。break语句会立即终止整个switch语句。
        5)、default是可选的,用来指定没有一个指定的case与switch表达式匹配时应该采取的操作。
        6)、case语句是顺序检测的。
十六、条件表达式
    1、语法:
        boolean-expression ? expression1 : expression2;(布尔表达式?表达式1:表达式2)
        三目运算符
十七、格式化控制台输出
    printf方法的语法:
        System.out.printf(fromat, item1,item2,…,itemk);
        这里的format是指一个子串和格式化标示符组成的字符串。
        格式标示符指定每个条目应该如何显示,条目可以是数值、字符、字符串或布尔值。
        一个标示符是以百分号(%)开头的转换码
    常用的标示符:
        标示符 输出
        %b 布尔值
        %c 字符
        %d 十进制整数
        %f 浮点数
        %e 标准科学计数法形式的数
        %s 字符串
        exp:
        int count = 1;
        double amount = 1.0;
        System.out.printf(‘%d%f’,count,amount);
    可以在标示符中指定宽度和精度。
        指定宽度和精度的例子
        举例 输出
        %5c 输出字符并在这个字符条目前面加4个空格
        %6b 输出boolean值,在false前面加一个空格,在true前面加两个空格。
        %5d 输出整数条目,宽度至少为5。如果该条目的数字位数小于5,就在前面加空格。如果该条目的位数大于5,则自动增加宽度。
        %10.2f 输出的浮点数宽度至少为10,包括小数点和小数点后两位。这样,给小数点前分配了7位。
        如果该项小数点的位数小于7,就在数字前面加空格。如果该项小数点前的位数大于7,则自动增加宽度。
        %10.2e 输出的浮点条目的宽度至少为10,包括小数点,小数点后两位和指数部分。如果该科学计数法显示的数字小于10,就给数前加空格。
        %12s 输出的字符串宽度至少为12。如果该字符串条目小于12个字符,就在该条目前加空格。如果该字符串条目多于12个字符,则自动增加宽度。
    默认情况下,输出是右对齐的。可以在标示符中放一个负号(-),表明该条目在特定区域中的输出是左对齐的。
十八、运算符的优先级和结合方向
    运算符的优先级
        优先级 运算符
        最高级 var++ 和 var-- (后置运算符)
        +, - (一元加号和一元减号), ++var and --var (前置运算符)
        (type) (类型转换)
        ! (非)
        *, /, % (乘法、除法和求余运算)
        +, - (二元加法和减法)
        <, <=, >, >= (比较运算符)
        ==, != (相等运算符)
        ^ (异或)
        && (条件与 )
        || (条件或)
        最低级 =, +=, -=, *=, /=, %= (赋值运算符)
    结合方向
        如果相邻运算符的优先级相同,则结合方向决定它们的执行顺序。
        除了赋值运算符之外,所有的二元运算符都是左结合的。
        赋值运算符是右结合的。
十九、(GUI)确认对话框
    下面的语句创建一个确认对话框:
        int option = JOptionPane.showConfirmDialog(null,”Continue”);
        当点击按钮时,这个方法会返回一个选择值。点击Yes按钮返回的值是JOptionPane.YES_OPTION(0),点击No按钮返回的值是JOptionPane.NO_OPTION(1),点击Cancel按钮返回的值是JOptionPane.CANCEL_OPTION(2)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值