1.数组
①数组的定义
在Java中,定义数组有两种方法
- <pre name="code" class="java"> int[] n=new int[5];//定义了一个包含5个元素的整型变量
<pre name="code" class="java"> int[] n=new int[5];//定义了一个包含5个元素的整型变量
另一种方法是:
- int n[]=new int[5];//定义了一个包含5个元素的整型变量
int n[]=new int[5];//定义了一个包含5个元素的整型变量
一般人都会选择第二种方法,这种方式比较迎合C语言程序员的习惯。在这里,一定要注意在使用new关键字时,一定要指定数组的大小(数组的每一项叫做元素),这样的话,系统才能给数组分配内存。要不然的话系统怎么知道这个数组占多大内存,就好比给你买鞋却不知道穿多大码,你说还会给你买吗?在这里,一定要记住数组下标是从0开始的,并非从1。
- int n[]=new int[5];
- for(int i=0;i<5;i++)
- n[i]=i;
- for(int a=1;a<=5;a++)
- System.out.print(n[a]+" ");
int n[]=new int[5];
for(int i=0;i<5;i++)
n[i]=i;
for(int a=1;a<=5;a++)
System.out.print(n[a]+" ");
这个会报这样的错,也许你看了也是一头雾水,检查来,检查去也找不到原因,这就是因为数组越界,这样一定要注意。
数组长度
如果,你想获取数组的长度,该怎么获取呢?其实这个也很简单,比如你想获取上面那整型数组 n 的长度的话,可以这样:
- int b=n.length;
int b=n.length;
就这么简单,整型变量b 就简单的获取了数组n的长度。
数组排序
想要对数组进行排序,可以使用Arrays.sort(数组名); 来进行排序。将其值转化为ASCII码,再按照升序排列。
- <pre name="code" class="java">String names[]={"Lauren","Audrina","Heidi","Whitney","Stephanie","Holly","Spencer","Lisa","Broby","Jason"};
- System.out.println("The Original Order:");
- for(int i=0;i<names.length;i++)
- System.out.print(i+":"+names[i]+" ");
- System.out.println("\nThe New Order:");
- Arrays.sort(names);//升序排列
- for(int i=0;i<names.length;i++)
- System.out.print(i+":"+names[i]+" ");
<pre name="code" class="java">String names[]={"Lauren","Audrina","Heidi","Whitney","Stephanie","Holly","Spencer","Lisa","Broby","Jason"};
System.out.println("The Original Order:");
for(int i=0;i<names.length;i++)
System.out.print(i+":"+names[i]+" ");
System.out.println("\nThe New Order:");
Arrays.sort(names);//升序排列
for(int i=0;i<names.length;i++)
System.out.print(i+":"+names[i]+" ");
他的运行结果如下:
现在我们将Audrina的首字母小写,我们再看看结果:
我们可以看到Audrina现在排在了最后,我们知道,ASCII码中大写字母小于小写字母。
是是1在完都是全