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. 有段时间曾经很诧异,到底两种数据类型用来 ...
随机推荐
- undefined reference to `recvIpcMsg(int, ipc_msg*)'——#ifdef __cplusplus extern "C" { #endif
最近在弄一个进程间通信,原始测试demon用c语言写的,经过测试ok,然后把接口封装起来了一个send,一个recv. 使用的时候send端是在一个c语言写的http服务端使用,编译ok没有报错,但是 ...
- Linux文件与目录管理 cp od chattr lsattr
1:在shell脚本中,一定要使用绝对路径. 2:在根目录下,.和..是完全相同的两个目录. 3:cd - 就相当于撤销,表示回到前面状态所在的目录. 4:mkdir -m 700 test 加&qu ...
- python基本数据类型操作
str 字符串 #1.进行字符串转换 首字母转换成大写 # name = 'wangjianhui' # v = name.capitalize() # print(v) #2. 字符转换小写 # n ...
- uni-app nvue页面动态修改导航栏按钮
话不多说上代码 let pages = getCurrentPages() let page = pages[pages.length - 1]; let currentWebview = page. ...
- LeetCode 22. 括号生成 C++(回溯法)
还是用回溯法暴力解题,遍历所有可能,不过还是在此基础上进行了一些的优化,来阻止那些不必要的遍历.好,上代码. class Solution { public: vector<string&g ...
- 我罗斯方块最终篇(Player类、Game类)
我罗斯方块最终篇(Player类.Game类) |--------------------项目GitHub地址--------------------| 目录 我罗斯方块最终篇(Player类.Gam ...
- ELK 7.4.2 单机安装配置
Java环境准备 JDK下载 https://www.oracle.com/technetwork/java/javase/overview/index.html [root@manager ~]# ...
- Study Blazor .NET(二)安装
翻译自:Study Blazor .NET,转载请注明. 安装 请根据下面步骤安装开始使用Blazor: 1.针对不同的操作系统,安装最新版.Net Core框架 [这里] 2.用.Net Core ...
- Java设计模式之(七)——装饰器模式
1.什么是装饰器模式? Attach additional responsibilities to an object dynamically keeping the same interface.D ...
- vagrant创建centos7后虚拟机磁盘爆满
1.问题现象 使用df -h命令,磁盘占用直接99%,明明啥也没干... 2.解决方案 找到C:\Users\你的用户名\.vagrant.d\boxes\centos7\0\virtualbox目 ...