当前位置: 首页 > news >正文

东台网站建设公司出口手工艺品网站建设方案

东台网站建设公司,出口手工艺品网站建设方案,网站建设咨询有客诚信网站建设咨询,个人网站怎么做1.数组是啥#xff1f; 数组是一块连续的内存#xff0c;用来存储相同类型的数据 #xff08;1#xff09;如何定义数组#xff1f; 1.int[] array {1,2,3,4} new int[]{1,2,3,4};//这里的new是一个关键字#xff0c;用来创建对象 2.数组就是一个对象 动态初始化 …1.数组是啥 数组是一块连续的内存用来存储相同类型的数据 1如何定义数组 1.int[] array {1,2,3,4}  new int[]{1,2,3,4};//这里的new是一个关键字用来创建对象 2.数组就是一个对象 动态初始化 int[] array new int[10];//这个数组没有初始化时默认将数组初始化为0 静态初始化 T[] 数组名称 {data1, data2, data3, ..., datan}; 还可以这样初始化 int[] array4;//局部变量 array4 new int[10];错误初始化 可以改成这样 int[] array5 null;//存储类型是引用类型时用null各类型数组初始化 2数组的创建 T[] 数组名 new T[N];//N是数组长度 3数组越界 int[] array {1,2,3,4} 获取数组长度 int len array.length; System.out.println(len); 4遍历数组 //第一种遍历方式int[] array {1,2,3,4};for (int i 0; i array.length; i) {System.out.print(array[i] );}System.out.println(); //第二种增强for循环for-eachfor(int x: array){//在遍历这个数组的时候把数组中的元素进行赋值给xSystem.out.print(x );}System.out.println(); 区别for遍历数组有带下标for-each没有 2.数组是引用类型 1JVM的内存分布 虚拟机栈 (JVM Stack): 与方法调用相关的一些信息 每个方法在执行时都会先创建一个栈帧 栈帧中包含有局部变量表 、 操作数栈 、 动态链接 、 返回地址 以及其他的一些信息保存的都是与方法执行时相关的一些信息。比如局部变量。当方法运行结束后栈帧就被销毁了即栈帧中保存的数据也被销毁了 。 堆 (Heap) : JVM 所管理的最大内存区域 . 使用 new 创建的对象都是在堆上保存 ( 例如前面的 new int[]{1, 2, 3} ) 堆是随着程序开始运行时而创建随着程序的退出而销毁堆中的数据只要还有在使用就不会被销 毁 。 2数组--引用 public static void func() {int a 10;int b 20;int[] arr new int[]{1,2,3};//描述为arr这个引用指向了一个数组对象 } 用arr里面的地址去操作对象里面的值 尝试分析下面的代码 public static void func() {int[] array1 new int[3];array1[0] 10;array1[1] 20;array1[2] 30;int[] array2 new int[]{1,2,3,4,5};array2[0] 100;array2[1] 200;array1 array2;array1[2] 300;array1[3] 400;array2[4] 500;for (int i 0; i array2.length; i) {System.out.println(array2[i]);}} ⚠array1和array2的值都是地址  array2的值把array1原来的值顶掉了array1从原来的0x89变成0x99 所以通过array1这个引用可以修改array2这个引用所指向的对象 3null  array null 表示当前引用不指向任何对象所以谈长度是没道理的 ⚠Java里面null和0号地址没有任何关联 ⚠一个引用不能同时指向多个对象跟变量一样只能一一对应存对象 ⚠对象不能指向对象只有引用才能指向对象 3.数组的应用  1作为函数参数 改变引用的值改变引用对象的值 public static void main(String[] args) {int[] array {1,2,3,4};/*当我 分开调用func1和 func2func1();func2();array这个数组 里面的值 分别是多少*///func1(array);func2(array);for (int x : array) {System.out.print(x );}System.out.println();}public static void func1(int[] array) {array[0] 99;}public static void func2(int[] array) {array new int[]{11, 22, 33, 44, 55};} 运行结果 1.99 2 3 4 2.1 2 3 4 func1修改的是实参array下标为0的元素打印出来就是99234 而func2把形参从指向{1,2,3,4}改成指向{11,22,33,44,55}不影响实参实参该是什么就是什么所以是1234  2作为函数返回值 public static void main(String[] args) {int[] ret func3();for (int i 0; i ret.length; i) {System.out.println(ret[i]);}}public static int[] func3(){int[] ret new int[2];ret[0] 99;ret[1] 199;return ret;//作为返回值的形式进行传递} 4.数组练习 1数组转字符串 一个打印数组比较便捷的方式比for循环快多了 public static void main(String[] args) {int[] array {1,2,3,4,5};String ret Arrays.toString(array);System.out.println(ret);} 2数组排序 使用Array的包 Arrays.sort(array,0,3);//区间排序在[03)这个区间里面从大到小排序我们自己做一个数组打印方法 public static String myToString(int[] array){if (array null){return null;}if (array.length 0){return [];}String ret [;for (int i 0; i array.length; i) {ret array[i];if (i ! array.length-1){//最后一个不打印,ret, ;}}ret ];return ret;} 3不妨再做一个sort的方法冒泡排序 排序[8,12,5,7,9] 现在已经是有序状态但是系统不一定知道已经是有序的所以我们要给机器一个验证 i是趟数j是交换的次数 public static void bubbleSort(int[] array){if(array null){return;}//i代表遍历趟数for (int i 0; i array.length-1; i) {//每次比上一次少一个,优化比较趟数boolean flg false;//优化比较结果//j代表元素下标相当于C里面的指针for (int j 0; j array.length-1-i; j) {//这里可以画图来看看if(array[j] array[j1]){int tmp array[j];array[j] array[j1];array[j1] tmp;flg true;}}if(!flg){//没有交换return;}}}public static void main(String[] args) {int[] array {8,12,5,7,9};System.out.println(myToString(array));bubbleSort(array);System.out.println(myToString(array));} 4逆置数组排序 public static void reverse(int[] array){if (array null){return;}int i 0;int j array.length-1;while(i j){int tmp array[i];array[i] array[j];array[j] tmp;i;j--;}} 5.数组拷贝 public static void main(String[] args) {int[] array1 {2, 4, 6, 3};int[] array2 {2,4,6,3,10};System.out.println(Arrays.equals(array1, array2));//equals判断数组是否相同int[] array new int[10];System.out.println(Arrays.toString(array));Arrays.fill(array, 9);Arrays.fill(array, 0, 3, 9);System.out.println(Arrays. toString(array));} public static void func(){// copyOf方法在进行数组拷贝时创建了一个新的数组// arr和newArr引用的不是同一个数组arr[0] 1;newArr Arrays.copyOf(arr, arr.length);//扩容System.out.println(Arrays.toString(newArr));// 因为arr修改其引用数组中内容时对newArr没有任何影响arr[0] 10;System.out.println(Arrays.toString(arr));System.out.println(Arrays.toString(newArr));// 拷贝某个范围.int[] newArr2 Arrays.copyOfRange(arr, 2, 4);System.out.println(Arrays.toString(newArr2));int[] copy new int[array1.length];System.arraycopy(array1,0,copy,0,array1.length);} arraycopy的底层代码 6.二维数组 如何创建二维数组 int[][] array {{1,2,3},{4,5,6}};//System.out.println(array[1][2]);int[][] array2 new int[][]{{1,2,3},{4,5,6}};int[][] array3 new int[2][3];//定义二维数组行不能省略//int[][] array4 new int[][3];这种是错误的//不规则二维数组int[][] array5 new int[2][]; 打印二维数组 我们常规以为的二维数组 所以就有下面的打印代码  for (int i 0; i 2; i) {for (int j 0; j 3; j) {System.out.print(array[i][j] );}System.out.println();}而真正的二维数组是这样的 int[][] array {{1,2,3},{4,5,6}};System.out.println(array.length);System.out.println(array[1].length);System.out.println(array[2].length);for (int i 0; i array.length; i) {for (int j 0; j array[i].length; j) {System.out.print(array[i][j] );}System.out.println();} 还有另外一种写法 for (int[] tmp:array) {for (int x : tmp) {System.out.println(x );}System.out.println();} 给这个二维数组规定每行有哪些数
http://www.dnsts.com.cn/news/179015.html

