花几千上万学习Java,真没必要!(十一)

1、跳转控制语句:

测试代码1:

package com.continuetest;
public class ControlFlowDemo {  
  
    // break语句  
    public void demonstrateBreak() {  
        for (int i = 0; i < 10; i++) {  
            if (i == 5) {  
                break; // 当i等于5时,跳出循环  
            }  
            System.out.println("在break之前的循环: " + i);  
        }  
        System.out.println("跳出循环后");  
    }  
  
    // continue语句  
    public void demonstrateContinue() {  
        for (int i = 0; i < 10; i++) {  
            if (i % 2 == 0) {  
                continue; // 跳过偶数  
            }  
            System.out.println("循环中的奇数: " + i);  
        }  
    }  
  
    // return语句  
    public int findMax(int[] numbers) {  
        int max = numbers[0];  
        for (int number : numbers) {  
            if (number > max) {  
                max = number;  
            }  
        }  
        return max; // 返回最大值  
    }  
  
    // 异常处理  
    public void testException() {  
        try {  
            // 假设这里有一段可能抛出异常的代码  
            int result = 10 / 0; // 这会抛出ArithmeticException  
        } catch (ArithmeticException e) {  
            System.out.println("除数不能为0");  
        }  
        // 无论是否发生异常,这里的代码都会执行  
        System.out.println("异常处理后的继续执行");  
    }  
  
    // 主方法,用于测试上述方法  
    public static void main(String[] args) {  
        ControlFlowDemo demo = new ControlFlowDemo();  
  
        demo.demonstrateBreak();  
        System.out.println("--------");  
  
        demo.demonstrateContinue();  
        System.out.println("--------");  
  
        int[] numbers = {3, 5, 1, 8, 2, 9};  
        System.out.println("数组中的最大值是: " + demo.findMax(numbers));  
        System.out.println("--------");  
  
        demo.testException();  
    }  
}

运行结果如下:

测试代码2: 

package com.continuetest;
//跳转语句
public class JumpControlStatementsExample {  
    public static void main(String[] args) {  
        // break语句  
        System.out.println("break语句:");  
        forLoopWithBreak();  
  
        // continue语句  
        System.out.println("\ncontinue语句:");  
        forLoopWithContinue();  
  
        // return语句(从方法中返回)  
        System.out.println("\nreturn语句(从方法中返回):");  
        int max = getMax(5, 10);  
        System.out.println("较大的数是: " + max);  
  
        // void方法中的return语句  
        System.out.println("\nvoid方法中的return语句:");  
        printMessage();  
    }  
  
    // break语句的方法  
    public static void forLoopWithBreak() {  
        for (int i = 0; i < 10; i++) {  
            if (i == 5) {  
                break; // 当i等于5时,跳出循环  
            }  
            System.out.println(i);  
        }  
    }  
  
    // continue语句的方法  
    public static void forLoopWithContinue() {  
        for (int i = 0; i < 10; i++) {  
            if (i % 2 == 0) {  
                continue; // 如果i是偶数,跳过当前循环的剩余部分  
            }  
            System.out.println(i); // 只打印奇数  
        }  
    }  
  
    // return语句(从方法中返回)的方法  
    public static int getMax(int a, int b) {  
        if (a > b) {  
            return a; // 返回较大的数  
        }  
        return b; // 返回较小的数(如果a不大于b)  
    }  
  
    // void方法中的return语句的方法  
    public static void printMessage() {  
        System.out.println("Hello, World!");  
        return; // 终止方法,但不需要返回值  
    }  
}

运行结果如下:

 

 

 

2、 嵌套循环:

测试代码1: 

package com.continuetest;
//循环嵌套
public class ComplexNestedLoopsExample {  
    public static void main(String[] args) {  
        // 初始化一个二维整数数组  
        int[][] matrix = {  
            {1, 2, 3, 4},  
            {5, 6, 7, 8},  
            {9, 10, 11, 12},  
            {13, 14, 15, 16}  
        };  
          
        // 遍历二维数组的行  
        for (int i = 0; i < matrix.length; i++) {  
            // 对于每一行,检查是否满足某个条件(例如:行号是否为偶数)  
            if (i % 2 == 0) {  
                // 如果行号为偶数,遍历该行的列  
                for (int j = 0; j < matrix[i].length; j++) {  
                    // 对每个元素,执行一些操作  
                    // 假设要检查元素是否大于其行索引的两倍  
                    if (matrix[i][j] > (i * 2)) {  
                        // 如果条件满足,打印该元素,并可能想对其执行更多操作  
                        System.out.println("元素 " + matrix[i][j] + " 满足条件(在偶数行中)");  
                          
                        // 假设还要根据元素的奇偶性决定是否重复某些操作  
                        int k = 0;  
                        while (k < (matrix[i][j] % 2 == 0 ? 2 : 1)) { // 如果是偶数,则重复两次;否则,一次  
                            System.out.println("对元素 " + matrix[i][j] + " 重复操作 " + (k + 1));  
                            k++;  
                        }  
                    }  
                }  
            } else {  
                // 如果行号不是偶数,可能会执行不同的操作或跳过  
                // 使用do...while循环演示即使条件不满足也会至少执行一次的情况  
                int firstElement = (matrix[i].length > 0) ? matrix[i][0] : -1; // 安全地获取第一个元素  
                do {  
                    System.out.println("在奇数行中,但仅对第一个元素 " + firstElement + " 执行操作");  
                } while (false); // 这里条件总是为false,所以do...while循环只执行一次  
            }  
        }  
    }  
}

