栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

循环的学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

循环的学习

在开发环境中,我们常会有许多具有规律性的重复指令需要计算机去操作。因此就需要使用到循环。
循环是由反复被执行的循环体语句和循环终止条件共同组成。

for 循环

for 语句属于前测试循环语句,它具有在执行循环前初始化变量和定义循环后要执行的代码的能力。
语法:

for(表达式1; 表达式2; 表达式3){
	循环体;
}

for 循环分为3步:

  1. 初始化(initialize):确定循环的初始值,只在循环开始时执行一次

  2. 测试(test):检查循环条件,为 true 就进入循环体

  3. 递增(increment):完成后续操作返回上一步,再次检查循环条件

  4. 遇到 for 关键字,首先执行表达式 1

  5. 再判定表达式 2 是否为 true,为真进入下一步,为假退出循环

  6. 执行循环体语句

  7. 执行表达式3,然后回到 2 进行下一次是否循环的判断

while 循环

while 也是前测试语句。也就是说在循环体内的代码被执行前就会对出口条件求值。因此循环体内的代码就有可能永远不会被执行。
语法:

while(条件表达式){
    循环语句块;
}
do while 循环

do while 语句是一种后测试循环语句,即在循环体执行后才会测试出口条件。换句话说先是执行一次循环体再进行条件的判断,如果成立就再次执行循环体,否则就退出。do while 至少会执行一次。
语法:

do{
    循环语句块;
}while(条件表达式);
三种循环的比对
  1. for循环适用于明确知道循环的次数
  2. while循环适用于不知道循环的具体次数,只知道达到某个条件的时候循环结束
  3. do-while循环适用于不知道循环的具体次数但至少要执行一次,只知道达到某个条件的时候循环结束
打断循环

break 和 continue 关键字用于在循环中精确地控制代码的执行,break 用于立即跳出整个循环。continue 结束本次循环,循环没有跳出,进入下一次循环。

break

在循环结构中,用break语句跳出本层循环体,从而提前结束本层循环。

for (int i = 0; i < 10; i++) {
    if (i == 3) {
        break;
    }
    System.out.println(i); // 0 1 2
}
continue

continue是结束本次循环(即跳过本次循环中余下尚未执行的语句),接着再一次进行循环条件的判定。

for (int i = 0; i < 10; i++) {
    if (i == 3) {
        continue;
    }
    System.out.println(i); // 0 1 2 4 5 6 7 8 9
}
对比 break 和 continue
for (int i = 0; i < 5; i++) {
    if (i == 3) {
        break;
    }
    System.out.println(i); // 0 1 2
}

for (int i = 0; i < 5; i++) {
    if (i == 3) {
        countinue;
    }
    System.out.println(i); // 0 1 2 4
}
循环的嵌套

双重循环也就是循环内再套循环。每当外层循环执行1次,内层循环执行1圈。
语法:

外层循环{
    内层循环{}
}

分析输出:

for (int i = 1; i <= 3; i++) {
    System.out.println("i:" + i);
    for (int j = 1; j <= 5; j++) {
        System.out.println("j:" + j);
    }
}
 

在嵌套循环中需要注意的点:

  1. 几重循环看的是循环嵌套的层级,而不是循环的个数;
  2. 在语法上循环嵌套的层次是可以无限的,但是在现实开发当中,最多达到三重循环;嵌套层次过多会导致程序流程控制力度下降,算法可读性降低;
  3. 嵌套循环的关键,在于搞清楚循环执行的顺序。外层循环执行1次,内层循环执行1圈;
    内层循环可以访问外层循环的循环控制变量;
    外层循环不能访问内层循环的循环控制变量;
  4. 循环控制变量命名,最外层的用i,第二层用j,第三层用k,依次类推,这是“约定俗成”的规范; 同层循环可以使用同名的循环控制变量;
  5. break 和 continue,只能对本层循环起作用
等号与equals()

在进行数据量的比较时,只有基本数据类型才能使用 “ == ” 比较值是否相等。引用数据类型 String 要用 字符串.equals(另一个字符串); 来进行比较。

// 使用字符比较是相等
String str = "男";
char cha = '男';
System.out.println(str == "男"); // true
System.out.println(cha == '男'); // true

// 如果是获取的输入
System.out.println("请输入:");
String ipt = scan.next();
if (ipt == "男") {
    System.out.println("输入的是男");
} else{
    System.out.println("啥也不是"); // 无法进 if
}

// 改为 equals()
System.out.println("请输入:");
String ipt = scan.next();
if (ipt.equals("男")) {
    System.out.println("输入的是男"); // 可以被成功判断
} else {
    System.out.println("啥也不是");
}
GUI

Java 在 javax.swing 包自带了 GUI(graph user interface) 图形开发的 API,使用 JOPtionPane 类弹窗,可以替代 Scanner 接收用户信息。

● 消息框:showMessageDialog() 替代 System.out.printLn() JOptionPane.showMessageDialog(null, “显示文字”)
● 输入框:替代 Scanner JOptionPane.showInputDialog(null, “提示内容”);
● 确认框:JOptionPane.showConfirmDialog(null,“确认的消息”); 返回值是 int 值,取消 2 否 1 确认 0


字符串和基本数据类型之间的转换
  1. 基本数据类型转字符串 – 基本数据类型 + “”
  2. 字符串转基本数据类型。首先保证字符串里的内容是一个正确的可以被转换的数据
String str = "123";
// 字符串 -> int
int num = Integer.parseInt(str);
// 字符串 -> double
double weight = Double.parseDouble(str);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/986167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号