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

如何选择建设网站类型优化网络的软件

如何选择建设网站类型,优化网络的软件,梵克雅宝官网中国官网,合肥微信网站目录 一.一维数组的定义 1.创建数组 2.初始化数组 二.数组的使用 1.访问数组 2.遍历数组 3.修改数据内容 三.有关数组方法的使用 1.toString 2. copyOf 四.查找数组中的元素 1.顺序查找 2.二分查找binarySearch 五.数组排序 1.冒泡排序 2.排序方法sort 六.数组逆置…

目录

一.一维数组的定义

1.创建数组

2.初始化数组

二.数组的使用

1.访问数组

2.遍历数组

3.修改数据内容

三.有关数组方法的使用

1.toString

2. copyOf

四.查找数组中的元素

1.顺序查找

2.二分查找binarySearch

五.数组排序

1.冒泡排序

2.排序方法sort

六.数组逆置

七.二维数组的定义

八.二维数组的打印

一.一维数组的定义

1.创建数组

数组定义有三种方法:

int[] array1 = new int[10];//前面的int[]为数组的类型,后面的int[10]为其能够存放的大小,array1为其数组名称
int[] array2 = {1,2,3,4,5};
int[] array3 = new int[]{1,2,3,4,5};

2.初始化数组

初始化数组有动态初始化和静态初始化两种

动态初始化:在创建数组时,只定义数组中元素的个数,并未给里面的元素进行赋值

例如:

int [] array = new int [ 10 ];

静态初始化:在创建数组时不定义数据元素个数,而直接将数组里的数据内容进行赋值,编译器会自己判定数组有几个元素, 后面的数据必须与前面定义的数据类型一致

例如:

int[] array1 = { 0,1,2,3,4,5,6,7,8,9};

初始化能分为两步,分步的第二步中new int[]不能省略

int [] array ;

array = new int []{ 10 , 20 , 30 };

当数组中的元素为动态初始化时,会有对应的默认值

在这里插入图片描述

二.数组的使用

1.访问数组

通过数组的下标进行访问,数组在内存中是一块连续的内存空间

public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5};System.out.println(array[3]);}
}

数组的下标是从0开始的,所以数组用下标访问最大能到数组长度-1

public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5};System.out.println(array[5]);}
}

超过会报异常

2.遍历数组

数组有3种打印方式

(1)for循环打印数组

public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5};for (int i = 0; i < array.length; i++) {System.out.print(array[i]+" ");}}
}

(2)增强for(foreach)打印数组

public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5};for (int x:array) {System.out.print(x+" ");}}
}

(3)toString打印数组

import java.util.Arrays;public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5};System.out.println(Arrays.toString(array));//使用toString方法需要导包,类似C语言中的头文件}
}

3.修改数据内容

1.直接传变量

public class Test {public static void func(int x){x = 10;System.out.println("x:"+x);}public static void main(String[] args) {int num = 0;func(num);System.out.println("num:"+num);}
}

num的值没有被修改为10,因为方法传参的时候传的是形参,形参相当于是实参的一份临时拷贝,形参的修改不会影响到实参(相当于调用方法时创建的栈帧里有一个变量的值为0,然后被修改为10,方法调用结束,创建的栈帧销毁,并无影响)

2.传的是数组

import java.util.Arrays;public class Test {public static void func(int[] array){array[0] = 10;}public static void main(String[] args) {int[] array = {1,2,3};func(array);System.out.println(Arrays.toString(array));}
}

3.传的数组返回的也是数组

import java.util.Arrays;public class Test {public static int[] func(int[] array){array[0] = 10;array[2] = 30;return array;}public static void main(String[] args) {int[] array = {1,2,3};func(array);System.out.println(Arrays.toString(array));}
}

三.有关数组方法的使用

1.toString

toString方法的作用是将数组的数据变成字符串类型数据

import java.util.Arrays;public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5};//定义一个数组String arrays = Arrays.toString(array);//用字符串类型接受方法的返回值System.out.println(arrays);}
}

2.模拟实现toString

public class Test {public static String toString(int[] array){//返回类型为字符串类型String array1 = "[";//定义一个字符串类型数据for (int i = 0; i < array.length; i++) {array1+=array[i];if(i!= array.length-1){array1+=",";}}array1+="]";return array1;}public static void main(String[] args) {int[] array = {1,2,3,4,5};//定义一个数组String arrays = toString(array);//用字符串类型接收方法的返回值System.out.println(arrays);}
}

3. copyOf

pic_4f587f1b.png

第一个参数original - 要复制的数组

第二个参数newLength - 要返回的副本的长度

import java.util.Arrays;public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5};int[] newArray = new int[array.length];//新数组newArray = Arrays.copyOf(array,array.length);System.out.println(Arrays.toString(newArray));}
}

4.模拟实现copyOf

