Java中的for控制语句
1、循环结构
在程序当中总有一些需要反复的执行的代码,假设没有循环结构,那么这段需要重复执行的代码自然是需要重复编写的。代码无法得到重复使用。所以多数编程语言都是支持循环结构的。将来把需要反复执行的代码片段放到“循环体”中,再联合“计数器”,共同控制这段需要反复执行的代码。
基本上的所有编程语言支持的循环包括三种:
- for 循环
- while 循环
- do…while 循环
2、for循环
1 语法结构:
for (初始化表达式 ; 布尔表达式 ;更新表达式) {
循环体:由java语言构成,是需要重复执行的代码片段
}
2 for循环的执行过程 / 执行原理?
2.1 初始化表达式、布尔表达式、更新表达式不是必须的!【但是两个分号是必须的】
2.2 初始化表达式最先执行,并且在整个for循环当中只执行一次。
2.3 布尔表达式必须是true/false,不能是其他值。
2.4 for的执行过程:
1、先执行初始化表达式,并且该表达式只执行一次。
2、判断布尔表达式的结果是true还是false:
- 布尔表达式为true:
1、执行循环体
2、执行更新表达式
3、判断布尔表达式的结果是true还是false
布尔表达式true
1、执行循环体
2、执行更新表达式
3、判断布尔表达式的结果是true还是false
…- 布尔表达式为false
循环结束
循环语句和条件判断语句嵌套使用【for和if的嵌套】
找出1~100所有的奇数
public class ForTest01
{
public static void main(String[] args){
第一种方法
for(int i = 1;i<=100;i+=2){
System.out.println("奇数-->" + i);
}
第二种方法
for(int i=1;i<=100;i++){
if(i%2 != 0){
System.out.println(i)
}
}
}
}
求1~100所有奇数的和
public class ForTest02
{
public static void main(String[] args){
int sum=0;
for(int i=1;i<=100;i+=2){
sum+=i;
}
System.out.println("sum=" + sum);
}
3 for循环也可以嵌套for循环
内层循环中的变量名和外层循环中的变量名不能重名
使用for循环输出九九乘法表
public class ForTest03
{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
int a=i*j;
System.out.print(i +"*"+j+"="+a );
}
System.out.println(); //换行
//System.out.print("\n");
}
}
}
编写for循环找出1~100中的所有素数
素数: 又被称为质数,能够被1和自身整除,不能被其他数字整除的数字称为素数。
public class ForTest04 {
public static void main(String[] args) {
for(int i=2;i<=100;i++){
boolean flag=true; //标记i是否能被其他数整除
for(int j=2;j<i;j++){
//此刻i只能被1和本身整除,所以应从2~i-1
if(i%j==0){
flag=false; //如果i能被其他数整除,就跳出循环
break;
}
}
if (flag)
System.out.print(i+" ");
}
}
}