Java学习第一部分第一阶段第四节控制结构是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3283个文字,预计阅读时间需要14分钟。
控制结构顺序执行,中间无任何判断和跳转。顺序控制举例和注意事项:Java中定义成员变量时采用合适的访问修饰符。例如:public class Test { int num1=12; int num2; }
控制结构 顺序程序从上到下逐行地执行,中间没有任何判断和跳转。
顺序控制举例和注意事项
Java中定义成员变量时采用合法的前向引用。如:
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}
错误形式:
public class Test{
int num2 = num1 +2;//错误
int num1 = 12;
}
基本语法
if(条件表达式){
执行代码块;(可以有多条语句.)
}
如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。
案例:
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
//把年龄保存到一个变量int age
int age = myScanner.nextInt();//使用if判断,输出对应信息
if(age > 18){
System.out.println("你年龄大于18,要对自己的行为负责,送入监狱");
}
System.out.println("程序继续...");
双分支
基本语法
if(条件表达式){
执行代码块1;}
else {
执行代码块2;
}
说明:当条件表达式成立,即执行代码块1,否则执行代码块2.如果执行代码块只有一条语句,则{}可以省略,否则,不能省略
√案例演示
Scanner myScanner = new Scanner(System.in);
system.out.println("请输入年龄");
//把年龄保存到一个变量int age
int age = myScanner.nextInt();//使用if-else郸判断,输出对应信息
if(age > 18) {
System.out.println("你年龄大于18,要对自己的行为负责,送入监狱");
}else {//双分支
System.aut.println("你的年龄不大这次放过你了");
}
System.out.print1n("程序继续...");
编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出"你年龄大于18,要对自己的行为负责,送入监狱"。否则,输出"你的年龄不大这次放过你了."
流程图
单分支和双分支练习题
-
对下列代码,若有输出,指出输出结果。
int x = 7; int y = 4; if (> 5){ if (y > 5){ System.out.println(x + y); } System.out.printIn("韩顺平~"); }else System.out.println("x is " + x); //输出的内容是? //韩顺平~ -
编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。
double d1 = 33.5; double d2 = 2.6; if(d1 > 10.0 && d2 <20.0)i System. out.println("两个数和="+(d1 +d2)); } -
定义两个变量int,判断二者的和,是否能被3又能被5整除,打印提示信息
int num1 = 10; int num2 = 1; int sum = num1 + num2; if(sum % 3 == 0 && sum % 5 ==0) { System.out.println("和可以被3又能被5整除"); }else{ System.out.println("和不能被3和5整除.."); } -
判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除;(2)能被400整除
int year = 2020; if( (year % 4 == 0 &8 year % 100 !=0)llyear % 400 == 0 ) { System.out.println(year +”是闰年"); }else{ System.out.println(year + ”不是闰年"); }
基本语法
if (条件表达式1){
执行代码块1;
}else if(条件表达式2){
执行代码块2;
}
.…….
else{
执行代码块n;
}
特别说明:(1)多分支可以没有else,如果所有的条件表达式都不成立,则一个执行入口都没有(2)如果有else ,如果所有的条件表达式都不成立,则默认执行else代码块。
流程图
√案例演示1
输入建国同志的芝麻信用分:
如果:
1.信用分为100分时,输出信用极好;
2.信用分为(80,99]时,输出信用优秀;
3.信用分为[60,80]时,输出信用一般;
4.其它情况,输出信用不及格
5.请从键盘输入建国的芝麻信用分,并加以判断
Scanner myScanner = new Scanner(System.in);
//接收用户输入
System.out.println("请输入信用分:");
int grade = myScanner.nextInt();
//因为有4种情况,所以使用多分支
if(grade == 100){
System.out.println("信用极好");
}else if (grade > 80 && grade <=99){//信用分为(80,99]时,
System.out.println("信用优秀");
}else if(grade >= 60 && grade <= 80){/ /信用分为[60,80]时,
System.out.println("信用一般");
}else{//其它情况,输出信用不及格
System.out.println("信用不及格");
}
**案例演示2
/代码,看看输出什么?
boolean b = true;
if(b == false) //
实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,坷结束外层的当次循环,开始下一次的循环[听不懂,走案例]。
设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。
例:
for( int i=1; i<= 7; i++){
for( int j =1;j<= 2; j++){
System.out.println("ok~~");//7*2=14
}
应用实例:
-
统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级
的平均分[学生的成绩从键盘输入]。 -
统计三个班及格人数,每个班有5名同学。
//1.2. scanner myScanner = new Scanner(System.in); int passNum = ;//累积及格人数 double totalscore = 0;//累积所有学生的成绩 for( int i = 1; i <= 3; i++){//i表示班级 double sum = 0;//一个班级的总分 for( int j = 1; j <= 5; j++){//j表示学生 System.out.println("请数第"+i+"个班的第"+j+"个学生的成绩"); double score = myScanner.nextDouble(); if(score >= 60){ passNum++; } sum += score;//累积 System.out.print1n("成绩为"+ score); } //因为sum是5个学生的总成绩 System.out.println( "sum=" + sum + ”平均分=" + (sum / 5)); //把sum累积到totalScore totalscore += sum; } System.out.println("三个班总分="+ totalScore+"平均分="+ totalScore /15); System.out.println("及格人数=”+ passNum); -
打印出九九乘法表
答案:略
●经典的打印金字塔
使用for循环完成下面的案例
请编写一个程序,可以接收一个整数,表示层数(totalLevel),打印出金字塔。[化繁为简,先死后活]
//1
public class HelloWorld {
public static void main(String []args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print('*');
}
System.out.print("\n");
}
}
}
//2
public class HelloWorld {
public static void main(String []args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print(' ');
}
for(int j=1;j<=i*2-1;j++){
System.out.print('*');
}
System.out.print("\n");
}
}
}
//3
public class HelloWorld {
public static void main(String []args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print(' ');
}
for(int j=1;j<=i*2-1;j++){
if((j==1||j==i*2-1)||i==5){
System.out.print('*');
}else{
System.out.print(' ');
}
}
System.out.print("\n");
}
}
}
break
看下面一个需求
随机生成1-100的一个数,直到生成了97这个数,看看你一共用了几次?
提示使用(int)(Math.random() *100)+1 (注意:0.0<=Math.random()<1.0)
思路分析:
循环,但是循环的次数不知道.-> break ,当某个条件满足时,终止循环通过该需求可以说明其它流程控制的必要性,比如break
基本介绍:
break语句用于终止某个语句块的执行,一般使用在switch或者循环[for , while , do-while]中
基本语法:
{......
break;
......
}
以while使用break为例,画出示意图
注意事项和细节说明:
-
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
-
标签的基本使用
label1:{ ………
label2: {……
label3: { ......
break label2;
......
}
}
}(1)break语句可以指定退出哪层(2)label1是标签,由程序员指定。
(3)break后指定到哪个label就退出到哪里
(4)在实际的开发中,尽量不要使用标签.(因为可读性差)
(5)如果没有指定break,默认退出最近的循环体
课堂练习题:
-
1-100以内的数求和,求出当和第一次大于20的当前数
int sum = 0;//累积和 //注意i的作用范围在for{} int n = 0; for(int i = 1; i <= 100; i++){ sum += i;//l累积 if(sum > 20){ System.out.println("和>20时候当前数i=" + i); break; } System.out.println("当前数=" +n); } -
实现登录验证,有3次机会,如果用户名为"丁真”,密码"666"提示登录成功,否则提示还有几次机会,请使用for+ break完成
scanner myScanner = new Scanner(System.in); String name = ""; String passwd = ""; int chance = 3;//登录一次,就减少一次 for( int i = 1; i <= 3; i++){ System.out.print1n("请输入名字"); name = myScanner.next(); System.out.println("请输入密码"); passwd = myScanner.next(); //比较输入的名字和密码是否正确 //补充说明字符串的内容比较使用的方法equals if("丁真".equals(name)&&"666".equals(passwd)) { System.out.println(“恭喜你,登录成功~“);break; } //登录的机会就减少一次 chance--; System.out.print1n("你还有"+chance+"次登录机会"); }
基本介绍:
- continue语句用于结束本次循环,继续执行下一次循环。
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用的规则一样.
基本语法:
{ ......
continue;
......
}
以while使用continue为例,画出示意图
快速入门案例
int i=1;
while (i <=4){
i++;
if (i == 2){
continue;
}
System.out.println( "i=" + i);
}
细节案例分析和说明:
label1:
for(int j = 0; j< 4; j++){
label2:
for(int i = 0; i< 10; i++){
if(i == 2){
//看看分别输出什么值,并分析
//continue ;
//continue label2;
continue label1;
}
System.out.println("i = " + i);
}
}
return
介绍
return使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。注意:如果return写在main方法,退出程序..
for(int i=1;i<=5;i++){
if(==3) {
System.out.println("韩顺平教育“+i);
return;
//continue;
break;
}
System.out.println("Hello World!");
}
System.out.println("go on..");
本章练习
-
编程实现如下功能
某人有100,000元,每经过一次路口,需要交费,规则如下:
1)当现金>50000时,每次交5%
2)当现金<=50000时,每次交1000
编程计算该人可以经过多少次路口,要求:使用while break方式完成double money=100000; int count=0; while(true){ if (money>50000){ money=money-money*0.05; count++; }else if(money>=1000){ money-=1000; count++; }else{ System.out.println(count); break; } } -
实现判断一个整数,属于哪个范围:大于0;小于0;等于0
答案:略
-
判断一个年份是否为闰年
答案:略
-
判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153 = 1*1*1 +3*3*3 + 5*5*5
//输出所有水仙花数 for(int i=100;i<1000;i++){ int n1=i/100;//百位 int n2=i%100/10;//十位 int n3=i%10;//个位 if(n1*n1*n1+n2*n2*n2+n3*n3*n3==i) { System.out.println(i); } } -
看看下面代码输出什么?
class Demo{ public static void main(String[] args){ int m=0,n=3; if(m>0){ if(n>2) System.out.println("OK1"); else System.out.println("OK2"); } } }
//没有输出
-
输出1-100之间的不能被5整除的数,每5个一行
int count = 0;//统计输出的个数 for(int i = 1; i <= 100; i++){ if(i % 5 !=O){ count++; System.out.print( i + " "); //判断,每满5个,就输出一个换行.. if( count 5 ==) { System.out.println(); } } } -
输出小写的a-z以及大写的Z-A
for(char c1 = 'a'; c1<= 'z'; c1++) { System.out.print(c1 +" "); } System.out.println( "============" );//灵活的使用,编程.. for(char c1 = 'z'; c1 >= 'A'; c1--) { System.out.print(c1 +" "); } -
求出1-1/2+1/3-1/4.....1/100的和
double sum = 0; for(int i = 1; i <= 10日; i++){ //判断是奇数还是偶数,然后做不同的处理 if( i %2 !=0){//分母为奇数 sum += 1.0/i; }else{//分母我偶数 sum -= 1.0/i; } } System.out.print1n( "sum=" + sum); -
求1+(1+2) +(1+2+3)+(1+2+3+4) +....+(1+2+3+..+100)的结果
int sum = 0; for(int i = 1; i <= 100; i++) { for(int j = 1;j <= i; j++){//内层对1-i进行循环 sum += j; } } System.out.println("sum=" + sum);
本文共计3283个文字,预计阅读时间需要14分钟。
控制结构顺序执行,中间无任何判断和跳转。顺序控制举例和注意事项:Java中定义成员变量时采用合适的访问修饰符。例如:public class Test { int num1=12; int num2; }
控制结构 顺序程序从上到下逐行地执行,中间没有任何判断和跳转。
顺序控制举例和注意事项
Java中定义成员变量时采用合法的前向引用。如:
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}
错误形式:
public class Test{
int num2 = num1 +2;//错误
int num1 = 12;
}
基本语法
if(条件表达式){
执行代码块;(可以有多条语句.)
}
如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。
案例:
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
//把年龄保存到一个变量int age
int age = myScanner.nextInt();//使用if判断,输出对应信息
if(age > 18){
System.out.println("你年龄大于18,要对自己的行为负责,送入监狱");
}
System.out.println("程序继续...");
双分支
基本语法
if(条件表达式){
执行代码块1;}
else {
执行代码块2;
}
说明:当条件表达式成立,即执行代码块1,否则执行代码块2.如果执行代码块只有一条语句,则{}可以省略,否则,不能省略
√案例演示
Scanner myScanner = new Scanner(System.in);
system.out.println("请输入年龄");
//把年龄保存到一个变量int age
int age = myScanner.nextInt();//使用if-else郸判断,输出对应信息
if(age > 18) {
System.out.println("你年龄大于18,要对自己的行为负责,送入监狱");
}else {//双分支
System.aut.println("你的年龄不大这次放过你了");
}
System.out.print1n("程序继续...");
编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出"你年龄大于18,要对自己的行为负责,送入监狱"。否则,输出"你的年龄不大这次放过你了."
流程图
单分支和双分支练习题
-
对下列代码,若有输出,指出输出结果。
int x = 7; int y = 4; if (> 5){ if (y > 5){ System.out.println(x + y); } System.out.printIn("韩顺平~"); }else System.out.println("x is " + x); //输出的内容是? //韩顺平~ -
编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。
double d1 = 33.5; double d2 = 2.6; if(d1 > 10.0 && d2 <20.0)i System. out.println("两个数和="+(d1 +d2)); } -
定义两个变量int,判断二者的和,是否能被3又能被5整除,打印提示信息
int num1 = 10; int num2 = 1; int sum = num1 + num2; if(sum % 3 == 0 && sum % 5 ==0) { System.out.println("和可以被3又能被5整除"); }else{ System.out.println("和不能被3和5整除.."); } -
判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除;(2)能被400整除
int year = 2020; if( (year % 4 == 0 &8 year % 100 !=0)llyear % 400 == 0 ) { System.out.println(year +”是闰年"); }else{ System.out.println(year + ”不是闰年"); }
基本语法
if (条件表达式1){
执行代码块1;
}else if(条件表达式2){
执行代码块2;
}
.…….
else{
执行代码块n;
}
特别说明:(1)多分支可以没有else,如果所有的条件表达式都不成立,则一个执行入口都没有(2)如果有else ,如果所有的条件表达式都不成立,则默认执行else代码块。
流程图
√案例演示1
输入建国同志的芝麻信用分:
如果:
1.信用分为100分时,输出信用极好;
2.信用分为(80,99]时,输出信用优秀;
3.信用分为[60,80]时,输出信用一般;
4.其它情况,输出信用不及格
5.请从键盘输入建国的芝麻信用分,并加以判断
Scanner myScanner = new Scanner(System.in);
//接收用户输入
System.out.println("请输入信用分:");
int grade = myScanner.nextInt();
//因为有4种情况,所以使用多分支
if(grade == 100){
System.out.println("信用极好");
}else if (grade > 80 && grade <=99){//信用分为(80,99]时,
System.out.println("信用优秀");
}else if(grade >= 60 && grade <= 80){/ /信用分为[60,80]时,
System.out.println("信用一般");
}else{//其它情况,输出信用不及格
System.out.println("信用不及格");
}
**案例演示2
/代码,看看输出什么?
boolean b = true;
if(b == false) //
实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,坷结束外层的当次循环,开始下一次的循环[听不懂,走案例]。
设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。
例:
for( int i=1; i<= 7; i++){
for( int j =1;j<= 2; j++){
System.out.println("ok~~");//7*2=14
}
应用实例:
-
统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级
的平均分[学生的成绩从键盘输入]。 -
统计三个班及格人数,每个班有5名同学。
//1.2. scanner myScanner = new Scanner(System.in); int passNum = ;//累积及格人数 double totalscore = 0;//累积所有学生的成绩 for( int i = 1; i <= 3; i++){//i表示班级 double sum = 0;//一个班级的总分 for( int j = 1; j <= 5; j++){//j表示学生 System.out.println("请数第"+i+"个班的第"+j+"个学生的成绩"); double score = myScanner.nextDouble(); if(score >= 60){ passNum++; } sum += score;//累积 System.out.print1n("成绩为"+ score); } //因为sum是5个学生的总成绩 System.out.println( "sum=" + sum + ”平均分=" + (sum / 5)); //把sum累积到totalScore totalscore += sum; } System.out.println("三个班总分="+ totalScore+"平均分="+ totalScore /15); System.out.println("及格人数=”+ passNum); -
打印出九九乘法表
答案:略
●经典的打印金字塔
使用for循环完成下面的案例
请编写一个程序,可以接收一个整数,表示层数(totalLevel),打印出金字塔。[化繁为简,先死后活]
//1
public class HelloWorld {
public static void main(String []args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print('*');
}
System.out.print("\n");
}
}
}
//2
public class HelloWorld {
public static void main(String []args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print(' ');
}
for(int j=1;j<=i*2-1;j++){
System.out.print('*');
}
System.out.print("\n");
}
}
}
//3
public class HelloWorld {
public static void main(String []args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print(' ');
}
for(int j=1;j<=i*2-1;j++){
if((j==1||j==i*2-1)||i==5){
System.out.print('*');
}else{
System.out.print(' ');
}
}
System.out.print("\n");
}
}
}
break
看下面一个需求
随机生成1-100的一个数,直到生成了97这个数,看看你一共用了几次?
提示使用(int)(Math.random() *100)+1 (注意:0.0<=Math.random()<1.0)
思路分析:
循环,但是循环的次数不知道.-> break ,当某个条件满足时,终止循环通过该需求可以说明其它流程控制的必要性,比如break
基本介绍:
break语句用于终止某个语句块的执行,一般使用在switch或者循环[for , while , do-while]中
基本语法:
{......
break;
......
}
以while使用break为例,画出示意图
注意事项和细节说明:
-
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
-
标签的基本使用
label1:{ ………
label2: {……
label3: { ......
break label2;
......
}
}
}(1)break语句可以指定退出哪层(2)label1是标签,由程序员指定。
(3)break后指定到哪个label就退出到哪里
(4)在实际的开发中,尽量不要使用标签.(因为可读性差)
(5)如果没有指定break,默认退出最近的循环体
课堂练习题:
-
1-100以内的数求和,求出当和第一次大于20的当前数
int sum = 0;//累积和 //注意i的作用范围在for{} int n = 0; for(int i = 1; i <= 100; i++){ sum += i;//l累积 if(sum > 20){ System.out.println("和>20时候当前数i=" + i); break; } System.out.println("当前数=" +n); } -
实现登录验证,有3次机会,如果用户名为"丁真”,密码"666"提示登录成功,否则提示还有几次机会,请使用for+ break完成
scanner myScanner = new Scanner(System.in); String name = ""; String passwd = ""; int chance = 3;//登录一次,就减少一次 for( int i = 1; i <= 3; i++){ System.out.print1n("请输入名字"); name = myScanner.next(); System.out.println("请输入密码"); passwd = myScanner.next(); //比较输入的名字和密码是否正确 //补充说明字符串的内容比较使用的方法equals if("丁真".equals(name)&&"666".equals(passwd)) { System.out.println(“恭喜你,登录成功~“);break; } //登录的机会就减少一次 chance--; System.out.print1n("你还有"+chance+"次登录机会"); }
基本介绍:
- continue语句用于结束本次循环,继续执行下一次循环。
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用的规则一样.
基本语法:
{ ......
continue;
......
}
以while使用continue为例,画出示意图
快速入门案例
int i=1;
while (i <=4){
i++;
if (i == 2){
continue;
}
System.out.println( "i=" + i);
}
细节案例分析和说明:
label1:
for(int j = 0; j< 4; j++){
label2:
for(int i = 0; i< 10; i++){
if(i == 2){
//看看分别输出什么值,并分析
//continue ;
//continue label2;
continue label1;
}
System.out.println("i = " + i);
}
}
return
介绍
return使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。注意:如果return写在main方法,退出程序..
for(int i=1;i<=5;i++){
if(==3) {
System.out.println("韩顺平教育“+i);
return;
//continue;
break;
}
System.out.println("Hello World!");
}
System.out.println("go on..");
本章练习
-
编程实现如下功能
某人有100,000元,每经过一次路口,需要交费,规则如下:
1)当现金>50000时,每次交5%
2)当现金<=50000时,每次交1000
编程计算该人可以经过多少次路口,要求:使用while break方式完成double money=100000; int count=0; while(true){ if (money>50000){ money=money-money*0.05; count++; }else if(money>=1000){ money-=1000; count++; }else{ System.out.println(count); break; } } -
实现判断一个整数,属于哪个范围:大于0;小于0;等于0
答案:略
-
判断一个年份是否为闰年
答案:略
-
判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153 = 1*1*1 +3*3*3 + 5*5*5
//输出所有水仙花数 for(int i=100;i<1000;i++){ int n1=i/100;//百位 int n2=i%100/10;//十位 int n3=i%10;//个位 if(n1*n1*n1+n2*n2*n2+n3*n3*n3==i) { System.out.println(i); } } -
看看下面代码输出什么?
class Demo{ public static void main(String[] args){ int m=0,n=3; if(m>0){ if(n>2) System.out.println("OK1"); else System.out.println("OK2"); } } }
//没有输出
-
输出1-100之间的不能被5整除的数,每5个一行
int count = 0;//统计输出的个数 for(int i = 1; i <= 100; i++){ if(i % 5 !=O){ count++; System.out.print( i + " "); //判断,每满5个,就输出一个换行.. if( count 5 ==) { System.out.println(); } } } -
输出小写的a-z以及大写的Z-A
for(char c1 = 'a'; c1<= 'z'; c1++) { System.out.print(c1 +" "); } System.out.println( "============" );//灵活的使用,编程.. for(char c1 = 'z'; c1 >= 'A'; c1--) { System.out.print(c1 +" "); } -
求出1-1/2+1/3-1/4.....1/100的和
double sum = 0; for(int i = 1; i <= 10日; i++){ //判断是奇数还是偶数,然后做不同的处理 if( i %2 !=0){//分母为奇数 sum += 1.0/i; }else{//分母我偶数 sum -= 1.0/i; } } System.out.print1n( "sum=" + sum); -
求1+(1+2) +(1+2+3)+(1+2+3+4) +....+(1+2+3+..+100)的结果
int sum = 0; for(int i = 1; i <= 100; i++) { for(int j = 1;j <= i; j++){//内层对1-i进行循环 sum += j; } } System.out.println("sum=" + sum);

