三目运算符
i++ i--
+5 -6
a=b a+=b a>=b a+b
表达式1?表达式2:表达式3
表达式1:是一个布尔值,先判断真假。如果为真,使用表达式2的值;如果为假,使用表达式3的值
//求两个数的最大值:输入两数,求最大数。
//求三个数的最大值
//输入两个运算数和运算符(+-*/),做相应的算数运算,输出结果。
Scanner scanner = new Scanner(System.in);
System.out.println("输入一个数");
int numA=scanner.nextInt();
System.out.println("输入一个数");
int numB=scanner.nextInt();
//输出最大值
// int max;
// if(numA>numB) {
// max=numA;
// }else {
// max=numB;
// }
// System.out.println("max="+max);
int max=(numA>numB)?numA:numB;
System.out.println("max="+max);
switch-case
就是多重if的另一种写法,功能没有多重if强
switch(变量或者表达式){
case 常量1:
代码块1;
break;
case 常量2:
代码块2;
break;
case 常量3:
代码块3;
break;
default:
代码块default;
break;
}
变量或者表达是的值如果和case后面的常量相等,就会执行当前分支
case分支执行多条语句不需要加{}
break:不是语法要求,每个分支都要加,否则就会出现case穿透,判断进入一个分支以后,后面的分支不判断直接进入。break可以跳出分支.
有break的时候,case 常量和default顺序无关
default可以没有
常量值不能有重复
变量或者表达式能够匹配的数据类型
JDK1.5之前:byte short char int
JDK1.5新增了 枚举类型
JDK1.7新增了 字符串String
使用限制:
类型有限制
只能匹配有限的固定值,不能使用区间范围
优点:结构简单
循环
反复执行的代码,三种基本循环结构
while、do while、for
while
语法:
while(循环条件){
//循环体
}
第一次判断条件,条件为假,循环体一次都不会执行,循环结束
条件为真,执行循环体,继续判断循环条件,如果条件还是位置,执行,判断.....直到某次判断条件为假,循环结束
while的特点:
先判断,后执行
循环体可能一次都不执行
do-while循环
do-while的特点:
先执行,后判断
第一执行不判断条件,后面每次执行要判断循环条件
循环体至少会执行一次
语法
do{
循环体
}while(循环条件);
练习
-
输入两个运算数和运算符(±*/),做相应的算数运算,输出结果。使用switch-case实现
-
累加1+2+3+…100
-
累乘1+2+3+…100
-
计算100以内的偶数之和
-
使用while和do-while实现:从键盘输入字符串,只要不是q,继续操作,q退出
-
猜数字:(不限制次数)
使用while和do-while实现:系统产生一个100以内随机数,用户输入数字:猜对了程序结束,猜错了给出提示(大了,小了) -
猜数字:(限制次数):规定次数,猜不出,游戏结束