前面我们学习了数据类型、接下来我们学习控制语句、来控制数据的变化和逻辑流程!
一、程序结构的分类
a)顺序结构
程序从上到下、从左到右依次执行。
b)选择结构
ba)单选择结构
if后面跟的是一个boolean表达式、如果这个boolean表达式的结果为true则执行if(){//语句}、否则直接跳过该语句继续执行下面的语句。
if(boolean表达式){//语句}
if(boolean表达式) //这里需要注意、如果if(boolean表达式)后面没有{}、那么if(boolean表达式)能控制的范围仅仅是接下来的第一条语句
//语句
测试if但选择结构程序:
public class TestIf { /** * 模拟掷骰子 * @param args */ public static void main(String[] args) { //随机生成0到6(不包括)的浮点数(小数)3个 double i = 6 * Math.random(); double j = 6 * Math.random(); double k = 6 * Math.random(); //将随机生成的这三个小数相加之后转换为int型 int count = (int) (i + j + k); //如果这三个数相加之后的和大于15、则执行{//语句} if(count > 15) { System.out.println("今天手气不错"); } //如果这三个数相加之后的和大于等于10并且小于等于15、则执行{//语句} if(count >= 10 && count <= 15) { //错误写法:10<count<15 System.out.println("今天手气很一般"); } //如果这三个数相加之后的和小于10、则执行{//语句} if(count < 10) { System.out.println("今天手气不怎么样"); } System.out.println("得了" + count + "分"); } }
测试结果截图:
逐条if语句进行判断,条件匹配,进入语句体!
bb)双选择结构
根据流程图我们可以看出双选择结构的大概流程:当if后面跟的boolean表达式结果为true时、则去执行语句块1、否则去执行语句块2
bc)多选择结构
测试双选择结构和多选择结构程序代码:
public static void main(String[] args) { double d = Math.random(); int e = 1 + (int) (d * 6); System.out.println(e); if (e > 3) { System.out.println("大数!"); } else { System.out.println("小数!"); } System.out.println("测试多选择结构"); if (e == 6) { System.out.println("运气非常好!"); } else if (e >= 4) { System.out.println("运气不错!"); } else if (e >= 2) { System.out.println("运气一般吧"); } else { System.out.println("运气不好!"); } }
测试结果截图:
c)循环结构
二、最后我们来看下Math.random()的用法
Math.random()返回一个0到1(不包括1)的小数
Math.random()*6返回一个0到6(不包括6)的小数
(int)(10+Math.random()*5)返回一个10到15(不包括15)的整数