流程难点串讲
1.提高程序可读性

//输入一个整数,如果为1,则直接输出,否则对该数字自减,并输出自减后的结果。
import java.util.*;
public class Text01 {
public static void main(String[] args) {
//输入一个数
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = input.nextInt();
//首先如果输入的是1,则直接输出,注意等于是==
//如果不是1的话走else,输出自减后的结果
if(num==1) {
System.out.println("输出"+num);
}else {
--num;
System.out.println("输出"+--num);
}
}
}
//首先如果输入的是1,则直接输出,注意等于是== if(num==1) {
System.out.println(“输出”+num);
如果不是1的话走else,输出自减后的结果
else {
–num;
System.out.println("输出"±-num);
在选择结构中只有一句代码的时候可以去掉大括号{},多行代码时,如果省略之后会发生逻辑错误。
if(num==1)
System.out.println("输出"+num);
else
--num;
System.out.println("输出"+--num);
如果去掉多行代码的大括号{}则程序会认为else后面只有一句–num,而后面的System.out.println("输出"±-num);会每次都会输出。则如果去掉else的大括号{}程序其实就变成了👇
if(num==1) {
System.out.println("输出"+num);
}else{
--num;
}
System.out.println("输出"+--num);
尽量不省略if、else、else if中的大括号
1.提高程序可读性
2.避免错误
2.避免死循环

//死循环
//空循环
public class Test02 {
public static void main(String[]args){
int i=1;
while(i<10){
System.out.println("输出"+i);
i++;
}
}
}
死循环
如果忘记写循环变量迭代,就会无休止的输出1造成程序的死循环。
如果发生死循环首先要检查有没有去写循环变量迭代有没有写,有没有写错。
空循环
在java代码中,;代表了一个语句的结束。如果如👇
while(i<10);{
System.out.println("输出"+i);
i++;
}
则不会进入后面的循环操作
总结
严格按照语法写代码并检查代码,避免出线以下问题
1.死循环-缺少循环变量迭代或者迭代不正确
2.空循环-循环条件不满足或分号位置不正确
3.选择合适的循环结构

public static void main(String[] args) {
int i =1;
do {
System.out.println("输出"+i);
i++;
}while(i<10);
}
}
如果输入的是30,此循环就不适合,应该使用while函数,先判断条件再进行循环,do-whlie的特点为不管条件是否满足都会进入一次循环。
4.for循环分号不可省略
1.for循环三个表达式都可以省略,但是分号不可以省略。
2.考虑程序运行结果,省略的表达式需要在其他位置补全。
5.for循环中定义变量循环外不可用

👆在循环中声明的i在出了循环之后,这个i就失效了。所以此运行结果编译错误。
可以将int i在前面声明
int sum =0;
int i =1;
for(i=1;i<=10;i++){
sum +=i;
}
System.out.print("i="+1+"sum="+sum);
//正确的代码
6.条件判断结果必须为boolean类型

条件判断的结果必须是boolean类型,=是赋值,等于的符号是==
7.学习方法
熟记各种结构的语法以及使用场合
分析模仿规范的源代码
学会分析方法
确定使用的语法结构
找关键点:条件、循环变量、循环操作
画流程图
将流程图变为java程序语言
多敲多练,熟能生巧
不怕出错、累计错误、并且记录
8.思考题

import java.util.*;
public class Test04 {
//计算阶乘法
public static void main(String[] args) {
// 计算n! 1*2*3*4*5....*n
//输入并且接收数字
Scanner input = new Scanner(System.in);
System.out.println("请输入一个正整数");
int n =input.nextInt();
int sum =0;//记录阶乘之和
int sum2 =0;//阶乘最终的结果
//循环过程
for(int i=1;i<=n;i++) {
sum2*=i;
sum+= sum2;
}
System.out.println(n+"的阶乘是:"+sum2);
System.out.println("1!+2!+3!+...."+n+"!="+sum);
}
}
本文详细讲解了Java编程中提高程序可读性的技巧,包括避免死循环和空循环的方法,强调了循环结构的选择与使用。同时,强调了for循环中分号的重要性以及变量的作用域。此外,还通过计算阶乘的例子展示了如何运用循环计算数学问题。
352

被折叠的 条评论
为什么被折叠?



