java程序设计基础—数组

1、初始化数组(存储块是连续的)

int[] a = new int[100];     --方式一
int[] anonymous = { 17, 19, 23, 29, 31, 37 }; --方式二

注意:创建一个数字数组时, 所有元素都初始化为 0。boolean 数组的元素会初始化为 false 对象数组的元素则初始化为一个特殊值
null, 这表示这些元素(还)未存放任何对象。

String[] names = new String[10] ;  //这个对象数组的每一个元素就是null

2、for each 循环

3、数组拷贝

将一个数组变量拷贝给另一个数组变量。这时, 两个变量将引用同一 个数组:

 希望将一个数组的所有值拷贝到一个新的数组中去,就要使用 Arrays 类的 copyOf方法:
int[] copiedLuckyNumbers = Arrays.copyOf(luckyNumbers, luckyNumbers.length) ;
第 2 个参数是新数组的长度。这个方法通常用来增加数组的大小:
luckyNumbers = Arrays.copyOf(luckyNumbers, 2 * luckyNumbers.length);
如果数组元素是数值型,那么多余的元素将被赋值为 0 ; 如果数组元素是布尔型, 则将赋值为 false。如果是String类型,那么多余的元素将会是null,表示该变量和对象没有具体的联系。

4、命令行参数

public class Message
{
  public static void main(String[] args){
    if (args.length = 0 11 args[0].equals("_h"))
    System.out.printCHello,");
    else if (args[0].equa1s("-gM))
    System.out.print("Goodbye,");
    // print the other command-line arguments
    for (int i = 1; i < args.length; i ++)
    System.out.print(" " + args[i]);
    System.out.println("!");
  }
}
如果使用下面这种形式运行这个程序:
java Message -g cruel world

args 数组将包含下列内容:
args[0]
args[l]
args[2]
"cruel"
"world"

 5、数组的排序  Arrays.sort(a)

  Arrays.sort(a)

这个方法使用了优化的快速排序算法。快速排序算法对于大多数数据集合来说都是效率比较高的。 Arrays 类还提供了几个使用很便捷的方法。

其他的方法:

• static String toString(type[] a) 
   返回包含 a 中数据元素的字符串, 这些数据元素被放在括号内, 并用逗号分隔。java几乎没一个对象都可以调用这个方法。
   参数: a 类型为 int、long、short、 char、 byte、boolean、float 或 double 的数组。
• static type copyOf(type[] a, int length)
• static type copyOfRange(type[] a , int start , int end)
   返回与 a 类型相同的一个数组, 其长度为 length 或者 end-start, 数组元素为 a 的值。
   参数: a 类型为 int、 long、 short、 char、 byte、boolean、 float 或 double 的数组。
   start  起始下标(包含这个值)0
   end  终止下标(不包含这个值)。 这个值可能大于 a.length。 在这种情况下,结果为 0 或 false。
   length 拷贝的数据元素长度 c 如果 length 值大于 a.length, 结果为 0 或 false ;
   否则, 数组中只有前面 length 个数据元素的拷 W 值。
• static void sort(t y p e [ ])
  采用优化的快速排序算法对数组进行排序。
  参数: a 类型为 int、long、short、char、byte、boolean、float 或 double 的数组。
• static int binarySearch(type[] a , type v)
• static int binarySearch(type[] a, int start, int end , type v) 
  采用二分搜索算法查找值 v。如果查找成功, 则返回相应的下标值; 否则, 返回一个负数值。r -r-1 是为保持 a 有序 v 应插入  的位置。
    参数: a 类型为 int、 long、 short、 char、 byte、 boolean 、 float 或 double 的有序数组。
    start 起始下标(包含这个值)。
    end 终止下标(不包含这个值。)
     v 同 a 的数据元素类型相同的值。
• static void fill(type[] a , type v)
将数组的所有数据元素值设置为 V。
参数: a 类型为 int、 long、short、 char、byte、boolean 、 float 或 double 的数组。
            注意:v 与 a 数据元素类型相同的一个值。
• static boolean equals(type[] a, type[] b)
如果两个数组大小相同, 并且下标相同的元素都对应相等, 返回 true。参数: a、 b 类型为 int、long、short、char、byte、boolean、float 或 double 的两个数组。

6、多维数组

多维数组被解释为“ 数组的数组。”

int[][] magicSquare =
{
  {16, 3, 2, 13},
  {5, 10, 11, 8},
  {9, 6, 7, 12},
  {4, 15, 14, 1}
};
//如果需要遍历所有的数组元素使用方法二比较合适,否则使用方法一
//方法一
for (int i = 1; i < balances.length; i++) {
     for (int j = 0; j < balances[i].length; j++){
        double oldBalance = balances[i - 1][j]:
        double interest = . . .;
        balances[i][j] = oldBalance + interest;
    }
}
//方法二
for (doubleG row : a)
   for (double value : row)
      do something with value

打印一个二维数组的数据元素列表, 可以调用:System.out.println(Arrays.deepToString(a)) ;

7、不规则数组

图中表示的是数组的数组,第一行为10个元素的数组,每个元素又可以是由6个浮点元素构成的数组。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java程序设计基础是指学习和掌握Java编程语言的基本概念、语法和技巧。下面是一些Java程序设计基础的内容: 1. Java语言特点:Java是一种面向对象的编程语言,具有简单、可移植、安全、高性能等特点。 2. 基本语法:Java的基本语法包括变量、数据类型、运算符、控制流程(条件语句、循环语句)、数组等。 3. 面向对象编程:Java是一种面向对象的编程语言,具有封装、继承、多态等特性。学习面向对象编程的概念和原则是Java程序设计基础。 4. 类和对象:Java中的类是对象的模板,对象是类的实例。学习如何定义类、创建对象、访问对象的属性和方法等是Java程序设计基础。 5. 方法和函数:Java中的方法用于封装可重用的代码块,函数是方法的一种殊形式。学习如何定义和调用方法、传参数等是Java程序设计基础。 6. 异常处理:Java提供了异常处理机制,用于处理程序运行过程中可能出现的异常情况。学习如何捕获和处理异常是Java程序设计基础。 7. 输入输出:Java提供了丰富的输入输出类和方法,用于处理文件、网络等输入输出操作。学习如何读写文件、网络编程等是Java程序设计基础。 8. 集合框架:Java提供了一套集合框架,用于存储和操作数据集合。学习如何使用集合框架进行数据操作是Java程序设计基础。 9. 多线程编程:Java支持多线程编程,可以同时执行多个任务。学习如何创建和管理线程、线程同步等是Java程序设计基础。 10. GUI编程:Java提供了Swing和JavaFX等图形用户界面库,用于开发图形界面应用程序。学习如何使用GUI库进行界面设计和事件处理是Java程序设计基础。 以上是Java程序设计基础的一些内容,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值