for循环
for循环表达式:
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句;
}
例:
class Demo{
public static void main(String[] args){
for(int i=0; i<10; ){
System.out.println("键盘虾");
i++;
}
//1.计算1-5的数字的和
int sum = 0;
for(int i=1; i<=5; i++){
//sum = sum + i;
sum += i;
}
System.out.println(sum);
//2.计算1-100之间数字的偶数和
int temp = 0;
for(int i=1; i<=100; i++){
//判断当前循环的数是不是偶数
if(i%2 == 0){
temp += i;
}
}
System.out.println("1-100之间偶数的和" + temp);
}
}
利用for循环遍历数组
class Demo {
public static void main(String[] args) {
int[] arr = { 1, 4, 9, 16, 25 };
for (int i=0; i<ns.length; i++) {
int n = arr[i];
System.out.println(n);
}
}
}
利用for each循环遍历数组
直接迭代数组的每个元素
class Demo {
public static void main(String[] args) {
int[] arr = { 1, 4, 9, 16, 25 };
for (int n : arr) {
System.out.println(n);
}
}
}
注意:在for (int n : arr)循环中,变量n直接拿到arr数组的元素,而不是索引。显然for each循环更加简洁。但是,for each循环无法拿到数组的索引,因此,到底用哪一种for循环,取决于我们的需要。
java 标准库提供了 Arrays.toString() 可快速打印数组
import java.util.Arrays;
class Demo{
public static void main(String[] args) {
int[] arr = { 1, 1, 2, 3, 5, 8 };
System.out.println(Arrays.toString(arr));
}
}
利用for循环对一个整型数组的所有元素求和:
class Demo {
public static void main(String[] args) {
int[] arr = { 1, 4, 9, 16, 25 };
int sum = 0;
for (int i=0; i<ns.length; i++) {
sum = sum + arr[i];
}
System.out.println("sum = " + sum);
}
}
for循环练习题:
1.水仙花数:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。
分析(水仙花数为三位数,则范围在100-1000之间。且
例如:1^3 + 5^3+ 3^3 = 153
个位: 153%10=3;
十位:153/10%10=5;
百位:153/10/10%10=1.
);
求出水仙花数?
public class Demo {
public static void main(String[] args) {
int count=0;//用来记录循环的次数,也就是水仙花数的个数
System.out.print("水仙花数是:[");
for(int i=100; i<1000; i++){
int ge=i%10;
int shi=i/10%10;
int bai=i/10/10%10;
if((ge*ge*ge +shi*shi*shi+bai*bai*bai)==i){
System.out.print(i+",");
count++;
}
}
System.out.println("]");
System.out.println("水仙花的个数是:"+count);
}
}
2.打印九九乘法表
九九乘法表
public class Demo {
public static void main(String[] args) {
for(int i=1; i<10; i++){//外循环控制行数
for(int j=1; j<=i; j++){//内循环控制列数
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();//代表空行
}
}
}
3.倒序打印数组元素
倒序打印数组
public class Demo {
public static void main(String[] args) {
int[] ns = { 1, 4, 9, 16, 25 };
for (int i=ns.length-1; i >= 0; i--) {
System.out.println(ns[i]);
}
}
}
4.利用for循环计算π
== 利用for循环计算π==
class Demo {
public static void main(String[] args) {
double pi = 0;
for ( double i = 1; i < 1000000000 ; i += 4) {
pi = pi + 4*(1/i - 1/(i+2));
}
System.out.println(pi);
}
}