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. 有段时间曾经很诧异,到底两种数据类型用来 ...
随机推荐
- Luogu P1084 疫情控制 | 二分答案 贪心
题目链接 观察题目,答案明显具有单调性. 因为如果用$x$小时能够控制疫情,那么用$(x+1)$小时也一定能控制疫情. 由此想到二分答案,将问题转换为判断用$x$小时是否能控制疫情. 对于那些在$x$ ...
- 重学STM32---(十)之CAN通信(二)
目录 前言 程序编写 主代码 测试 前言 CAN协议是非常难的,但是在stm32中却是简单的,只需要我们配置寄存器即可,,,即使这样,我在学习的时候也遇到了许多困难 程序编写 1.开时钟,不用说 ...
- 基于SpringBoot项目MyBatis分页插件实现分页总结
前言 在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍的时间写 count 和 se ...
- Delphi的手机程序隐藏顶部信号栏
把TForm的BorderStyle设置为None 记之!
- 谷歌chrome多个相同用户登陆同一个机器多开配置
创建快捷方式,目标中填写:路径+参数如下所示即可 参数:--user-data-dir=%LOCALAPPDATA%\Google\Chrome\%SessionName%
- redis开外网访问
Redis: 注释掉bind 127.0.0.1可以使所有的ip访问redis 若是想指定多个ip访问,但并不是全部的ip访问,可以bind protected-mode no /etc/init.d ...
- k8s入坑之路(7)kubernetes设计精髓List/Watch机制和Informer模块详解
1.list-watch是什么 List-watch 是 K8S 统一的异步消息处理机制,保证了消息的实时性,可靠性,顺序性,性能等等,为声明式风格的API 奠定了良好的基础,它是优雅的通信方式,是 ...
- IDEA Dao层快速跳转Mapper.xml 文件的插件
1.Idea 窗口→File→Setting→Plugins, 2.搜索 Free MyBatis plugin, install,等待安装完成后,Restart IDEA .
- FZU ICPC 2020 寒假训练 1
B - Sum Problem In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n. Input The i ...
- 使用VSCode编写,发布cnblogs
WriteCnBlog插件作者写的教程: https://www.cnblogs.com/caipeiyu/p/11774968.html