boolean (布尔)类型
boolean类型的值:
真:true
假:false
boolean类型只有这两个值
看看这个题目
从控制台输入晓明同学的成绩,与baby的成绩(80分)比较,输出“晓明的成绩比baby的成绩高吗?” 的判断结果
int baby = 80; //学员baby成绩
boolean flag; //声明一个boolean类型的变量
Scanner input = new Scanner(System.in);
System.out.print("输入晓明同学的成绩: "); //提示要输入学员晓明的成绩
int xiaoMing= input.nextInt(); //输入晓明的成绩
flag = xiaoMing > baby ; //将比较结果保存在boolean变量中 System.out.println( "晓明成绩比baby高吗 ? "+flag ); //输出比较结果
比较高低、大小等
张三的考试成绩是否比李四高
大象是否比乌龟更长寿
篮球跟地球一样大吗
使用关系运算符可以比较高低、大小等
常用的关系运算符有哪些:
>,<
==,!=
>=,<=
关系运算符的处理结果是boolean类型的!
为什么需要if选择结构?
用程序表示:
从键盘输入晓明的Java成绩,如果成绩大于或者等于60分,晓明就能得到老师的表扬。
什么是if选择结构
if选择结构是根据条件判断之后再做处理
基本的if选择结构
if ( 条件 ) {
//结果必须是布尔类型
//代码块
}//只有一条语句时,建议不省略{ }
if (晓明的Java考试成绩>= 60 ) {
获得老师的表扬;
}
使用基本的if选择结构
import java.util.Scanner;
public class Temp {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print(“晓明的Java成绩: ");
int score = input.nextInt();
if ( score >= 60 ) {
//判断是否大于60分
System.out.println(“老师表扬");
}
}
}
使用if-else选择结构
if ( 条件 ) {
//代码块1
}else {
//代码块2
}
晓明Java成绩大于60分,而且js成绩大于等于80分,老师表扬他;或者Java成绩大于等于80分, js成绩大于60分,老师也表扬。
使用逻辑运算符
score1 > 60 && score2 >=80 || score1 >= 80 && score2 > 60
运算符的优先级
最高的优先级:小括号,即( )
最低的优先级:赋值运算符,即=
优先级顺序:!>算术运算符>关系运算符>&&>||
当运算符比较多,无法确定运算符执行顺序时,可以使用小括号控制一下顺序
( score1 >60&& score2 > 80 ) || ( score1 >= 80 && score2 > 60 )
public class Temp {
public static void main(String[] args) {
int score1 = 80; //Java成绩
int score2 = 70; // JS成绩
if ( ( score1 >60&& score2 >= 80 )
|| ( score1 >= 80 && score2 > 60 ) ){
System.out.println(“老师表扬");
}
}
}
使用多分支选择结构
if ( 条件1) {
//代码块1
}
else if ( 条件2 ){
//代码块2
}
else if ( 条件3 ){
//代码块3
}
三元运算符
三元运算符:?:
布尔表达式 ? 值0 : 值1
若“布尔表达式”的结果为true,就计算“值0”,而且它的结果成为最终由运算符产生的值。
但若“布尔表达式”的结果为false,计算的就是“值1”,而且它的结果成为最终由运算符产生的值。
switch…case
//语法:
switch (选择变量)
{
case 值1:
…
break;
case 值2:
…
break;
case 值3:
…
break;
...
...
default :
…
}
//假设考查课程的成绩按优秀、良好、中等、及格和不及格分为五等,
//分别用4、3、2、1、0来表示,但实际的考卷为百分制,分别对应的分数为90-100、80-90、60-80、60分以下。
//代码如下:
int x = int(x/10);
switch(x)
{
case 10:
y=4;
break;
case 9:
y=4;
break;
case 8:
y=3;
break;
case 7:
y=2;
break;
case 6:
y=1;
break;
default:
y=0;
}
switch…case其他特性
各个 case 标签不必连续,也不必按特定顺序排列
default 标签可位于 switch…case 结构中的任意位置
default 标签不是必选的,但使用 default 标签是一个良好的编程习惯
每两个 case 标签之间的语句数不限