运行结果如下:

 

测试代码2:

package com.continuetest;
//嵌套循环
public class NestedStructuresExample {  
    public static void main(String[] args) {  
        // 初始化一个整数数组  
        int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};  
          
        // 初始化一个计数器,并统计偶数的数量  
        int evenCount = 0;  
          
        // 顺序结构:先进行循环遍历  
        for (int i = 0; i < numbers.length; i++) { // 循环结构  
            // 顺序结构:在循环体内,先访问数组元素  
            int number = numbers[i];  
              
            // 分支结构:判断当前元素是否为偶数  
            if (number % 2 == 0) { 
                // 顺序结构:如果是偶数,则执行打印操作  
                System.out.println(number + " 是偶数");  
                  
                // 顺序结构:同时,更新偶数的计数器  
                evenCount++;  
            }  
        }  
          
        // 顺序结构:循环结束后,打印偶数的总数  
        System.out.println("数组中共有 " + evenCount + " 个偶数。");  
    }  
}

运行结果如下:

测试代码3:

package com.continuetest;
//嵌套循环
public class NestedStructuresTest {  
    public static void main(String[] args) {  
        // 初始化一个整数数组  
        int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};  
          
        // 使用for循环遍历数组  
        for (int i = 0; i < numbers.length; i++) {  
            
            // 添加一个while循环
            int j = 0;  
            while (j < 5) { // 假设只对每个元素执行5次操作  
                if (numbers[i] % 2 == 0) {  
                    System.out.println(numbers[i] + " 是偶数(由while循环处理)");  
                }  
                j++;  
            }  
              
            // 添加一个do...while循环
            // do...while至少会执行一次循环体  
            int k = 0;  
            do {  
                if (numbers[i] > 5) {  
                    System.out.println(numbers[i] + " 大于5(由do...while循环处理)");  
                }  
                k++;  
            } while (k < 1); // 限制为只执行一次
        }  
          
 
        // 添加一个单独的计数器来统计偶数  
        int evenCount = 0;  
        for (int num : numbers) { // 使用for循环遍历  
            if (num % 2 == 0) {  
                evenCount++;  
            }  
        }  
          
        // 打印偶数的总数  
        System.out.println("数组中共有 " + evenCount + " 个偶数。");  
    }  
}

运行结果如下:

 

测试代码4:

package com.continuetest;
import java.util.function.Predicate;
//用嵌套循环处理字符串
public class StringProcessor {  
	  
    // 翻转字符串
    public String reverseString(String str) {  
        StringBuilder sb = new StringBuilder();  
        for (int i = str.length() - 1; i >= 0; i--) {  
            sb.append(str.charAt(i));  
        }  
        return sb.toString();  
    }  
  
    // 查找并替换子字符串(  
    public String replaceSubstring(String str, String toFind, String replaceWith) {  
        StringBuilder sb = new StringBuilder(str);  
        int index = 0;  
        while ((index = sb.indexOf(toFind, index)) != -1) {  
            sb.replace(index, index + toFind.length(), replaceWith);  
            index += replaceWith.length(); // 更新索引以避免跳过字符  
        }  
        return sb.toString();  
    }  
  
    // 字符串分割与重组 
    public String filterAndRecombine(String str, String delimiter, Predicate<String> filter) {  
        String[] parts = str.split(delimiter);  
        StringBuilder sb = new StringBuilder();  
        for (String part : parts) {  
            if (filter.test(part)) {  
                sb.append(part).append(delimiter); 
            }  
        }  
        // 移除尾随的分隔符( 
        if (sb.length() > 0 && sb.charAt(sb.length() - 1) == delimiter.charAt(0)) {  
            sb.setLength(sb.length() - 1);  
        }  
        return sb.toString();  
    }  
  
  
    // 字符统计,只统计ASCII字符
    public int[] countCharacters(String str) {  
        int[] count = new int[256]; // 只处理ASCII字符  
        for (int i = 0; i < str.length(); i++) {  
            char c = str.charAt(i);  
            count[c]++;  
        }  
        return count;  
    }  
    
