Java学习笔记2024/2/2

2. 数组(接2024/2/1笔记)

2.4 数组遍历

package com.angus.array.arrayTraversal_4;public class note {public static void main(String[] args) {//数组遍历:将数组中所有的内容取出来,取出来之后可以(打印,求和,判断...)//注意:遍历指的是取出数据的过程,不要局限的理解为,遍历就是打印!System.out.println("^^");}
}
package com.angus.array.arrayTraversal_4;public class demo1 {public static void main(String[] args) {//在Java当中,关于数组的一个长度属性,length//调用方式:数组名.length//扩展://自动的快速生成数组的遍历方式//idea提供的//数组名.foriint[] arr = {1,2,3,4,5};for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}System.out.println("^^");}
}
package com.angus.array.arrayTraversal_4;public class test1 {public static void main(String[] args) {/*定义一个数组,存储1,2,3,4,5遍历数组得到每一个元素,求数组里面所有的数据和*/int[] arr = {1,2,3,4,5};int sum = 0;for (int i = 0; i < arr.length; i++) {sum = sum + arr[i];}System.out.println(sum);System.out.println("^^");}
}
package com.angus.array.arrayTraversal_4;public class test2 {public static void main(String[] args) {/*定义一个数组,存储1,2,3,4,5,6,7,8,9,10遍历数组得到每一个元素,统计数组里面一共有多少个能被3整除的数字*///分析://4.定义count来接收个数int count = 0;//1.定义一个数组int[] arr = {1,2,3,4,5,6,7,8,9,10};//2.遍历数组得到每一个元素for (int i = 0; i < arr.length; i++) {//3.统计数组里面一共有多少个能被3整除的数字if (arr[i] % 3 ==0) {count++;}}System.out.println(count);System.out.println("^^");}
}
package com.angus.array.arrayTraversal_4;public class test3 {public static void main(String[] args) {/* 定义一个数组,存储1,2,3,4,5,6,7,8,9,10遍历数组得到每一个元素。要求:1,如果是奇数,则将当前数字扩大两倍2,如果是偶数,则将当前数字变成二分之一*///分析//1.定义一个数组,存储1,2,3,4,5,6,7,8,9,10int[] arr={1,2,3,4,5,6,7,8,9,10};//2.遍历数组得到每一个元素for (int i = 0; i < arr.length; i++) {//3. 要求://        1,如果是奇数,则将当前数字扩大两倍//        2,如果是偶数,则将当前数字变成二分之一*/if (arr[i] % 2 == 0){arr[i] = arr[i] / 2;} else {arr[i] = arr[i] * 2;}}//建议一个循环只做一件事//4.遍历数组得到每一个新元素for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}System.out.println("^^");}
}

2.5 数组动态初始化

package com.angus.array.arrayAreInitializedDynamically_5;public class note {public static void main(String[] args) {//知识点一//数组动态初始化//动态初始化:初始化时只指定数组长度,由系统为数组分配初始值//格式: 数据类型[] 数组名 = new 数据类型[数组长度];//例子:   int[] arr = new int[3];//知识点二//数组动态初始化和静态初始化的区别//动态初始化:手动指定数组的长度,由系统给出默认初始化值//只明确元素的个数,不明确具体数值,推荐使用动态初始化//例子:键盘录入5个数//int[] arr = new int[5];//int[] arr = {? ? ? ? ?}; 静态初始化无法执行//静态初始化:手动指定数组的元素,系统会根据元素的个数,计算出数组的长度//需求中已经明确了要操作的具体数据,直接静态初始化即可//举例:将学生成绩录入数组中 85 74 99//int[] arr = {85, 74, 99};//总结:知道确切的值就用静态,不知道确切的值就用动态System.out.println("^^");}
}
package com.angus.array.arrayAreInitializedDynamically_5;public class demo1 {public static void main(String[] args) {/* 定义一个数组,用来存班级中50个学生的姓名姓名未知,等学生报道之后,再进行添加。*///分析//1.定义一个数组,用来存班级中50个学生的姓名String arr[] = new String[50];//2.姓名未知,等学生报道之后,再进行添加arr[0] = "adada";arr[1] = "ada313";arr[2] = "阿达阿达";arr[3] = "a65大大";arr[4] = "ad阿达瓦多无561";System.out.println(arr[0]);System.out.println(arr[1]);System.out.println(arr[2]);System.out.println(arr[3]);System.out.println(arr[4]);System.out.println(arr[5]);//引用数据类型:默认初始化值 null//数组默认初始化值的规律//整数类型:默认初始化值0//小数类型:默认初始化值0.0//字符类型:默认初始化值'\u0000' 空格//布尔类型:默认初始化值 false//引用数据类型:默认初始化值 nullint[] arr2 = new int[3];System.out.println(arr2[0]);//0System.out.println(arr2[1]);//0System.out.println(arr2[2]);//0System.out.println("^^");}
}

2.6 数组内存图

package com.angus.array.arrayMemoryGraph_6;public class note {public static void main(String[] args) {//数组内存图//靠理解图//随笔//方法就进入栈内存 -> 方法在里面不断开辟空间执行代码,执行完毕后就滚出去了//new出来的东西就进入堆内存 -> 每个new出来的东西都在里面有一个独立开辟出来的空间,所以要想找到它们就找对应的地址值//栈内存和堆内存就是通过地址值来相互联系的,通过=赋值运算符将地址值赋值给数组名,栈内存就通过数组名去堆内存找对应的空间,地址值有点像是房牌号,数组名就像是刻着对应房牌号的钥匙(也可以说是房卡)//Java内存分配//栈//方法运行时使用的内存,比如main方法运行,进入方法栈中执行 -> 目前还没学方法,但我们现在其实一直在使用main方法//堆//存储对象或者数组,new来创建的东西,都存储在堆内存 -> 目前只学了数组//方法区 -> 从JDK8开始,被拆分了,分的功能有些给新创造出来的元空间,有些给堆//存储可以运行的class文件 -> 字节码文件就是class文件//本地方法栈//JVM在使用操作系统功能的时候使用,和我们开发无关//寄存器//给CPU使用,和我们开发无关System.out.println("^^");}
}

2.7 数组常见问题

package com.angus.array.commonQuestionsQfArray_7;public class note {public static void main(String[] args) {//数组常见问题//当访问了数组中不存在的索引,就会引发索引越界异常System.out.println("^^");}
}
package com.angus.array.commonQuestionsQfArray_7;public class demo1 {public static void main(String[] args) {//定义一个数组int[] arr = {1,2,3,4,5};//长度:5//最小索引:0//最大索引:4(数组的长度 - 1)System.out.println(arr[2]);//小结://索引越界异常//原因:访问了不存在的索引//避免:知道索引的范围//最小索引:0//最大索引:(数组的长度 - 1)System.out.println("^^");}
}

2.8 数组常见操作

package com.angus.array.commonOperationsOfArray_8;public class note {public static void main(String[] args) {//数组常见操作//求最值//求和//交换数据//打乱数据System.out.println("^^");}
}
package com.angus.array.commonOperationsOfArray_8;public class test1 {public static void main(String[] args) {//定义数组求最大值:33,5,22,44,55//边写就边分析了//1.定义int[] arr = {33,5,22,44,55};//4.定义一个初始最大值int max = arr[0];//2.遍历for (int i = 1; i < arr.length; i++) {  //i从1开始是为了减少一次跟自己的比较,提升效率//3.求最大值if (arr[i] > max) {max = arr[i];}}//5.输出最大值System.out.println(max);System.out.println("^^");}
}
package com.angus.array.commonOperationsOfArray_8;import java.util.Random;public class test2 {public static void main(String[] args) {//随笔//在动态初始化中或者静态初始化中//添加数据值给数组的某个元素类似于将数据值赋值给一个新的变量//println->print 就不会换行了,记得数据与数据之间加个空格间隔开//题目/*需求:生成10个1~100之间的随机数存入数组。1)求出所有数据的和2)求所有数据的平均数3)统计有多少个数据比平均值小*///6.求出所有数据的和int sum = 0;//1.数组,随机数int[] arr= new int[10];//3.1~100生成10个for (int i = 0; i < arr.length; i++) {//2.1~100之间的随机数Random random = new Random();int suiJiShu = random.nextInt(100)+1;//范围的求法: 1.100-1=99 2.99+1=100 3.100的随机数范围 4.100的随机数范围+1//4.把随机数赋值给数组中的元素arr[i] = suiJiShu;//5.打印十个随机数 -> 把它们放在一行 -> println->print -> 记得数据与数据之间加个空格间隔开System.out.print(arr[i] + " ");//6.求出所有数据的和sum = sum + arr[i];}//12.分行System.out.println("");//7.打印所有数据的和 -> 一个循环只做一件事System.out.println("所有数据的和为:" + sum);//8.求所有数据的平均数int avg = sum / arr.length;//9.打印所有数据的平均数System.out.println("所有数据的平均数为:" + avg);//10.统计有多少个数据比平均值小int count = 0;for (int i = 0; i < arr.length; i++) {if (arr[i] < avg) {count++;}}//11.打印统计的个数System.out.println("有" + count + "个数据比平均值小");System.out.println("^^");}
}
package com.angus.array.commonOperationsOfArray_8;public class test3 {public static void main(String[] args) {/*需求:定义两个变量,交换两个变量记录的值*/int a = 1;int b = 2;int temp = a;temp = a;a = b;b = temp;System.out.println(a);System.out.println(b);System.out.println("^^");}
}
package com.angus.array.commonOperationsOfArray_8;public class test4 {public static void main(String[] args) {/*需求:定义一个数组,将数组中0索引和最大索引出的值进行交换*/int arr[] = {1,2,3,4,5};int temp = arr[0];arr[0] = arr[4];arr[4] = temp;System.out.println(arr[0]);System.out.println(arr[4]);System.out.println("^^");}
}
package com.angus.array.commonOperationsOfArray_8;public class test5 {public static void main(String[] args) {/*需求:定义一个数组,存入1,2,3,4,5。交换首尾索引对应的元素。交换前:1,2,3,4,5交换后:5,4,3,2,1*///1.定义int arr[] = {1,2,3,4,5};//3.依次交换用循环for (int i = 0, j = arr.length - 1; i < j; i++ , j--) {  //注意:这是直接交换,不是比谁大谁小才换//2.交换首尾索引对应的元素int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}//4.依次打印换好的元素也用循环for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}System.out.println("^^");}
}
package com.angus.array.commonOperationsOfArray_8;import java.util.Random;public class test6 {public static void main(String[] args) {//需求:定义一个数组,存入1~5。要求打乱数组中所有数据的顺序。//难点//如何获取一个随机索引
//        int arr[] = {1,2,3,4,5};
//        Random random = new Random();
//        int ran = random.nextInt(arr.length); //->这里要注意:因为我们现在获取的是所有的元素,所以直接写 数据类型.length ,如果规定是从第几个元素到第几个元素或者是从哪个索引到哪个索引,就还是要用以前的方法步骤找出规定的范围
//        System.out.println(ran);//1.定义一个数组,存入1~5int arr[] = {1,2,3,4,5};//2.遍历数组for (int i = 0; i < arr.length; i++) {//3.获取一个随机索引Random random = new Random();int ran = random.nextInt(arr.length);//4.依次交换int temp = arr[i];arr[i] = arr[ran]; //->这里要注意是arr[ran],要做的是交换,而不是赋值arr[ran] = temp;}//5.依次打印for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}System.out.println("");System.out.println("^^");}
}

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

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

相关文章

ABAP Range Table:RANGES的使用

目录 Range TableRANGERANGES RANGE的四个参数SIGNOPTIONLOWHIGH示例程序 Range Table 1、Range Table 概述 RANGE TABLE为 SAP R/3系统标准内表的一种&#xff0c;结构与 Selection Table 一致&#xff0c; 由 SIGN, OPTION, LOW 和 HIGH字段组成&#xff1b; 可以通过 TYPE…

10. BI - 决策树的使用及可视化

本文为 「茶桁的 AI 秘籍 - BI 篇 第 10 篇」 文章目录 可视化探索决策树原理决策树算法决策树可视化泰坦尼克海难数据 Hi&#xff0c;你好。我是茶桁。 上一节课&#xff0c;咱们了解了图形的具体绘制方法&#xff0c;接下来咱们还要看看除了图形绘制之外&#xff0c;还有哪些…

突破编程_C++_面试(基础知识(4))

面试题6&#xff1a;delete 与 delete[] 的区别 delete 和 delete[] 都用于释放动态分配的内存的操作符。它们之间的主要区别在于它们所处理的对象类型不同。 delete 用于释放单一对象的内存。对于简单类型&#xff0c;计算好大小后创建内存&#xff0c;对于复杂结构&#xff…

机器学习入门-----sklearn

机器学习基础了解 概念 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 定义:从数据中自动分析获得模型,并利用模型对特征数据【数据集:特征值+目标值构成】进行预测 算法 数据集的目标值是类别的话叫做分类问题;目标值是连续的数值的话叫做回…

【React】前端React 代码中预览展示excel文件

封装了ExcelView来展示excel文件&#xff0c;支持显示loading 1.安装依赖 npm i js-preview/excel源码 import React, { useEffect, useRef, useState } from react import jsPreviewExcel, { JsExcelPreview } from js-preview/excel import js-preview/excel/lib/index.cs…

yum命令下载出现Failed to synchronize cache for repo ‘AppStream‘, ignoring this repo.

修改下面的配置文件 问题&#xff1a; cd /etc/yum.repos.d 修改下面四个文件 vim CentOS-Base.repo vim CentOS-AppStream.repo vim CentOS-Extras.repo vim CentOS-PowerTools.repo测试yum是否正常 yum -y install wget

MATLAB知识点:矩阵的拼接和重复

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章 3.3.4 矩阵的拼接和重复 有时候我们需要对多个矩…

word调整论文格式的记录

页眉的分章显示内容 效果&#xff1a; 步骤&#xff1a; 确保“显示/隐藏的标记”符号打开点亮 前提是章节前面有“分节符&#xff08;下一页&#xff09;”&#xff0c;没有则添加&#xff0c;在菜单栏“布局”——》“下一页” 添加页眉&#xff0c;双击页眉&#xff0c;选…

Cocos XR的WebBox实现流程

1. 正常3D场景下的webview 1.1 组件角色 Cocos Creator正常3D场景下只有在UI组件才支持webview&#xff0c;即作为下图中的UI Nodes(Canvas Node)的子节点&#xff0c;和3D组件是隔离开的&#xff0c;不能显示在3D空间中&#xff0c;UI Nodes(Canvas Node)是一个平面内的矩形…

饮水设备维修标书:保障健康水源的守护者

在现代办公和生活环境中&#xff0c;饮水设备已成为不可或缺的一部分。它们不仅提供了便捷的饮水方式&#xff0c;更是健康生活的保障。然而&#xff0c;随着使用频率的增加&#xff0c;饮水设备的维护和维修变得尤为重要。 一、标书概述 标书&#xff0c;即招标文件&#xf…

jsp 样衣申请与归还管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 样衣申请与归还管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为My…

链表——C语言——day17

链表 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。在用数组存放数据时&#xff0c;必须事先定义固定的长度&#xff08;即元素个数&#xff09;。链表则没有这种缺点&#xff0c;它根据需要开辟内存单元。 链表有一个“头指针“变量&#xff0c;图中…

【力扣白嫖日记】SQL

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1407.排名靠前的旅行者 表&#xff1a;Users 列名类型idintnamevarchar id 是该表中具有唯一值的列。name …

whale-quant 学习 part7:量化回测

量化回测 计算策略评估指标聚宽平台量化回测实践策略实现 参考 计算策略评估指标 使用数据为&#xff1a;贵州茅台&#xff08;600519.SH&#xff09;、工商银行&#xff08;601398.SH&#xff09;、中国平安&#xff08;601318.SH&#xff09;&#xff0c;策略基准是沪深300指…

正则表达式与文本处理工具

目录 引言 一、正则表达式基础 &#xff08;一&#xff09;字符匹配 1.基本字符 2.特殊字符 3.量词 4.边界匹配 &#xff08;二&#xff09;进阶用法 1.组与引用 2.选择 二、命令之-----grep &#xff08;一&#xff09;基础用法 &#xff08;二&#xff09;高级用…

【国产MCU】-CH32V307-通用DMA控制器及使用

通用DMA控制器及使用 文章目录 通用DMA控制器及使用1、通用DMA控制器介绍2、DMA驱动API介绍3、DMA使用实例直接存储器访问控制器(DMA)提供在外设和存储器之间或存储器和存储器之间的高速数据传输方式,无须CPU 干预,数据可以通过DMA 快速地移动,以节省CPU 的资源来做其他操…

MySQL中去除重复(十一)

MySQL中去除重复(十一) 一、相同的行 我们要去除相同行要使用DISTINCT关键字 SELECT DISTINCT 列名 FROM 表名; distinct 是针对查询的结果集合进行去重而不是针对某一行或者某一列。 二、查询中的行选择 用 WHERE 子句限制从查询返回的行。一个 WHERE 子句包含一个 必须满…

OpenFeign学习使用

使用 父依赖 parent-project <properties><spring-boot.version>2.5.6</spring-boot.version><spring-cloud.version>2020.0.4</spring-cloud.version> </properties><dependencyManagement><dependencies><dependency&g…

实用性再提升!DURATION 数据类型现已支持交易日历!

DolphinDB 自 2.00.9/1.30.21 版本开始&#xff0c;提供交易日历功能&#xff0c;并内置世界五十多个交易所的交易日历。借助交易日历&#xff0c;用户可以在 DolphinDB 中便捷查询指定范围内的交易日&#xff0c;或搭配内置函数&#xff0c;基于交易日进行日期偏移计算、数据采…

企业微信设置机器人通过winform提醒WxWorkBOT

配置文件 private static string url ConfigurationManager.AppSettings["WxWorkBOTUrl"].ToString().Trim();启动发送 /// <summary>/// 初始加载 /// </summary>/// <param name"sender"></param>/// <param name"e&qu…