.net 怎么循环得到数组里的值_第九天(数组)

算术运算:

      int a1=128;  

      int b1=33;

     int c1=a1>>b1=128/2=64;//右移就是除,移几位就是除几次二。

  //左移就是乘。

如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了33%32=1位

也就是:a/(2^(b%32))  //除以32是因为int4字节32位。(循环移位,因为整型只有32位)以此类推,可以得到别的类型的计算。

switch(表达式){//表达式只能为byte,short,char(最终还是要转换成int类型),int,enumeration类型,jdk1.8 新增加了String

  case constant1:

  statement;

  break;

  case:constant2:

  statement;

  break;

  defult:

  statement;

}

标签也要遵循命名规范:

outer:标签

break outer;跳出outer标签循环

System,in(从内存缓冲区读取字符,内存缓冲区的字符是从键盘上读入的(输入a回车:等于向内存缓冲区输入了三个字符:'a','\r','\n' ):键盘缓冲区的数据在程序结束后也会被清除。

图解:

d6ddd5d9e9d43e7dd4dd3858d1863ed2.png

单引号char类型的数据可以和int类型的数据进行比较。

数组:

  • 数组是用来存储一组相同数据类型数据的数据结构。

  • 数组也是一种引用类型。

  • 数组的元素可以是简单类型的数据,也可以是引用类型的数据。

  • 存放数据的容器。在堆区开辟多个空间(在堆区创建多个变量。),逻辑地址连续,物理内存不一定连续,长度固定。

  • 在声明数组时不要写下标,创建对象的时候写下标,通过new操作符来创建数组对象,指定数组的大小,给数组元素的存储分配空间。

数组越界异常:int [] a; a =new int[5]; ArrayIndexOutofBoundsException.

负数组长度异常:int [] a; a=new int[-1]; NegativeArraySizeException.

直接寻址:int a=0;a=3;    直接寻址即直接给出内存单元的物理地址/虚拟地址直接寻址! 变量就是直接寻址

间接寻址:a[4]=5; 间接寻址是建立在直接寻址之上的一种概念,地址不是直接寻址那样直接给出,而是通过某个特定的内存单元得出,第一次是得到某个特定内存单元里的地址数据,第二次在将得出的地址进行DS+偏移地址H的运算直接寻址!  数组中元素就是间接寻址。

三、立即寻址

通过上面的了解,立即寻址就非常简单了,即立即数寻址!

具体三种寻址方式详细解读:https://blog.csdn.net/bjbz_cxy/article/details/80534371

int[]类型代码:

91342b9d9e608625bce14bdb2d4947e1.png

iint[]类型内存图:

e7985ac14674b862bfcb2a18ea8e62e7.png

String[]类型代码:

2695e5e5de6f069ef05b1f356526308a.png

String[]类型内存图:

6980b1cb2b173a31e0dfcec7a78a2507.png

一个变量:stringArray。十个元素。二十一个对象,一个String[]对象,堆里十个String对象,方法区十个对象“two”等。

数组的初始化

初始化:默认初始化和显示初始化

int[]初始化:

  • int a={1,2,3,4,5,6};(只能初始化)

  • int[] num;  num=new int[]{1,2,3,4,5,6}(推荐使用:既能初始化又可以赋值)

Object[] 类型的数组。可以存放任何类型变量的地址。

数组的拷贝:也就是数组对象地址的拷贝。

数组对象元素的拷贝:

b[2]=a[5];

批量元素的拷贝:system类中有一个方法,arraycopy();

ea22b2bab04cd92c869178814ecc0dfc.png

  • 参数

src - 源数组。

srcPos - 源数组中的起始位置。

dest - 目标数组。

destPos - 目的地数据中的起始位置。

length - 要复制的数组元素的数量。

二维数组的内存图

7210eb8d999b9985b721f7742de2ba63.png

这里面:1个变量(只有一个变量b),四个对象(一个int[][]类型的对象,三个int[]类型的对象),九个元素(int[][]类型对象里面的三个元素,三个int[]对象的六个元素,加起来一共有九个元素);

会挽雕弓如满月,西北望,射天狼。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值