day15 数组
day15 数组
数组
1、什么是数组?
什么是数组?
具备某种相同属性的数据集合
[root@localhost ~]# array_name=(ddd)
[root@localhost ~]# declare -a
2、为什么要用数组?
为什么要用数组?
1)、方便查找
2)、方便有序的存放
3、普通数组的定义
普通数组的定义
在linux中,数组分为:普通数组(列表)和关联数组(字典)
普通数组的下标必须是整数
关联数组的下标可以是字符
数组的下标是从0开始的
[root@localhost ~]# declare -a :查看普通数组
1)、直接定义
[root@localhost ~]# array=(meng 18 male)
2)、指定下标的方式定义
[root@localhost ~]# array1=([1]=17 [0]=nilai [2]=womale)
3)、依次赋值
[root@localhost ~]# array2=()
[root@localhost ~]# array2[0]=tiecui
[root@localhost ~]# array2[1]=19
[root@localhost ~]# array2[2]=male
4)、使用命令
[root@localhost ~]# array3=(`ls /root`)
4、访问数组
访问数组
读数组中的值。
1)、使用变量的方式取值
[root@localhost ~]# echo $array3 # 取到第一个值
1.txt
2)、使用下标的方式取值
[root@localhost ~]# echo ${array3[1]} # 加上大括号代表一个整体
3)、反向取值法
[root@localhost ~]# echo ${array3[-1]} # 也可以反向取值
注:正向取值,下标从0开始;反向取值,下标从-1开始。
4)、一次取出所有的值
[root@localhost ~]# echo ${array3[*]} # *代表所有
5、添加数组元素
添加数组元素
[root@localhost ~]# array3[1]=mnnfnf
注:添加元素,如果添加的下标不存在即为添加数据,如果下标已经存在则为修改数据。
6、删除数组元素
删除数组元素
知识储备:
unset [变量名] : 删除变量
1)、删除特定某一个数据
[root@localhost ~]# unset array3[3]
[root@localhost ~]# echo ${array3[3]}
2)、删除所有的数据
[root@localhost ~]# unset array3
7、关联数组
关联数组
[root@localhost ~]# declare -A array3=() # 声明数组
8、遍历数组
遍历数组
for (第一种方式)
格式:
for 变量 in 数组
do # for循环开始
echo $变量 # for循环体
done # for循环结束
第二种:for 变量 in 数组 ; do for循环体1; for循环体2; for循环体3 ; done
作用:
1、作用是遍历数组,对数组中的所有元素进行处理
2、将数组中存储的元素取出来使用(计算,做特殊处理)
案例:循环出数组
第一种方法:
[root@localhost ~]# for i in ${array[*]}
> do
> echo $i
> done
第二种方法:
[root@localhost ~]# for i in ${array[*]}; do echo $i;echo "meng";done
[root@localhost ~]# for i in ${array[*]}; do echo "数组值:" $i;done # 做了格式化了
day15 数组的更多相关文章
- 字符串分割+二维数组 Day15练习
package com.sxt.arrays.test; import java.util.Arrays; /* 1,2,3,4!5,6,7!8,9!12,456,90!32 * 将此字符串以叹号为分 ...
- python_way day15 HTML-DAY2 HTML-DAY2、JS
python_way day15 HTML-DAY2 html-css回顾 javascript 一.html-css回顾 1.input与+,-号的写法 <!DOCTYPE html> ...
- Spark Streaming揭秘 Day15 No Receivers方式思考
Spark Streaming揭秘 Day15 No Receivers方式思考 在前面也有比较多的篇幅介绍了Receiver在SparkStreaming中的应用,但是我们也会发现,传统的Recei ...
- 【JAVA零基础入门系列】Day10 Java中的数组
什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...
- 【JAVA零基础入门系列】Day15 对象的比较
最近一直有事,博客也停笔了一段时间,十分抱歉. 这一篇主要讲讲对象的比较,什么是对象的比较,我们知道两个数值类型只需要用"=="符号即可进行相等判断,但如果是两个Goods对象呢? ...
- 11.2 正睿停课训练 Day15
目录 2018.11.2 正睿停课训练 Day15 A 郁闷的小G(二分) B 小G的树(树形DP) C 数的距离(思路) 考试代码 B C 2018.11.2 正睿停课训练 Day15 时间:3.5 ...
- python_way day15 HTML-DAY2、 回顾HTML-CSS 标签(css强制生效),JS(数据类型,时间处理,作用域)
python_way day15 HTML-DAY2 html-css回顾 javascript 一.html-css回顾 增加默认值: . 强制生效,就算在上面,被覆盖上了也会生效 解决缩小页面混乱 ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
随机推荐
- 如何优雅的处理 accept 出现 EMFILE 的问题
通常情况下,服务端调用 accept 函数会返回一个新的文件描述符,用于和客户端之间的数据传输 在服务器的开发中,有时会遇到这种情况:当调用 accept 函数接受客户端连接,函数返回失败,对应的错误 ...
- C++常见STL介绍
栈 :FILO 栈(stack)又名堆栈,它是一种线性表,是一个后进先出的数据结构. 使用时须加上头文件:#include<stack> 允许进行插入和删除操作的一端称为栈顶(top),另 ...
- spring-cloud-square源码速读(spring-cloud-square-okhttp篇)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Spring源码学习之容器的基本实现(一)
前言 最近学习了<<Spring源码深度解析>>受益匪浅,本博客是对学习内容的一个总结.分享,方便日后自己复习或与一同学习的小伙伴一起探讨之用. 建议与源码配合使用,效果更嘉, ...
- robot_framewok自动化测试--(7)认识RIDE
认识 RIDE RIDE 作为 Robot Framework 的"脸面",虽然我们已经可以拿它来创建和运行测试了,但我们对它的认识并不全面,这一小节我们将了解这个工具的使用. 1 ...
- Mysql教程:(三)运算符:数学运算符
运算符:数学运算符 mysql> select class,number,maths,maths+5 from score; mysql>select class,number,chine ...
- 从 ThreadLocal 到 AsyncLocal
前些天跟大佬们在群里讨论如何在不使用构造函数,不增加方法参数的情况下把一个上下文注入到方法内部使用,得出的结论是 AsyncLocal .感叹自己才疏学浅,居然才知道有 AsyncLocal 这种神器 ...
- oracle 与 前台 md5
创建函数: CREATE OR REPLACE FUNCTION MD5( passwd IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(32); BE ...
- [nowcoder5667G]Greater and Greater
令$f[i][j]$表示前i个数的后j位能否匹配b的前j位,有转移$f[i][j]=f[i-1][j-1] \ \&\ [b_{j}\le a_{i}]$ 将$g[i][j]=[b_{j}\ ...
- [bzoj1105]石头花园
首先$C/2=x_{max}+y_{max}-x_{min}-y_{min}=max(x_{max},y_{max})-min(x_{min},y_{min})+min(x_{max},y_{max} ...