javaSE基础知识(四)流程操作

java 流程控制

三种流程控制:

  1. 顺序执行(java 代码从上到下依次执行)
  2. 分支选择(根据条件判断,有选择的执行某些代码,有选择的跳过某些代码)
  3. 循环:反复的执行某些代码

if

if语句是单分支选择

  • 语法
if(条件表达式){
	//代码块
}
  • 练习
import java.util.Random;
public class Test{
    public static void main (String[] args){
	final int MIN=10;
	final char MAX=20;
	char r1=(int)(Math.random()*(MAX-MIN)+MIN);
	char r2=(int)(Math.random()*(MAX-MIN)+MIN);
	System.out.println("随机数"+r1);
	System.out.println("随机数"+r2);
	int max=0;
	if(r1>r2){
		max=r1;
	}
	System.out.println("最大值"+max);
  }
}

if —else

双分支选择

  • 语法
if(条件表达式){
	//代码块
}else{
//代码块
}
  • 练习1
import java.util.Random;
public class Test{
    public static void main (String[] args){
	final int MIN=10;
	final char MAX=20;
	char r1=(int)(Math.random()*(MAX-MIN)+MIN);
	char r2=(int)(Math.random()*(MAX-MIN)+MIN);
	System.out.println("随机数"+r1);
	System.out.println("随机数"+r2);
	if(r1>r2){
	System.out.println("最大值"+r1);
	}else{
	System.out.println("最大值"+r2);
	}
  }
}
  • 练习2:
  • *需求:模拟一次 打斗,随机产生一个人的生命值hp(50,100) ,展示这个人的生命值,
  • 然后再随机产生一个伤害值【30-60】,暴击率的概率为30%,产生1.5倍伤害*,打印伤害值
  • 如果出现暴击的话,要提示,然后根据此次的伤害和生命值判定最后人是否被over,如果没有over输出剩余血量
import java.util.Random;
public class Test{
	public static void main(String[] args){
		//定义随机生命值
		final int MIN_HP=50,MAX_HP=101;
		int hp=(int)(Math.random()*(MAX_HP-MIN_HP)+MIN_HP);
		//输出当前人物血量
		System.out.println("当前血量为 :"+hp);
		//定义随机产生的伤害
		final int MIN_DAM=30,MAX_DAM=61;
		//定义暴击lv
		final double CRITICAL_PERCENT=0.3;
		//定义暴击伤害
		final double CRITICAL_DAM=1.5;
		//暴击伤害值
		double damage=(int)(Math.random()*(MAX_DAM-MIN_DAM)+MIN_DAM);
		//是否产生暴击
		boolean isCritical=false;
		if (Math.random()<=CRITICAL_PERCENT){
			isCritical=true;
		}
		if(isCritical){
			damage *= CRITICAL_DAM;
			System.out.println("产生暴击伤害值"+damage);
			hp-=damage;
			if(hp<=0){
				System.out.println("人物已死亡");
			}else{
			System.out.println("人物剩余血量"+hp);
			}
		}else{
			//未产生暴击
			System.out.println("未产生暴击伤害"+damage);
			hp-=damage;
			if(hp<=0){
				System.out.println("人物已死亡");
			}else{
				System.out.println("人物剩余血量"+hp);
			}
			
		}
	}
}

if–elseif --else

多分支选择语句

  • 语法
if(条件表达式){
	//代码块
}else if(){
//代码块
......
}else{
//代码块
}
  • 练习 :成绩等级评级

switch

多分支选择语句

  • 语法
switch(表达式){
	case 常量表达式:
	//代码块-1
	break;
	case 常量表达式:
	//代码块-2
	break;
	case 常量表达式:
	//代码块-3
	break;
	default:
	//代码块-4
	break;
}

解释:
**表达式:可以是 一个简单变量操作数,或者是一个变量的表达式
表达式的返回的类型:byte ,short, int, String char, enum **
注意:
case 的数量没有任何的限制,每个case后面的表达式的返回值必须是独一无二的。不能和其他的case值相等
在 switch 语句中,一旦执行了某一个case 中的代码块,那么就不再进行任何case的比较,后续的代码将顺序执行,直到遇到了break,或者Switch 的末尾整个switch才结束。
default可以省略看具体需求

下期我们来回顾循环哪些事!!

发布了23 篇原创文章 · 获赞 4 · 访问量 383

猜你喜欢

转载自blog.csdn.net/weixin_44804206/article/details/105096168