加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JAVA ----week4

发布时间:2020-12-15 07:40:23 所属栏目:Java 来源:网络整理
导读:? week4(??ch7 ch8) 插一个debug的快捷键: F5 一步步深入(进入每个方法) F6一步步进行 (不进入方法) F7如果当前进入某个方法可以直接跳到结尾 F8运行下一个断点 ??java 数组 ?? ?数组声明与创建: ? ? ?? 1.声明?double[] a;(normal)/double a[];
? 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} {3,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,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,34,5,6,7,8,21,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,b,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()方法取得第一个字符就是了
*/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读