    // 主方法(用于测试)  
    public static void main(String[] args) {  
        StringProcessor processor = new StringProcessor();  
  
        String original = "Hello, World!mfdka;gjeklhmtahterhbt;="
        		+ "]"
        		+ " tyerytue56dsafw3ghtr278";  
        String reversed = processor.reverseString(original);  
        System.out.println("Reversed: " + reversed);  
  
        String toReplace = "World";  
        String withWhat = "Java";  
        String replaced = processor.replaceSubstring(original, toReplace, withWhat);  
        System.out.println("Replaced: " + replaced);  
  
        String commaSeparated = "apple,banana,cherry,date";  
        String filtered = processor.filterAndRecombine(commaSeparated, ",", part -> part.startsWith("a"));  
        System.out.println("Filtered and Recombined: " + filtered);  
  
        int[] charCounts = processor.countCharacters(original);  
        // 打印字符统计数组的长度
        System.out.println("Character counts array length: " + charCounts.length);  
    }  
}  

运行结果如下:

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/803443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow

一、项目介绍 眼疾识别系统&#xff0c;使用Python作为主要编程语言进行开发&#xff0c;基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法&#xff0c;通过对眼疾图片4种数据集进行训练&#xff08;‘白内障’, ‘糖尿病性视网膜病变’, ‘青光眼’, ‘正常’&…

项目管理进阶之RACI矩阵

前言 项目管理进阶系列续新篇。 RACI&#xff1f;这个是什么矩阵&#xff0c;有什么用途&#xff1f; 在项目管理过程中&#xff0c;如Team规模超5以上时&#xff0c;则有必要采用科学的管理方式&#xff0c;满足工作需要。否则可能事倍功半。 Q&#xff1a;什么是RACI矩阵 …

SongComposer:让大模型像人类一样具有音乐创作力

人工智能咨询培训老师叶梓 转载标明出处 大模型在翻译、复杂语言环境中的推理等任务中展现出了人类级别的能力。这引发了一个问题&#xff1a;这些模型能否在更具情感、抽象性以及需要专业技能的领域中&#xff0c;如音乐创作&#xff0c;展现出人类的创造力呢&#xff1f;香港…

一招轻松解决猫毛 最值得买的浮毛空气净化器排名

作为一名6年资深铲屎官&#xff0c;我常常被朋友问到关于宠物空气净化器的各种问题。有的人认为这是个神器&#xff0c;而有的人则认为这完全是花钱买智商税。其实我刚开始对购买宠物空气净化器也持怀疑态度&#xff0c;心想这么多钱花下去真的有效吗&#xff1f;但使用后&…

Linux文本工具之-Vim(二)

一、编辑 快捷键功能描述i在当前光标所在位置插入&#xff0c;光标后的文本相应向右移动I在光标所在行的行首插入&#xff0c;行首是该行的第一个非空白字符&#xff0c;相当于光标移动到行首执行 i 命令o在光标所在行的下插入新的一行。光标停在空行首&#xff0c;等待输入文…

王牌站士Ⅶ--理解大型语言模型LLM的参数

模型的大小并不一定决定其成功 在学习任何大型语言模型 (LLM) 时&#xff0c;您首先会听到的事情之一就是给定模型有多少个参数。如果您查看下面的图表&#xff0c;您会注意到参数大小范围很广 - 一个模型可能有 10 亿或 20 亿个参数&#xff0c;也可能有超过 1.75 万亿个参数。…

MongoDB综合实战篇(超容易)

一、题目引入 在MongoDB的gk集合里插入以下数据&#xff1a; 用语句完成如下功能&#xff1a; &#xff08;1&#xff09;查询张三同学的成绩信息 &#xff08;2&#xff09;查询李四同学的语文成绩 &#xff08;3&#xff09;查询没有选化学的同学 &#xff08;4&#xf…

EasyPhoto - 一键训练并生成人像写真,支持参考图生成 独立版 本地一键整合包下载

EasyPhoto最早是作为AI绘画软件StableDiffusion的一款插件备受大家喜爱&#xff0c;今天分享的是 EasyPhoto 的独立版本一键整合包&#xff0c;无需安装StableDiffusion即可解压即用。 和之前分享的腾讯开源的 PhotoMaker 和 阿里开源的 FaceChain 类似&#xff0c;EasyPhoto操…

ArkUI组件——循环控制/List

循环控制 class Item{name: stringprice:number}private items:Array<Item> [new Item("A0",2399),new Item("BE",1999),new Item("Ro",2799)] ForEach(this.items,(item:Item) > {})List组件 列表List是一种复杂的容器&#xff0c;…

