**
1. 数组的声明及初始化
**
一般数组的声明就两种
int[] arr;
int arr[];
下面是直接将声明和初始化一并实现
char[] arr = new char[10];
char[] arr = new char[] {};
char[] arr = {};
char[][] arr = new char[2][]
看User类的数组的两种赋值方法
User[] user = new User[3];
user[0] = new User("jack",15);
user[1] = new User("tom",19);
user[2] = new User("alice",65);
User[] user = {
new User("Jack",18),
new User("Mike",91),
new User("Tom",45)
};
看一下User类的内容
class User{
String name;
int age;
public User(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
**
2. 数组遍历
**
要求用至少4种方式遍历数组[23,45,12,8,78,100].
1.
int[] numbers = {23,45,12,8,78,100};
for(int i=0;i<numbers.length;i++)
{
System.out.println(numbers[i]);
}
2.
int[] numbers = {23,45,12,8,78,100};
for(int i : numbers)
{
System.out.println(i);
}
3.字符串形式输出
int[] numbers = {23,45,12,8,78,100};
System.out.println(java.util.Arrays.toString(numbers));
4.迭代器
迭代器比较特殊,在最前面必须加上这些包
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
*****************************************************
List<Object> numbers = new ArrayList<>();
numbers.add(23);
numbers.add(45);
numbers.add(12);
numbers.add("8");
numbers.add(78);
numbers.add(100);
Iterator iterator = numbers.iterator();
while(iterator.hasNext()){
System.out.print(iterator.next() +" ");
}
int[] numbers = {23,45,12,8,78,100};
System.out.println(java.util.Arrays.toString(numbers));
这里也可以改为,但是要导入包import java.util.Arrays;
int[] numbers = {23,45,12,8,78,100};
System.out.println(Arrays.toString(numbers));
如果是多维数组(即数组的数组),则需要调用Arrays.deepToString方法
3. 数组排序
要求用3种方式对数组[23,45,12,8,78,100]进行排序
1.用包排序
import java.util.Arrays;
int[] numbers = {23,45,12,8,78,100};
Arrays.sort(numbers);
for(int i:numbers)
{
System.out.println(i);
}
2.选择排序
int[] numbers = {23,45,12,8,78,100};
int temp = 0;
for(int i = 0;i<numbers.length;i++)
{
for(int j=i+1;j<numbers.length;j++)
{
if(numbers[i]>numbers[j])
{
temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
for(int i:numbers)
{
System.out.println(i);
}
3.
int[] numbers = {23,45,12,8,78,100};
int temp;
for(int i = 0; i<numbers.length; i++)
{
for (int j = numbers.length-1; j > i; j--)
{
if (numbers[j] < numbers[j - 1])
{ //从后往前进行比较,小数往前,一轮之后最小数就在最前面了
temp = numbers[j - 1];
numbers[j - 1] = numbers[j];
numbers[j] = temp;
}
}
}
//使用foreach循环输出
for(int x : numbers)
{
System.out.println(x);
}
//使用字符串表达形式输出,输出形式更为直观
System.out.println(Arrays.toString(numbers));
4.冒泡排序
int[] numbers = {23,45,12,8,78,100};
int temp;
for(int i=0;i<numbers.length;i++)
{
for(int j = 0;j<numbers.length-i-1;j++)
{
if(numbers[j]>numbers[j+1])
{
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
for(int i:numbers)
{
System.out.println(i);
}