本篇文章是读java编程的逻辑(java核心技术系列)作者马俊昌。强烈推荐这本书,结合计算机的远离和java基础进行分析,容易理解。
首先,流程控制主要有两种:一种是条件执行,一种是循环执行。
最基本的是条件执行,就是满足了一定的条件才可以执行某种操作,在另外一些条件下执行另外的操作。
- ifelse
int age;
if(age>10){
System.out.println("我是大人了");}
//此处也可以不用{}
if()里面的为true,执行{}里面的代码块,为false不执行。
另外一种是多个if else,if else。
if(条件一){
代码块一};
else if (条件二)
{代码块二};
else if(条件三){
代码块三}
- 三元运算,也叫三目运算。
int max=x>y?x:y;//定义最大值,判断条件是x>y,如果是true,max值是x,是false的话是max=y
- switch
switch(表达式){
case 值1:
代码1;
break;
case 值2:
代码2;break;
...
default:代码n+1}
如果知道特定的值用switch这种语句比较好,然后表达式值的数据类型只能是byte,short,int,char,枚举和String。
对于流程控制的循环执行:
在javaz中,循环有4种形式,分别是while,do/while,for和foreach。
- while
while(条件语句){
代码块}//这种跟if语句很像,在最开始的学习中,只记住了if,所以对while语句和dowhile都不熟悉。只要条件语句为true,都执行代码块。
- dowhile
do{代码块}
while(条件语句);//这个意思是do里面的代码块一定会执行,然后再判断while(),如果条件语句成立,则继续循环。
- for
for(初始化值;条件语句;步进操作){
循环体}
int[] arr={1,2,3,4};
for(int i;i<arr.length;i++){
System.out.println(arr[i])}
for(;;?{}是有效的,这是个死循环。
- foreach
int [ ] arr={1,2,3,4};
for(int element : arr){
System.out.println(element);}
foreach不是一个关键字,使用:。冒号前面是循环中的每个元素,包括数据类型和变量名称,冒号后面是要遍历的数组或集合,每次循环element都会自动更新。
划重点:这种增强for循环适用于集合。