C++动态内存的管理

今天来分享C动态内存管理相关知识&#xff0c;闲言勿谈&#xff0c;直接上干货。 1. 动态内存的开辟和销毁(new和delete) (1)前置知识&#xff1a;我们知道c语言有malloc和calloc和realloc三个函数可以进行动态的开辟内存&#xff0c;那么它们有什么区别呢&#xff1f;首先是…

乘积量化pq:将高维向量压缩 97%

向量相似性搜索在处理大规模数据集时&#xff0c;往往面临着内存消耗的挑战。例如&#xff0c;即使是一个包含100万个密集向量的小数据集&#xff0c;其索引也可能需要数GB的内存。随着数据集规模的增长&#xff0c;尤其是高维数据&#xff0c;内存使用量会迅速增加&#xff0c…

自适应巡航控制(ACC)功能—巡航车速控制功能介绍

自适应巡航控制中的跟车行驶功能详解 自适应巡航控制&#xff08;ACC&#xff09;功能—巡航车速控制功能介绍 自适应巡航控制&#xff08;ACC&#xff09;中的跟车车距控制功能&#xff1a;详解与应用 自适应巡航控制中的Cut in & Cut out功能详解 自适应巡航控制中的Stop…

为什么在芯片制造中不能用机械磨削(grinding)代替cmp?

知识星球里的学员问&#xff1a;为什么只有在晶圆背面减薄时会使用griniding工艺&#xff1f;在芯片制程中并未看到该工艺&#xff0c;同样有减薄作用&#xff0c;为什么在芯片制程中用的是cmp&#xff1f; Grinding与cmp的原理&#xff1f; Grinding&#xff0c;机械磨削&…

AV1技术学习:Affine Motion Compensation

一、Affine Model Parameter 除了传统的平移运动补偿&#xff0c;AV1 还支持仿射变换模型&#xff0c;将当前像素点 (x, y) 通过以下方式投影到参考帧中的预测像素点 (x, y). 参数 (h13, h23) 对应于平移模型中使用的常规运动向量。 参数 h11 和 h22 控制垂直和水平轴上的比例…

【React笔记初学总结一】React新手的学习流程笔记总结,掰开了揉碎了,下载安装基础结构学习

REACT学习记录 一、React是什么&#xff1a;二、尝试安装下载&#xff1a;三、理解都有什么四、基础网页学习&#xff1a;1.几个比较重要的资源包例子2.第一个react示例&#xff1a;&#xff08;掰开了揉碎了&#xff0c;咱们先看懂它最简单的结构&#xff09;3.第二个react示例…

【数学建模】高温作业专用服装设计(2018A)隐式差分推导

为方便计算&#xff0c;对区域进行离散化处理&#xff0c;采用隐式差分格式进行离散计算。隐式差分格式如图&#xff1a; 每层材料内部 对第 j j j层材料: 其中&#xff0c; λ j \lambda_j λj​表示第 j j j层的热扩散率&#xff0c; c j c_j cj​表示第 j j j层的比热容…

每日练习,不要放弃

目录 题目1.下面叙述错误的是 ( )2.java如何返回request范围内存在的对象&#xff1f;3.以下代码将打印出4.下列类定义中哪些是合法的抽象类的定义&#xff1f;&#xff08;&#xff09;5.以下代码段执行后的输出结果为6.以下代码运行输出的是总结 题目 选自牛客网 1.下面叙述…

Java 快速入门学习 -- Day 2

Java 快速入门 Ⅱ maven&#xff08;图书管理员&#xff09;IDEA使用 maven框架 maven&#xff08;图书管理员&#xff09; maven 仓库&#xff0c;图书馆。要看书的化先从家里找&#xff08;本地仓库&#xff09;&#xff0c;本地找不到就去中央仓库或者镜像仓库找&#xff0c…

用Python实现学生信息管理系统

用Python来实现学生信息管理系统 学生信息管理系统&#xff08;Python&#xff09; 简介&#xff1a;基本信息管理和学生成绩管理。基本信息管理模块的主要功能有学生信息的添加、删除、修改、显示和学生数据的导入导出&#xff0c;学生成绩管理模块的主要功能有统计课程最高分…

推荐 3个小众精品软件,个个能打实力强,快来看看

X-plore X-plore是一个多功能的文件管理工具&#xff0c;广泛应用于Android设备上。它不仅支持多种文件格式和操作&#xff0c;还提供了丰富的功能以满足用户的需求。 X-plore具有强大的文件管理功能&#xff0c;包括查看、复制、移动、删除、压缩到Zip、提取、重命名、共享等…