JAVA ----week4

mac2022-06-30  33

week4(  ch7 ch8) 插一个debug的快捷键: F5 一步步深入(进入每个方法) F6一步步进行 (不进入方法) F7如果当前进入某个方法可以直接跳到结尾 F8运行下一个断点   java 数组     数组声明与创建:        1.声明 double[] a;(normal)/double a[];   (未分配空间),但是基本的数据类型在声明时会分配内存, 只是一个对数组的引用的存储位置,默认为null(指针的空间而已吧),实际是没有创建数组的        2.创建 a=new double[10];   实际做了两步:创建了一个数组,把新的数组引用赋值给a   3.声明创建赋值在一起 double[] a=new double[10];        数组长度直接用a.length显示   double[] a=new double[10];   for (int i = 0; i < a.length; i++) {    a[i]=Math.random()*10;   }   System.out.println((int)a[5]);  }       4.初始化 double[] a={1,2,3}; (声明 创建 初始化)       5. 一维数组:长度(定长,不定长),   一般不能不定长,要用其他未学到的方法 Vector v = new Vector(0,1); for(int i=0;i<10;i++)     v.addElement( (new Integer(i)).toString()); v.addElement("10"); System.out.printLn((String)v.elementAt(5));  二维数组:           int a=new int[][]{ {1,2} {2,2,2} {3,2,1,2} }           可以不是矩形(行不等于列),a,a[0],a[1],a[2]各自有id           如何遍历!!!           多维数组  n维  遍历数组:          1. for 循环访问           2.foreach形式 :不需要数组长度也可以顺序输出数组元素           for(double d:mylist)           {  systemout.println(d);  } 表示对数组mylist中的每个元素d进行以下操作,但是不可以操作元素           {if(d>result)  result=d;             debug可以直接改变量               处理数据           输入值--初始化           随机数--初始化            显示--数组    数组元素求和           找最大元素           找最大元素下标           随意打乱元素排序           移动元素    数组复制----内存空间问题:   1. b=a           实际是b原先指向的空间的内容成为了垃圾废物被java虚拟机回收,b这个指针就指向了a的空间,实际上不是内容的复制(普通数据类型就是)就算两者长度不同也会变得一样,一个变另一个也会变,观察id一样指向同一个地址   2.循环中复制      int[] a={1,2,3};      int[] b=new int[10];   for(int i=0;i<a.length;i++)            b[i]=a[i];   for (int i : b) {    System.out.println(i);   } !!!不同数组长度,注意for的那个长度  当a长度大于b没显示出错但是运行时错误(上一个代码)      int[] a={1,2,34,5,6,7,8,21,2,3,4,5};      int[] b=new int[10];   for(int i=0;i<b.length;i++)            b[i]=a[i];   for (int i : b) {    System.out.println(i);   } 这个就不会错了           3.arraycopy           system.arraycopy(a,1,b,2,4)从a的下标1开始复制4个到b的下标2开始           用for1为i值,2用i来表示,4为i的长度          4. clone           b=a.clone,改变b但是a不变,简单方法得知:id不一样            方法中传递数组           传递数组参数:实际是传id           如果参数个数不匹配会出错           定义函数里的参数时可用  int...a表示任意个数或数组,可以用a.length看见           从方法返回数组           可变长参数列表       arrays类 转换类的函数:   1.字符串-》字符数组   String a="eufb";   char[] b=a.toCharArray();   System.out.println(b[2]);     f   char c=a.charAt(1);   System.out.println(c);     u   System.out.println(a.length());    4   System.out.println(b.length);    4     2.字符数组-》字符串   String hard=String.valueOf(b);   System.out.println(hard);    eufb 接受单一个字符:     java的scanner并没有这个方法,只能当作字符串接受 Scanner input=new Scanner(System.in);   String s = input.next(); //Scanner类没有提供直接接收一个字符的方法,这里当作字符串来接收;   System.out.println(s.charAt(0)); // 调用字符串的charAt()方法取得第一个字符就是了 */

转载于:https://www.cnblogs.com/jingjing1234/p/11543744.html

最新回复(0)