for循环
for( 表达式1; 表达式2; 表达式3){
循环体
}
表达式1是循环结构的初始化部分,通常用于定义循环变量并赋初始值;
表达式2是循序条件,必须返回boolean类型的值;
表达式3是循环体的迭代部分,通常用于修改循环变量的值,表达式之间用分号分割,大括号中是循环体
循环的执行顺序
1.执行初始化部分
2.进行循环条件判断
3.根据循环条件判断结果,决定是否执行循环体
4.执行迭代部分,改变循环变量的值
5.重复2、3、4步,知道循环条件不成立
/*
* 循环输出1到100之间所有能被3或能被4整除的数
* */
public class W1 {
public static void main(String[] args) {
int i;
for (i = 1; i < 100; i++) {
if (i % 3 == 0 || i % 4 == 0) {
System.out.println(i);
}
}
}
}
注:for循环的表达式1、表达式2、表达式3都可省略,但要注意语法与逻辑,避免语法错误或死循环,表达式之间的分号不可省略
break:改变程序控制流
用于do-while、while、for和switch时,可跳出循环而执行循环后面的语句或退出switch
一般在if中使用,但终止的是外部的循环
在多层循环中,break只能终止最里面包裹它的那个循环
/*
* 找到10-20之间第一个可以被3整除的数字
*/
public class D2 {
public static void main(String[] args) {
int i ;
for(i = 10 ;i<=20 ;i++){
// 如果能被3整除,终止整个循环
if(i%3==0){
break ;
}
}
System.out.println("10-20之间第一个可以被3整除的数字:"+i);
}
}
continue :只能用在循环里
跳过循环体中剩余的语句而执行下一次循环
一般在if中使用,但跳过的是外部的循环
在多层循环中,continue只能跳过最里面包裹它的那个循环
/*
* 求1-100之间不能被3整除的数之和
* */
public class D3 {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i < 100; i++) {
// // 第一种
// if (i % 3 != 0) {
// sum += i; // 不能被3整除进行加和
// }
// 第二种
if (i % 3 == 0) {
continue;
}
sum += i; // 能被3整除就跳过,不加和
}
System.out.println("1-100之间不能被3整除的数之和:" + sum);
}
}
return
结束当前方法的执行并退出,返回到调用该方法的语句处
嵌套循环
// 输出乘法表
public class December {
public static void main(String[] args) {
// 外层循环控制行数
for(int i=1 ; i<=9 ;i++){
// 内层循环控制列数
for(int j=1 ;j<=i ;j++){
// 输出乘法
System.out.print(j+"x"+i+"="+(i*j)+"\t");
}
System.out.println(); // 控制换行
}
}
}
随机数
public class November {
public static void main(String[] args) {
int i;
/**************************方法一**********************************/
// 输出1-10之间的随机数
// for (i = 0; i < 10; i++) { // 调用静态数学对象类的方法
// double num = Math.random() * 10; // 获取0-10之间double类型的随机浮点数,*10 赋值给num
// int ran = (int) (num + 1); // num加一之后变成1-11之间的随机浮点数,强制类型将其赋值给num,舍弃小数部分
// System.out.println(ran);
// }
/**************************方法二**********************************/
// Random ran = new Random() ; // 创建随机对象类
// for(i = 0 ;i < 10 ;i++){
// int num = ran.nextInt(10) + 1; // 调用带参数的类方法,生成随机0-10之间的随机整数(不包含10,但包含0)
// System.out.println(num);
// }
/**************************布尔值**********************************/
// 随机生成布尔值
// Random ran = new Random() ;
// boolean flag = ran.nextBoolean();
// System.out.println(flag);
}
}