相关文章:

  • 直播app开发哪家好企业电子商务网站优化方案
  • 创建自己的免费网站在哪个网站上做外贸好
  • 合肥网站制作公司永康网站开发公司
  • 网站建设分金手指专业网站托管目的是什么
  • 1688网站登录seo排名资源
  • 餐饮公司加盟网站建设wordpress get_the_category()
  • 九江集团网站建设建筑工程网名大全霸气
  • 不良网站代码怎么查买了域名和空间怎么做网站
  • 网站开发公司内部数据字典推广软件是什么
  • 响应式网站咨询网站建设择
  • 网站开发哪里安全网站建设与制作与维护ppt
  • 音乐排行榜网页设计代码福州网站优化公司
  • 如何申请建设个人网站wordpress里的导航用什么位置
  • 蒙文网站建设情况汇报材料58同城的网站怎么做的
  • 网站设计开发视频网站设计模板
  • 星巴克网站建设方案nginx优化wordpress网站速度
  • 上海 网站制作公司工程公司的经营范围有哪些
  • 矿山建设工程公司网站wordpress主题699元
  • 网站做任务挣钱汇点远程app下载安装
  • 建设手机网站培训教程网站调用flash
  • 哪些网站是专做合租的惠州网站建设 翻译6
  • 网站建设服务公盐山做网站的
  • 高端商城网站建设广州企业网站排名
  • 淘宝建设网站的意义数字营销公司排行榜
  • 保定网站建设方法百度快照怎么用
  • 海口市做网站的公司厦门网站设计公司找哪家厦门小程序建设
  • 青岛关键词排名推广从零开始做网站seo
  • 免费商城自助建站wordpress虚拟商品销售
  • 中航建设集团有限公司网站太仓市质监站网址
  • 可以做流程图的网站设计工作室注册流程