数组知识点考察

 第四关——

数组的初始化方式


  • 动态初始化

初始化时只指定数组长度,由系统为数组分配初始值

格式:数据类型 [ ] 变量名 =  new  数据类型[数组长度];
范例:         int [ ]     arr   =  new           int[3];

  • 静态初始化

初始化时指定每个数组元素的初始值,由系统决定数组长度

格式:数据类型 [ ] 变量名 =  new  数据类型[ ] { 数据1 , 数据2 , 数据3 , ……} ;
范例:         int [ ]       arr =  new           int[ ] { 1 , 2 , 3 } ;

简化格式:数据类型 [ ] 变量名 = { 数据1 , 数据2 , 数据3 , ……} ;
范例:                int [ ]       arr = { 1 , 2 , 3 } ;
 


知道哪几种循环读取数组数据的方法?

for,for-each,和toString

通常遍历数组都是使用for循环来实现。遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度。for循环本质就是把数组中的每个数据打印出来。

foreach循环,这种循环遍历数组和集合更加简洁。使用foreach循环遍历数组时,无须获得数组和集合长度,无须根据索(下标)引来访问数组元素,foreach循环自动遍历数组和集合的每一个元素。

利用Arrays工具类中的toString静态方法可以将一维数组转化为字符串形式并输出。
已知打印一维数组的API为System.out.println ( Arrays.toString ();,其参数为数组名或数组指针,其支持的数据类型有很多,如:int[]、char[]、byte[]等。
————————————————
版权声明:本文为优快云博主「胡毛毛_三月」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_45696377/article/details/109553685


两个数组合并要注意些什么?

apache-commons 这是最简单的办法。在apache-commons中,有一个ArrayUtils.addAll(Object[], Object[])方法,可以让我们一行搞定: String[] both = (String[]) ArrayUtils.addAll(first, second); 其它的都需要自己调

用jdk中提供的方法,包装一下。 为了方便,我将定义一个工具方法concat,可以把两个数组合并在一起: static String[] concat(String[] first, String[] second) {} 为了通用,在可能的情况下,我将使用泛型来定义,这样不仅String[]可以使用,其它类型的数组也可以使用: static <T> T[] concat(T[] first, T[] second) {} 当然如果你的jdk不支持泛型,或者用不上,你可以手动把T换成String。

System.arraycopy()

Arrays.copyOf() 在java6中,有一个方法Arrays.copyOf(),是一个泛型函数。

Array.newInstance 还可以使用Array.newInstance来生成数组
————————————————
版权声明:本文为优快云博主「frank1998819」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/frank1998819/article/details/84466299


配置了哪些环境?

为了配置 JDK 的系统变量环境,我们需要设置三个系统变量,分别是 JAVA_HOME(可选),Path 和 CLASSPATH,下面是这三个变量的设置方式。

JAVA_HOME

先设置这个系统变量名称,变量值为 JDK 在你电脑上的安装路径:C:\ProgramFiles\Java\jdk1.8.0_20。

创建好后则可以利用%JAVA_HOME%作为 JDK 安装目录的统一引用路径,如果换了目录可以直接换这个变量而不用换 path。

Path

PATH 属性已存在,可直接编辑,在原来变量后追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 即可。

CLASSPATH

添加名为 CLASSPATH 的系统变量,变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar 。

注意 CLASSPATH 变量值字符串前面有一个点(表示当前目录)。设置 CLASSPATH 的目的,在于告诉 Java 执行环境,在哪些目录下可以找到您所要执行的 Java 程序所需要的类或者包。

JDK 是 Java 工具开发包,JRE 是 Java 运行环境。简单来说就是 JDK 开发后交给 JRE 运行,JDK 默认包含 JRE。
————————————————
版权声明:本文为优快云博主「weixin_39805644」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_39805644/article/details/114246605


冒泡排序原理

冒泡排序原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子。

或者可以这样描述冒泡排序:

就是将第一个记录的关键字和第二个记录的关键字进行比较, 

如果后面的比前面的小则交换,然后比较第二个和第三个,依次类推。

比完一趟,最大的那个已经放到了最后的位置,这样就可以对前面N-1个数再循环比较。  

稳定,时间复杂度 O(n^2)

实例 : //冒泡排序(数组排序) 

function bubble_sort($array) {
$count = count($array); 
if ($count <= 0) return false; 
for($i=0; $i<$count; $i++){ 
  for($j=$count-1; $j>$i; $j–){ 
    if ($array[$j] < $array[$j-1]){ 
      $tmp = $array[$j]; 
      $array[$j] = $array[$j-1]; 
      $array[$j-1] = $tmp; 
    } 
  } 

return $array; 


可以给数组整体赋值吗?

可以

Java中数组赋值的三种方式
推荐第一种:

public class ArrayTest{
    public static void main(String args[]){
        // 1
        int[] a=new int[4];
 
        a[0]=1;
        a[1]=2;
        a[2]=3;
        a[3]=4;
 
        System.out.println(a[3]);
 
        // 2
        int b[]=new int[4];
 
        b[0]=1;
        b[1]=2;
        b[2]=3;
        b[3]=4;
 
        System.out.println(b[2]);
 
        // 3
        int[] c={1,2,3,4};
        int[] d=new int[]{1,2,3,4};
 
        System.out.println(c[2]);
        System.out.println(d[3]);
    }
}

————————————————
版权声明:本文为优快云博主「玄夜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/lengol/article/details/50412377

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值