1:基本小题目
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
请分别计算出a,b,c的值
2:比较复杂的题目[n1]
int a = 4;
int b = (a++)+(++a)+(a*10);
3.键盘录入两个数据,并对这两个数据求和,输出其结果
4.键盘录入两个数据,获取这两个数据中的最大值
5.键盘录入三个数据,获取这三个数据中的最大值
6.键盘录入两个数据,比较这两个数据是否相等
publicstaticvoid main(String[] args) {
//录入三个数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字");
intnum1 = sc.nextInt();
System.out.println("请输入第二个数字");
intnum2 = sc.nextInt();
System.out.println("请输入第三个数字");
intnum3 = sc.nextInt();
inttemp= num1>num2?num1:num2;
intmax = temp>num3?temp:num3;
System.out.println("max:"+max);
}
键盘录入两个数据,比较这两个数据是否相等
publicstaticvoid main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
intnum1 = sc.nextInt();
System.out.println("请输入第二个数");
intnum2 = sc.nextInt();
// 比较两个数是否相等
booleanres = (num1 == num2);
System.out.println("比较结果:" + res);
}
switch语句格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式的解释:
switch:表示这是switch选择结构
表达式:这个地方的取值是有限定的
byte,short,int,char[n2]
JDK5以后可以是枚举
JDK7以后可以是字符串[n3]
case:后面跟的是要和表达式进行比较的值
语句体:要执行的代码
break:表示中断,结束的意思,可以控制switch语句的结束。
default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。
publicstaticvoid main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个年龄的数据(1-90)");
int week = sc.nextInt();
switch(week)
{
case 1:
System.out.println("年龄是:"+week);
break;
case 2:
System.out.println("年龄是:"+week);
break;
case 3:
System.out.println("年龄是:"+week);
break;
default:
System.out.println("您输入的星期数值非法");
break;
}
}
1)case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
2)default可以省略吗?
可以省略。一般不建议
3)break可以省略吗?
break 可以省略,但是不要在前面的case中省略,否则会造成case贯穿问题,可以在default中省略
4)default的位置一定要在最后吗?
可以出现在switch语句任意位置。
5)switch语句的结束条件
n 遇到break
n 执行到程序的末尾
问题1:只能是常量,不能是变量
publicstaticvoid main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个年龄");
intage = sc.nextInt();
intnum = 1;
switch (age) {
casenum:
System.out.println("年龄是:" + age);
break;
case 2:
System.out.println("年龄是:" + age);
break;
default:
System.out.println("年龄数据太大");
break;
}
}
问题2:多个case后面的值不能出现相同的
问题3:default可以省略吗? [n4]
问题4:break可以省略吗?[n5]
问题5:default的位置一定要在最后吗?[n6]
可以出现在switch语句任意位置。
问题6:switch语句结束条件
int x = 2;
int y = 3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
2)模拟做单项选择题,根据你的选择,给出对应的答案。(表达式是字符的情况)
3)键盘录入字符串,根据给定的字符串,来输出你选择的字符串是什么?(表达式是字符串的情况)
4)用switch语句实现键盘录入月份,输出对应的季节
在做判断的时候,我们有两种选择,if语句和switch语句,那么,我们到底该如何选择使用那种语句呢?
if语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句使用场景:
针对几个常量值的判断
需求:
请在控制台 输出10次:在操场跑步!!!!
请在控制台输出 100次: 在操场跑步!!!!
请在控制台 10000次: 在操场跑步!!!!
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
初始化语句:
一条或者多条语句,这些语句完成一些初始化操作。
判断条件语句:
这是一个boolean 表达式,这个表达式能决定是否执行循环体。
循环体语句:
这个部分是循环体语句,也就是我们要多次做的事情。
控制条件语句:
这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。
for 循环
while 循环
do-while 循环
for循环语句格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程:
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
图解:
判断条件语句的结果是一个boolean类型
循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
一般来说:有左大括号就没有分号,有分号就没有左大括号
请在控制台输出数据1-10
请在控制台输出数据10-1
求出1-10之间数据之和
求出1-100之间偶数和
求出1-100之间奇数和
求5的阶乘
在控制台输出所有的”水仙花数”[n7]
统计”水仙花数”共有多少个
while循环语句格式:
基本格式:
while(判断条件语句) {
循环体语句;
}
扩展格式:[n8]
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
图解:
2.5.3.while循环练习
1)输出10次HelloWorld案例
2)求出1-100之和
3)C:统计水仙花数有多少个
[n1]引出运算符的优先级
[n2]byte类型可以是switch的表达式吗? 可以
long类型可以是switch的表达式吗? 不可以
String类型可以是switch的表达式吗? Jdk1.7后可以
[n3]面试的时候一定要注意
[n4]当然时可以的,但是不建议,省略之后,一些不恰当的值,我们无法进行校验
开发中:单选题就可以使用
[n5]最后一条语句都可以省略,其余地方的语句不可以省略
[n6]可以出现在switch语句任意位置。
[n7]水仙花数
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153= 1*1*1 + 5*5*5 + 3*3*3
[n8]写完扩展格式,我们就可以说while循环语句讲解完毕。因为它和for循环是可以等价转换的