Day05:循环问题 / 数组
循环嵌套
循环结构中包含完整的循环结构。
注意:
循环嵌套不限层次
各种循环语句都可以互相嵌套
内层循环中出现的break和continue只作用在内层循环中
外层循环循环一次
内层循环循环一遍
Java 数组
一个能够保存多个相同数据的变量组成。
为什么需要数组?
程序中如果需要保存很多数据时
定义多个变量不好管理
使用数组方便管理
数组组成
变量名就是数组名
保存的数据叫数组元素
数组能够存放的数据数量叫长度
数组中数据的编号叫下标
数组特性
数组中的数据类型相同
数组长度固定不变
数组的元素都有默认值
数组声明
类型 [] 数组名
int []arr;
int arr[];
double[] nums;
数组初始化
int[] arr;
arr=new int[长度];
//和二为一
int[] arr=new int[5];
数组元素赋值
利用数组元素的下标访问数组元素
arr[2]=10;
//对arr数组下标为2的元素赋值为10
数组元素取值
System.out.println(arr[0]);
arr[2]=6;
arr[3]=7;
arr[4]=arr[2]+arr[3];
数组遍历
将数组中的所有元素都访问一遍
实现:
使用循环结构来遍历数组
使用for循环
数组长度
数组名.length来表示数组的长度
int[] nums=new int[4];
System.out.println(nums.length);
数组声明后直接赋值
1:声明直接赋值
int nums={7,6,3,9,9,4,2};
//右侧是{}
//==左边必须是声明
2:先声明后赋值
int[] nums;
nums=new int[]{7,6,3,8,9,4,2}
//==左侧不是声明
//右侧必须要直接赋值
//new 类型名[]{};
//[]必须空着
数组操作
数组对比
Arrays.equals(数组1,数组2);
数组相等的条件:
数组元素个数必须相等
对应位置的元素相等
数组填充
Arrays.fill(数组,填充的值);
数组查找
在进行查找前,必须对数组进行排序
1:没有指定范围查找
binarySearch(要找的数组,要找的值);
2:指定范围查找
binarySearch(查找的数组,开始索引,结束索引,要找的元素);
数组复制
Arraays.copyOf(复制数组名,新数组长度);
//从原数组第一个元素进行复制
注意:
目标数组如果已存在,将不会被重构
Arrays.arraycopy和copyOf
arraycopy
功能强大,使用灵活
参数多,容易发生异常
需要较复杂的数组复制时使用
copyOf
参数少,没异常
功能有限,需要import
需要普通数组的数组扩容,缩容时使用
数组排序
生序:从小到大
降序:从大到小
sort()
Arrays.sort(数组名);
数组引用特征
任何数组都时引用数据类型
基本数据类在栈中保存数值
引用数据类型在栈中保存的是引用
所有传递的是引用
其他排序待补充!!!
Day05:循环问题 / 数组的更多相关文章
- *使用while循环遍历数组创建索引和自增索引值
package com.chongrui.test;/* *使用while循环遍历数组 * * * */public class test { public static void main ...
- 关于for循环删除数组内容出现的问题
昨天用for循环进行数组去重的时候出现的问题, 首先,用双重for循环把前一个和所有后面的元素进行比较,如果相等则删除. 但是,如果数组里面有三个以上连续相等的元素的时候,就会出现问题. var ar ...
- JavaScript 中 for in 循环和数组的问题
本文由 伯乐在线 - ElvisKang 翻译,进林 校稿.未经许可,禁止转载!英文出处:adripofjavascript.com.欢迎加入翻译小组. JavaScript的for…in循环用于迭代 ...
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...
- swift基本用法-for循环遍历,遍历字典,循环生成数组
// Playground - noun: a place where people can play import UIKit //--------------------------------- ...
- SAS 循环与数组
SAS 循环与数组 SAS提供了循环语句以满足在编程中需要多次执行相同操作的情 况.有时还需要对不同的变量执行相同的操作,此时可定义SAS数组,并通过数组名和下标来引用这些变量. 1 循环 SAS循环 ...
- PHP(方法 函数 循环 和 数组 查找)
循环 和 数组 查找 顺序查找 二分法查找 冒泡排序 方法 函数 定义:一堆代码的集合叫做函数(满足条件下“一堆”) 语法,定义,调用,参数列表(形参,实参),返回值 两种方法: function 方 ...
- js循环遍历数组
一维数组的遍历 <script> //循环遍历数组 var animals = ["cat",'dog','human','whale','seal']; var an ...
- for循环遍历数组(数组1)
package com.mon10.day24; import java.util.Scanner; /** * 类说明 :计算学生的总成绩和平均分 * @author 作者 : chenyanlon ...
随机推荐
- 高性能mysql 第7章 mysql高级特性之分区表
分区表: 分区表是一个独立的逻辑表,底层通过多个物理表实现. mysql实现分区表的方式是对底层表的封装.这意味着没有全局索引,索引是建立在底层的每个表上的(跟ORACLE不一样). 用到分区表的几种 ...
- nicstat命令安装与分析
nicstat安装包下载与安装: wget https://downloads.sourceforge.net/project/nicstat/nicstat-1.95.tar.gz tar -zxv ...
- 代码审计-DVWA-命令注入
首先说明,我水平不高,这是我在学习代码审计过程中写的记录笔记,难免有不正之处,还望指出. Windows 10 php7.2.10 + apache DVWA代码审计 命令执行 low <?ph ...
- SQL手工注入技巧
MYSQL篇 1.内置函数和变量 @@datadir,version(),database(),user(),load_file(),outfile() 2.利用concat(),group_conc ...
- 记二进制搭建k8s集群完成后,部署时容器一直在创建中的问题
gcr.io/google_containers/pause-amd64:3.0这个容器镜像国内不能下载容器一直创建中是这个原因 在kubelet.service中配置 systemctl daemo ...
- 面向对象之封装 及@property装饰器使用
目录 封装 1.封装的定义 2.封装的目的: 3.封装的三种方式 4.封装的优点 5.访问限制(封装) @property 装饰器 属性property底层实现 封装 1.封装的定义 将复杂的丑陋的, ...
- 有时间看看这个方法 会不会 避免 xss
Server.HtmlEncode 能将字符串原样输出 包括html标签
- java实现大文件上传
文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...
- POJ 3683 神父赶婚宴 2-SAT+输出模板
题意:一个小镇里面只有一个牧师,现在有些新人要结婚,需要牧师分别去主持一个仪式,给出每对新人婚礼的开始时间 s 和结束时间 t ,还有他们俩的这个仪式需要的时间(每对新人需要的时间长短可能不同) d ...
- [转载]blktrace分析IO
前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我们心心念念希望得到块设备处理io的service time,而不是service time ...