当前位置: 首页 > news >正文

java基础流程控制笔记

Java流程控制

用户交互Scanner

import java.util.Scanner类获取用户信息,提供与用户交互的方式

Scanner scanner = new Scanner(System.in);

通过next() 到空白会截断 nextLine()到回车结束 获取输入字符串

Scanner str = scanner.nextLine();

用hasNext() hasNextLine()判断

IO流会占用资源,最后scanner.close()

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入三位学生成绩,用空格隔开:");int score1 = scanner.nextInt();int score2= scanner.nextInt();int score3 = scanner.nextInt();int avg = (score1 + score2 + score3) / 3;System.out.println(avg);}}

选择结构

  1. 基本if选择结构 if(){}

  2. if else选择结构

  3. 三元一次选择结构? :

  4. 嵌套if选择结构

    public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入是否获胜(Y/N):");String win =sc,next;if ("Y",equils(win)){System.out.println("请输入性别:");      if("男".equils(sex)){System.out.println("进入男子组决赛")}else {System.out.println("进入女子组决赛");}}else{System.out.println("已被淘汰");}}
    }
    

    ** 注: **逻辑与和或短路: && ||

    1. switch选择结构 :支持byte short int Enum String(JDK7后支持)

    switch(表达式){

    ​ case 常量1:

    ​ break;

    }

    转换思想:(1|2|3 -1 )/3 = 0 (4| 5|6 -1)/3 = 1

    总结

    **1. 选择结构 **

    基本if if-else 嵌套if 多重if switch

    2.switch选择结构多重if选择结构的异同

    相同:

    都可以来处理多分支结构

    不同:

    switch只用于可穷举情况,多重if选择结构适用于选择结构的所有场景,但多重if选择结构还支持对区间的描述

    Scanner输入验证

    //校验Scanner储存结构的数据中是否有下一个整数

    //则让用户输入

    if(sc.hasNextInt()){

    }else

    程序调试

    1. 什么是程序调试

      程序出现问题时希望程序能够暂停下来,操作代码逐行执行,观察程序中变量的变化是否按照我们设计程序的思维变化,从而找问题并解决

    2. 为什么需要程序调试

      人无完人,要定位问题

    3. 如何进行程序调试

      在有效的代码上下断点

      然后以DEBUG模式启动程序

      程序启动后,通过操作使程序代码逐行执行,观察变量的值的变化,从而找出问题并解决

循环结构

1.什么是循环

同样的事情反复做多次

  1. 为什么用

    去除冗余部分(重复的编码)

  2. 循环三要素

    定义循环变量并赋初值

    循环条件

    循环变量的更新

    1. while循环

      while(循环条件){}
      

      先判断后执行

      水仙花数

      public class Main {public static void main(String[] args) {int number =100;while (number < 1000) {int one = number % 10;int two = number / 10 %10;int three = number / 100;if (one*one*one + two*two*two +three*three*three == number) {System.out.println(number);}number++;}}
      }
      
      1. do-while 循环

        ed:记录总成绩

        public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int totalSore =0;int score;do {System.out.print("Enter your score: ");score = scanner.nextInt();totalSore += score;}while (score !=0);System.out.println("Total Sore: " + totalSore);}
        }
        

        至少执行一次

      2. for循环

        for(定义变量并赋初值;循环条件;循环变量的更新)

      3. 总结

        循环数确定选for

break&continue

break只能应用于while do-while for switch

continue只能应用于循环结构while do-while for

多重循环

ed:

  1. 99乘法表

  2. 重复图形

    分析实现

    善用用||控制图形打印

  3. 求质数

  4. 学生管理系统

    public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (true) {System.out.println("====================");System.out.println("1.学生成绩管理");System.out.println("2.学生选课管理");System.out.println("3.退出系统");System.out.println("====================");System.out.println("请选择菜单编号");int menuNo = scanner.nextInt();if (menuNo == 1) {chlidMenu :while(true){System.out.println("************************");System.out.println("1.添加成绩");System.out.println("2.查看成绩");System.out.println("3.修改成绩");System.out.println("4.删除成绩");System.out.println("5.返回主菜单");System.out.println("************************");System.out.println("请选择菜单编号:");int option = scanner.nextInt();switch (option) {case 1:System.out.println("你选择修改成绩");break;case 2:System.out.println("你选择查看成绩");break;case 3:System.out.println("你选择修改成绩");break;case 4:System.out.println("你选择删除成绩");break;case 5:System.out.println("你选择返回主菜单");break chlidMenu;}}} else if (menuNo == 2) {} else {System.out.println("感谢使用本人开发的系统");break;}}}
    }
    
http://www.rkmt.cn/news/94796.html

相关文章:

  • 校招 Java 面试必看:JVM 其实就考这 3 个点(我帮你讲透)
  • [从零构建操作系统]08 函数调用时栈的底层行为解析
  • MATLAB与FlightGear联合仿真教程:包含Simulink工程文件的PDF指南
  • Springboot医疗云胶片管理系统nem7x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Day 37 MLP神经网络的训练
  • 探索含光伏、火电与飞轮储能系统的奇妙调频之旅
  • 高效获取高质量外链:2026年必须掌握的10个核心策略
  • Flutter国际化(i18n)实现详解
  • YOLOv13涨点改进 | 独家创新首发、Conv卷积改进篇 | SCI一区 2025 | 引入MSConvStar多尺度卷积星形模块,有效增强捕捉多范围特征,助力目标检测、图像分割、图像分类高效涨点
  • LLC谐振变换器恒压恒流双竞争闭环Simulink仿真探索
  • Feign基本知识
  • YOLOv13涨点改进 | 全网独家创新、Neck特征融合改进篇 | TGRS 2025顶刊 | 引入ADSF自适应特征融合模块,自适应融合浅层特征与深层特征,适合红外小目标检测、图像分割等有效涨点
  • 常用软件工具的使用(1) ---- git 的安装和基础操作
  • 双电机纯电动汽车整车仿真模型,基于Matlab/Simulink的双电机前后轴双驱电动汽车仿真模型
  • 测试 - 概览
  • 鸿蒙不是 Electron!深度解析 HarmonyOS 应用开发与跨端技术选型
  • 12bit 100MHz pipelined SAR ADC模数转换器 设计 65nm工艺,电...
  • LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」
  • C++ 后端面试必刷大厂算法题(附代码实现)第一期
  • qt为什么转向用cmake放弃qmake
  • color
  • Qwen3-Embedding-4B:重新定义多语言文本检索的边界
  • 深度探究Span:.NET内存布局与零拷贝原理及实践
  • NNG 开源项目教程
  • helm 部署 elasticsearch 栈
  • 14、深入解析 Oracle Enterprise Manager 安装与配置
  • 手把手拆解10/100M以太网PHY设计:从PLL到均衡器的实战代码分析
  • 原神,启动!
  • 终极指南:Qwen3-30B-A3B多GPU分布式推理完整解决方案
  • 快速排序(Quick Sort)的“死穴”