从入门到放弃的第一周......day.3.。。。。。循环和判断语句
判断语句
1,switch--case
处理分支结构,可以使用if-else实现,反过来不成立
适合处理有限个特定值的相等比较
break:终止条件判断,没有没有break继续执行后面的语句
注意:
switch后的表达式或变量的类型只能是;能自动转换为int的值,字符串,枚举
case后的值不能重复
case后的值不能是变量,只能是常量
课堂任务:
从键盘输入一个字母(a、b,c,d,e)使用switch--case结构将对于的字母转为大写
Scanner scanner=new Scanner(System.in);
String s=scanner.next(); //获取键盘输入的字符串
//char s=scanner.next().charAt(0);
switch(s){
case "a":
System.out.println("A");
break;
default:
System.out.println("无效输入");
}
2,if 语句
1,
if(b) { //做判断的变量是boolean类型 }else { }
2,
if(expression){//expression是一个表达式 }else{ } 3, if(expression1){ }else if(expression2);{ }else if(expression3){ }else if(expressionn){ }else{ //可选,建议不省略 }
2,循环
循环解决重复执行的语句,一般有次数
for();
for(statment1;stetement2;statement3){
statement4....
}
第一步:先执行statment1,初始化循环变量
第二步:执行stetement2,得到其结果,该结果是boolean值
如果结果是true,执行循环体体的语句statement4
如果结果是false,循环终止
第三步:当循环体执行后,执行statement3,更改循环变量
重复第二步
特殊情况:
for( ;;) {
System.out.println(1);
}//死循环
while;
while(a){b};
//判断a的真假,为真执行b,完成之后继续判断a的真假,当a为假的情况,跳出循环。
do{a}while();
//先执行a再进行判断
案例:输出1-100之间的整数
for (int i = 1; i <= 100; i++) { System.out.println(i); }
课堂任务:
1,输出1-100之间的偶数
2,输出100-999之间7的倍数或带有7的整数
public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 100; i < 1000; i++) { int a = i / 100;// baiweishu int b = (i % 100) / 10;// shiweishu int c = i % 10;// geweishu if (i % 7 == 0 || a == 7 || b == 7 || c == 7) { System.out.println(i); } } }
3,计算1-100之间奇数之和
public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 1; i < 100; i++) { if (i % 2 == 0) { System.out.println(i); } } }
4,计算1-50之间5的倍数相乘
public static void main(String[] args) { // TODO Auto-generated method stub long total=1; for(int i=1;i<=50;i++){ if(i%5==0){ total=total*i; } } System.out.print(total); }
5,从键盘输入一个正整数,判断该整数是否是一个质数(素数)
public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); int s = scanner.nextInt(); int q = 1; for (int i = 2; i < s; i++) { if (s % i == 0) { q = 0; break; } } if (q == 1) { System.out.print("right"); } else { System.out.print("wrong"); } }
1,使用while实现输出1-100之间的偶数
2,给定一个整数,从键盘输入整数,比较它与前面给定的整数之间的大小,并给出提示,直到才对为止,输出猜了多少次
提示:使用while(true) 使用break终止循环
public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); int y = scanner.nextInt();// 原本价格 int s = 1; int i = 1; while (i < 100) { int c = scanner.nextInt();// 猜测价格 if (c > y) { System.out.print("高了"); } if (y > c) { System.out.print("低了"); } if (y == c) { System.out.print("对了"); break; } s++; } System.out.print("你才测了" + s + "次"); }
1,计算任意正整数的各个位上的数字之和
12 3 1234 10
2,求2/1,3/2,5/3,8/5,13/8...数列的前10项之和(注意数据类型)
3,输出1000之内的质数
4,输出以下形状(内层循环的次数与外层循环的次数的关系)
*
* *
* * *
* * * *
--------------------
* * * *
* * *
* *
*
5,已知周一是1900年1月1号,请从键盘输入年份和月份,输出其月历
如:2019 7 输出
日 一 二 三 四 五 六
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
整体的文字不多,练习很多,非常考逻辑和真正的手写,(对初学者)