Java语言基础第五天

精华笔记:

  1. 循环结构:

    • for结构:应用率最高,与次数相关的循环

  2. 三种结构如何选择:

    • 先看循环是否与次数相关:

      • 若相关-----------------------------直接上for

      • 若无关,再看要素1与要素3的代码是否相同:

        • 若相同-----------------------直接上do...while

        • 若不同-----------------------直接上while

  3. break:跳出循环-------------可以用在switch和循环中

    continue:跳过循环体中剩余语句而进入下一次循环-----------只能用在循环中

  4. 嵌套循环:

    • 循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列

    • 执行规则:外层循环走一次,内层循环走所有次

    • 建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层

    • break只能跳出当前层循环

  5. 数组:

    • 是一种数据类型(引用类型)

    • 相同数据类型元素的集合

    • 声明:

    • 初始化:

    • 访问:

    • 遍历:

笔记:

  1. 循环结构:

    • for结构:应用率最高,与次数相关的循环

      1)语法://   1     2    3for(要素1;要素2;要素3){语句块/循环体------------反复执行的代码  4}
      2)执行过程:1243243243243243243...2
      for(int times=0;times<5;times++){System.out.println("行动是成功的阶梯");
      }
      //for中的循环变量num的作用域----仅在当前for中
      for(int num=1;num<=9;num++){System.out.println(num+"*9="+num*9);
      }
      ​
      for(int num=1;num<=9;num+=2){System.out.println(num+"*9="+num*9);
      }
      package day05;
      import java.util.Scanner;
      //随机加法运算器
      public class Addition {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int score = 0; //总分for(int i=1;i<=10;i++){ //10次    (1)25+6=?int a = (int)(Math.random()*100); //加数a(0到99之间)int b = (int)(Math.random()*100); //加数b(0到99之间)int result = a+b; //存正确答案System.out.println("("+i+")"+a+"+"+b+"=?"); //1)出题System.out.println("算吧!");int answer = scan.nextInt(); //2)答题if(answer==-1){ //3)判题break;}if(answer==result){System.out.println("答对了");score += 10; //答对1题,加10分}else{System.out.println("答错了");}}System.out.println("总分为:"+score);}
      }
  2. 三种结构如何选择:

    • 先看循环是否与次数相关:

      • 若相关-----------------------------直接上for

      • 若无关,再看要素1与要素3的代码是否相同:

        • 若相同-----------------------直接上do...while

        • 若不同-----------------------直接上while

  3. break:跳出循环-------------可以用在switch和循环中

    for(int num=1;num<=9;num++){if(num==4){ //在某种特定情况下,提前结束循环break; //跳出循环}System.out.println(num+"*9="+num*9);
    }

    continue:跳过循环体中剩余语句而进入下一次循环-----------只能用在循环中

    //输出9的乘法表,跳过能被3整除的
    for(int num=1;num<=9;num++){if(num%3==0){continue; //跳过循环体中剩余语句而进入下一轮循环}System.out.println(num+"*9="+num*9);
    }
    ​
    //输出9的乘法表,只要不能被3整除的
    for(int num=1;num<=9;num++){if(num%3!=0){System.out.println(num+"*9="+num*9);}
    }
  4. 嵌套循环:

    • 循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列

    • 执行规则:外层循环走一次,内层循环走所有次

    • 建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层

    • break只能跳出当前层循环

      for(int num=1;num<=9;num++){ //控制行for(int i=1;i<=num;i++){ //控制列System.out.print(i+"*"+num+"="+i*num+"\t"); //print():输出不换行}System.out.println(); //换行
      }
      ​
      /*
      执行过程:
      num=3i=1  1*3=3i=2  2*3=6i=3  3*3=9i=4  false换行num=2i=1  1*2=2i=2  2*2=4i=3  false换行num=1i=1  1*1=1i=2  false换行
       
  5. 数组:

    • 是一种数据类型(引用类型)

    • 相同数据类型元素的集合

    • 定义:

      //声明整型数组arr,包含10个元素,每个元素都是int型,默认值为0
      int[] arr = new int[10];
    • 初始化:-----初始化的是数组中的元素

      int[] arr = new int[3]; //0,0,0
      int[] arr = {1,4,7}; //1,4,7
      int[] arr = new int[]{1,4,7}; //1,4,7
      int[] arr;
      //arr = {1,4,7}; //编译错误,此方式只能声明同时初始化
      arr = new int[]{1,4,7}; //正确
    • 访问:-----访问的是数组中的元素

      • 通过数组名.length可以获取数组的长度(元素的个数)

        int[] arr = new int[3];
        System.out.println(arr.length); //3
      • 通过下标/索引来访问数组中的元素,下标从0开始,最大到(数组的长度-1)

        int[] arr = new int[3];
        System.out.println(arr[0]); //0,输出第1个元素的值
        arr[0] = 100; //给arr中的第1个元素赋值为100
        arr[1] = 200; //给arr中的第2个元素赋值为200
        arr[2] = 300; //给arr中的第3个元素赋值为300
        //arr[3] = 400; //运行时会发生数组下标越界异常
        System.out.println(arr[arr.length-1]); //输出最后一个元素的值
    • 遍历/迭代:从头到尾挨个走一遍

      int[] arr = new int[10];
      for(int i=0;i<arr.length;i++){ //遍历arr数组arr[i] = (int)(Math.random()*100); //给每一个元素赋值为0到99的随机数System.out.println(arr[i]); //输出每个元素的值
      }

补充:

  1. 变量的重名问题:

    • 当作用域重叠时,变量不能同名

  2. \t:水平制表位,固定占8位----------一般用于做对齐

  3. 默认值规则:

    byte,short,int,long,char-----------------0
    float,double-----------------------------0.0
    boolean----------------------------------false
  4. 异常:

    • ArrayIndexOutOfBoundsException:数组下标越界异常(下标为0到(数组长度-1),超出范围则异常

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux shell操作 - 04 进程间通信

文章目录 Signal 信号信号定义信号的生命周期信号分类linux进程通信案例 Signal 信号 信号定义 Linux信号是进程间通信的一种方式&#xff0c;通过向目标进程发送一个特定的信号&#xff0c;让其执行相应的处理操作&#xff1b; 向目标进程发送信号时&#xff0c;内核会将信号…

【发明专利】天洑软件再度收获六项国家发明专利授权

近日&#xff0c;南京天洑软件有限公司再度收获行业内六项国家发明专利授权&#xff0c;专利名称为&#xff1a;一种发电机绕组温度预警方法及装置&#xff08;专利号&#xff1a;ZL 2022 1 1525605.3&#xff09;&#xff0c;一种CSTR系统的控制方法及装置&#xff08;专利号&…

《C++PrimePlus》第8章 函数探幽

8.1 内联函数 使用内联函数 #include <iostream> using namespace std;inline double square(double x) { return x * x; }int main(){double a;a square(5.0);cout << "a " << a << endl;return 0; } 8.2 引用变量 将引用用作函数参数&…

java: 无效的目标发行版: 17 问题解决

今天在写完类点击运行后显示java: 无效的目标发行版: 17 网上查询了一番&#xff0c;发现有几个地方需要注意。 还有一个就是设置中&#xff0c;下面的就是我本次问题所在&#xff0c;不知道为什么&#xff0c;他自动添加了下面的东西 一个方法是把目标字节码版本改为正确的&a…

(C++)验证回文字符串

愿所有美好如期而遇 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/valid-pali…

OpenAI 超 700 名员工联名逼宫董事会;ChatGPT 新功能“阅后即焚”丨 RTE 开发者日报 Vol.89

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

Go中各种newreader和newbuffer的使用

一、bytes.NewBuffer和bytes.NewReader func main() {var byteArr []bytebuf : bytes.NewBuffer(byteArr)buf.Write([]byte("今天不错"))fmt.Println(buf.String()) }package mainimport ("bytes""fmt" )func main() {data : []byte("路多…

数据资产到底如何入表?

2024年1月1日起&#xff0c;财政部《企业数据资源相关会计处理暂行规定》正式施行&#xff0c;距离现在只有一个多月的时间。 数据资源入表意味着企业可以将数据资源确认为企业资产负债表中“资产”一项。对于拥有丰富数据资源的企业来说&#xff0c;有望在财务报表中体现其真…

Spring Boot单元测试

目录 1.概述 2.基本使用 3.优势 4.常用属性 1.概述 所谓单元测试就是对功能最小粒度的测试&#xff0c;落实到JAVA中就是对单个方法的测试。对单个方法的测试用junit即可&#xff0c;关于junit作者另一位篇文章中有详细介绍&#xff0c;感兴趣的小伙伴可以去看看&#xff…

Sqlite安装配置及使用

一、下载SQLite Sqlite官网 我下载的是3370000版本:sqlite-dll-win64-x64-3370000.zip 和 sqlite-tools-win32-x86-3370000.zip 二、解压下载的两个压缩包 三、配置环境 四、检查是否安装配置成功 winR&#xff1a;输入cmd调出命令窗口&#xff0c;输入sqlite3后回车查看s…

软件运维面试题

文章目录 面试题你在设备安装时遇到了一个故障&#xff0c;你会怎么做&#xff1f;答案 作为一名实施工程师&#xff0c;你如何保证项目的交付质量&#xff1f;答案 作为一名实施工程师&#xff0c;你在处理技术问题时遇到过比较难解决的情况吗&#xff1f;如果有&#xff0c;可…

百度爬虫的工作原理解析

百度作为中国最大的搜索引擎&#xff0c;其工作原理备受关注。本文将深入探讨百度爬虫的工作原理&#xff0c;介绍其基本流程以及关键技术&#xff0c;帮助读者更好地理解搜索引擎背后的技术核心。 百度爬虫是百度搜索引擎的重要基石&#xff0c;它们被广泛用于收集互联网上的网…

怎样用css画一个圆?

要使用 CSS 画一个圆&#xff0c;可以使用 border-radius 属性为一个元素添加圆角&#xff0c;将 width 和 height 设置为相等的值&#xff0c;从而形成一个圆形。 以下是一个使用 CSS 画圆的简单示例&#xff1a; .circle {width: 100px;height: 100px;background-color: #3…

08-黑马点评项目发布笔记和查看笔记功能的实现

发布笔记 数据模型 tb_blog探店笔记表,包含笔记的标题、文字、图片等 tb_blog探店笔记表对应的实体类 增加用户图标和和用户姓名以及是否被点赞过了的字段,这些字段不属于Blog表只是为了实现在展示笔记的时候同时展示用户的信息 Data EqualsAndHashCode(callSuper false) …

使用sed命令进行文本处理示例

文章目录 前言查找并替换操作在文件中添加文本删除文件中的文本高亮显示文件中的文本 转载请标明出处&#xff1a; https://bigmaning.blog.csdn.net/article/details/134539923 本文出自:【BigManing的博客】 前言 当我们需要在Linux系统中处理文本文件时&#xff0c;经常需要…

包装类型的缓存机制

Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128&#xff0c;127] 的相应类型的缓存数据&#xff0c;Character 创建了数值在 [0,127] 范围的缓存数据&#xff0c;Boolean 直接返回 True or Fal…

Vue框架学习笔记——v-bind数据单向绑定和v-model数据双向绑定

文章目录 v-bind&#xff0c;数据单向绑定简写形态&#xff08;省略v-bind&#xff0c;只留冒号&#xff09;示例一&#xff08;将输入框数据改为&#xff1a;哈哈哈哈哈&#xff09;&#xff1a;实例二&#xff08;将Vue实例中的name改为字符串&#xff1a;"单向绑定&quo…

多模态大模型训练数据集汇总介绍

RefCOCO、RefCOCO、RefCOCOg 这三个是从MS-COCO中选取图像得到的数据集&#xff0c;数据集中对所有的 phrase 都有 bbox 的标注。 RefCOCO 共有19,994幅图像&#xff0c;包含142,209个引用表达式&#xff0c;包含50,000个对象实例。RefCOCO 共有19,992幅图像&#xff0c;包含1…

Mybatis Plus分页实现逻辑整理(结合芋道整合进行解析)

Mybatis Plus分页实现逻辑整理&#xff08;结合芋道整合进行解析&#xff09; 我希望如春天般的你&#xff0c;身着白色的婚纱&#xff0c;向我奔赴而来&#xff0c;我愿意用全世界最温情的目光&#xff0c;朝着你的方向望去——姗姗来迟。 1.背景介绍 https://baomidou.com/p…

【gpts】学算法题[缺失的第一个正数](https://leetcode.cn/problems/first-missing-positive/)

给出你的题解 (https://leetcode.cn/problems/first-missing-positive/) public class Solution { public int firstMissingPositive(int[] nums) {int len nums.length;for (int i 0; i < len; i) {while (nums[i] > 0 && nums[i] < len && nums…