程序流程控制+Random类

本文介绍了编程中的流程控制语句,包括顺序、分支(if和switch)和循环(for、while、do-while)结构。特别强调了switch语句的使用规则和循环中的break与continue关键字。还展示了如何用Random类生成随机数并实现一个猜数字游戏的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环控制语句

  • 流程控制语句——控制程序的执行流程

  • 顺序结构:按照代码顺序

  • 分支结构:
    if分支:

格式一:
if(条件表达式) {
    语句体;
}

格式二: 非此即彼
if(条件表达式) {
    语句体1;
} else {
    语句体2;
}

格式三:
if(条件表达式) {
    语句体1;
} else if(条件表达式) {   // 多个else if
    语句体2;
} else {
    语句体3;
}

switch分支:

switch(表达式){
	case 值1 :
		执行代码;
		break;
	case 值2 : 
		执行代码;
		break;
	...
	default:
		执行代码n;
}

1、defaule是最后执行的,与放置位置无关,可以放到最前面
2、case执行会直接找到对应的case,但里面没有break,会继续执行下面所有的case和default,直到遇见break或者执行完default退出
switch适合值匹配

注意事项:
1、表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String,不支持double、float、long
2、case给出的值不允许重复,且只能是字面量,不能是变量
3、不要忘记break,否则会出现穿透现象

switch(month){           // switch的穿透性![请添加图片描述](https://img-blog.csdnimg.cn/11013abfb5b549999ca5517849605783.png)

      case 1 :
      case 3 :
      case 5 :
      case 7 :
      case 8 :
      case 10 :
      case 12 :
          System.out.println(month+"月份是31天");
          break;
      case 2 :
          System.out.println(month+"月份是28或29天");
          break;
      case 4 :
      case 6 :
      case 9 :
      case 11 :
          System.out.println(month+"月份是30天");
          break;
      default:
          System.out.println(month+"月份错误");

循环结构

  • for 循环
for(int i=0; i<10; i++){
	循环语句;
}
// 水仙花数
for (int i = 100; i < 1000; i++) {
   if (Math.pow(i % 10, 3) + Math.pow(i / 10 % 10, 3) + Math.pow(i / 100, 3) == i)
        System.out.println(i);
}
  • while循环
while(循环条件){
	循环语句;
	迭代语句;
}
  • do while循环
    第一次野蛮执行
do{
	循环体语句;
	迭代语句;
} while(循环条件)
  • 死循环
    经典做法:
while(true)
{
	循环语句;
}
  • 跳转关键字
    break:跳出循环
    continue: 跳出当前循环内执行语句,进入下一次循环(执行i++)

循环流程图

随机数Random类

在这里插入图片描述

  • 猜数字
Random r = new Random();
int num = r.nextInt(100)+1;
Scanner s = new Scanner(System.in);
System.out.print("请输入数字: ");
int temp = s.nextInt();
while(temp != num){
    if(temp > num)
        System.out.println("猜大了,请重新输入:");
    else
        System.out.println("猜小了,请重新输入:");
    temp = s.nextInt();
}
System.out.println("恭喜你,猜对了,是"+num);

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值