import java.util.Arrays;public class Test {public static int[] copyOf(int[] array,int length){int[] newArray = new int[array.length];for (int i = 0; i < array.length; i++) {//循环赋值newArray[i] = array[i];}return newArray;}public static void main(String[] args) {int[] array = {1,2,3,4,5};int[] newArray = copyOf(array, array.length);newArray[2] = 30;//将拷贝好的数组的第3个元素赋值为30,观察该改变是否对原数组是否有影响System.out.println("array:"+Arrays.toString(array));System.out.println("newArray:"+Arrays.toString(newArray));}
}

四.查找数组中的元素

1.顺序查找

public class Test {public static int find(int[] array,int k){for (int i = 0; i < array.length; i++) {if(k == array[i]){return i;//找到了就返回下标}}return -1;//找不到返回-1}public static void main(String[] args) {int[] array = {1,2,3,0,7,8,9,4,5,6};int ret = find(array,4);System.out.println(ret);}
}

2.二分查找binarySearch

二分查找必须是有序数组

import java.util.Arrays;public class Test {public static void main(String[] args) {int[] array = {1,2,3,4,5,6,7,8,9,10};int ret = Arrays.binarySearch(array,4);System.out.println(ret);}
}

模拟实现binarySearch

a - 要搜索的数组

key - 要搜索的值

public class Test {public static int binarySearch(int[] array,int k){int left = 0;int right = array.length-1;while(left<=right){int mid = (left+right)/2;if(array[mid]>k){//查找范围左移right = mid-1;}else if(array[mid]<k){//查找范围右移left = mid+1;}else{return mid;}}return -1;}public static void main(String[] args) {int[] array = {1,2,3,4,5,6,7,8,9,10};int ret = binarySearch(array,4);System.out.println(ret);}

五.数组排序

1.冒泡排序

import java.util.Arrays;public class Test {public static void bubbleSort(int[] array){for (int i = 0; i < array.length-1; i++) {boolean flag = true;for (int j = 0; j < array.length-1-i; j++) {if(array[j]>array[j+1]){int tmp = array[j];array[j] = array[j+1];array[j+1] = tmp;flag = false;}}if(flag == true){//已经有序break;}}}public static void main(String[] args) {int[] array = {1,2,3,6,5,0,4,8,7,9};bubbleSort(array);System.out.println(Arrays.toString(array));}

2.排序方法sort

import java.util.Arrays;public class Test {public static void main(String[] args) {int[] array = {1,2,3,6,5,0,4,8,7,9};Arrays.sort(array);System.out.println(Arrays.toString(array));}
}

六.数组逆置

import java.util.Arrays;public class Test {public static void reverse(int[] array){int head = 0;int tail = array.length-1;while(head<tail){int tmp = array[head];array[head] = array[tail];array[tail] = tmp;head++;//后移tail--;//前移}}public static void main(String[] args) {int[] array = {1,2,3,4,5,6};reverse(array);System.out.println(Arrays.toString(array));}

七.二维数组的定义

二维数组同样有三种定义方式

public class Test {public static void main(String[] args) {int[][] array1 = {{1,2,3},{4,5,6}};int[][] array2 = new int[2][3];int[][] array3 = new int[][]{{1,2,3},{4,5,6}};}

八.二维数组的打印

Arrays包里面的toString方法是将数组中的元素转换为字符串,用2个toString方法来打印二维数组时,第一个toString已经将数组转换为字符串,第二个toString是不能接收字符串的,所以不能用toString来打印二维数组

应用deepToString来打印

import java.util.Arrays;public class Test {public static void main(String[] args) {int[][] array = {{1,2,3},{4,5,6}};System.out.println(Arrays.deepToString(array));}
http://www.yayakq.cn/news/76616/

相关文章:

  • 潍坊网站推广设计logo网站免费奇米
  • 南川网站建设内蒙古网站备案
  • 做外贸如何访问国外网站加强本单位政务网站建设
  • 建网站 京公网安泉州台商区建设局网站
  • 如何给网站做宣传国际公司名字
  • 男人女人做那事网站精品课程网站开发的创新点
  • 永久免费无代码开发平台网站网站ui设计模板
  • 广州网站开发定制推广公司产品文案该怎么写
  • 2016响应式网站模版广告设计公司宣传
  • 怎么做课题组网站上海网站制作网络推广方法
  • 网站开发是做什么?中国航发网上商城废旧物资
  • 绍兴市越城区建设局网站网站怎么看好与不好
  • 哪个网站建设公司汕头网站快速排名提升
  • 信誉好的邯郸网站建设快速域名网站备案
  • 四川兴昌建设有限公司网站网站的 联系我们怎么做
  • 中职示范校建设验收网站企业网站建设协议
  • 免费论坛建站系统公众号排版怎么做
  • 北京做网站开发公司有哪些青岛外发加工网
  • 怎么自己制作网站免费专题型定制网站建设
  • 自做网站设计商城的网站建设
  • 外贸网站建设lanscend珠海金泉做网站号公司或个人码
  • 镇江网站建设制作公司兰州网站建设 冰雨
  • vps 一个ip 多个网站 软件 linux网页微信扫码登录
  • 国外网站卖货平台网站建设审批
  • 网站建设与维护高职深圳商城网站设计
  • 有什么网站可以免费注册女生学动漫设计好找工作吗
  • 网站推广原则最赚钱的小型加工厂
  • 制作网站的方法有哪些襄阳优化公司
  • 中达建设网站网站推广的作用
  • 专业制作网站 地摊网页设计所需软件