Java生物般的知觉性——通过执行控制语句 让程序依计行动

Posted levierx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java生物般的知觉性——通过执行控制语句 让程序依计行动相关的知识,希望对你有一定的参考价值。

程序就像一只有知觉的动物,在它的客体存在阶段,我们仍需要控制它做出行为的能力。就像一只蚂蚁,什么时候该觅食,什么时候该筑巢,什么时候该休眠,都应该处在各种条件的掌控之中。

一切条件语句的基础,均为true或者false。条件语句通过真假来决定执行路径。

 

下面介绍各种执行流程的控制形式:

 

1、IF-ELSE  是空值程序流程的最基本形式。

if(Boolean)
    Statement_1
else
    Statement_2

如果boolean为真,则执行语句1,如果为假,则执行语句2  这是最常用的控制执行流程,在处理Yes-doFirst、No-doSecond判断时最简易写法。

 

2、迭代(控制循环)  while、do-while、for为迭代语句。

迭代语句重复执行,直到起控制作用的布尔表达式得到“false”的结果为止。

①、while语句

while(Boolean)
    Statement

只要Boolean返回为真,就重复执行循环体中的语句Statement。

举个简单的实例,以下代码用于无限产生随机数,直到符合特定条件(result>0.99)停止:

public class whileTest{
     static boolean condition(){
         boolean istrue= Math.ramdom() < 0.99; //产生一个大于0.0且小于1.0的随机数,如果该数值小于0.99,返回true,否则返回false
         System.out.println("num="+result);
         return istrue;
    }
    public static void main(String[]  args){
         while(condition()){
               System.out.println("Less than 0.99 , inside while");
         }
         System.out.println("More than 0.99 , exited while");
    }    
}

②、do-while语句

do-while语句的格式:

do
    Statement
while(Boolean-expression)

while与do-while唯一的区别就在于do-while中的语句至少会执行一次,即使计算结果为false。造成这种现象的原因,是因为do是写在前面的,根据程序执行流程,会先编译到do方法块之中的内容。在实际应用中,while比do-while更加常用。

③、for循环

for循环的格式如下: 

//for的初始化表达式概念
for(initalization ; Boolean ; step)
//以下用中文同义表达
for(初始化表达式 ; 布尔表达式 ; 某种形式的提升或步进)

练习:写一个程序,打印整数1-100相加的值

public class oneTohundred{
public static void main(String[] args){
    int sum = 0;      
    for(int i=0;i<100;i++){
       sum=i+sum;   
    }
    System.out.print("1到100相加的和为:"+sum);
}

 

3、Foreach(更加简洁的for语法)

假如拥有一个Double数组 我们用for方法打印出它的十个值

public class ForEachDouble{
    public static void main(String[] args){
         Random rand = new Random(47); //得到一个伪随机数类。伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性
         Double d[] = new Double[10];
         for(int i=0;i<10;i++){
            d[i] = rand.nextDouble();
         }
         for(Double x : d){
            System.out.println("产生新的随机数"+x);
         }
    }  
}
for(Double x : d)这条语句定义了一个double类型的变量x,并将d的每一个元素通过遍历赋予x。

 

4、return

return关键字有两方面的用途   

①、指定一个方法返回的值(返回值为void除外)   

②、导致当前的方法退出(使用return;也可用于返回类型为void的函数)

 

5、break和continue

 在任何迭代语句的主体部分,break和continue都可参与控制循环流程。

break用于提前、强制跳出循环控制语句,结束循环流程。

continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。

技术分享图片

 

6、switch语句(可视为选择语句)

switch(integral-selector){
   case integral-value1 : Statement ; break;
   case integral-value2 : Statement ; break;
   case integral-value3 : Statement ; break;
   case integral-value4 : Statement ; break;
   case integral-value5 : Statement ; break;
}
// integral-selector(整数选择值)是一个可以产生整数值的表达式。switch能将这个表达式的结果与每个integral-value作比较,如果相符,则执行对应的Statement,并跳出循环。

break语句在选择语句循环中是可忽略的,如果不添加break,则程序在判断相符并执行语句后,会继续执行直到遇到break才跳出。

switch语句是一种实现多路选择的干净利落的语法,但只支持整数类型intchar

 

最后,请独自完成一个练习:写一个switch开关语句,并为每个case打印一个信息,然后把switch放进一个for循环中,测试所有的case。


以上是关于Java生物般的知觉性——通过执行控制语句 让程序依计行动的主要内容,如果未能解决你的问题,请参考以下文章

Java并发之原子性可见性有序性

理解Java异常

流程控制语句

Java中流程控制语句

Java基础 03 流程控制语句

Java基础学习-流程控制语句