目录
4.1:Arrays.toString(数组名),打印数组的内容
4.3:Arrays.fill(数组名) 对数组内容进行填充
6: 利用二维数组和javabean以及一维数组打印表格数据
1:数组的声明
tpye[] arr_name
type arr_name[]
数组是对象,数组中的元素是对象的属性
对象的属性没有初始化,系统会默认初始化
2:数组的初始化
int[] s=null;//声明数组
s=new int[10];//给数组分配空间
for(int i=0;i<10;i++) {
s[i]=i*2+1;//给数组元素赋值
System.out.println(s[i]);
}
class Man {
private int age;
private int id;
Man(int age,int id){
super();
this.age=age;
this.id=id;
}
}
public class shuzu {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Man[] mans;//声明应用类型数组
mans=new Man[10];//给引用类型数组开辟空间
Man m1=new Man(1,11);
Man m2=new Man(2,22);
mans[0]=m1;//给引用类型数组赋值
mans[1]=m2;
for(int i=0;i<10;i++) {
System.out.println(mans[i]);
}
}
}
null是因为
●静态初始化:创建数组的时候直接为其分配空间并赋值
●动态初始化:数组的创建以及开辟空间和赋值是分开的
●默认初始化:由于数组是对象,他的元素就是对象的属性,每个元素就会按照对象同样的方式进行隐式初始化
2:数组的遍历
foreach增强for循环
public class Array {
private int id;
private String name;
Array(int id,String name){
this.id=id;
this.name=name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Array{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
public static void main(String[] args) {
Array[] arr=new Array[4];
Array a1=new Array(10,"老卢");
arr[0]=new Array(11,"老王");
arr[1]=a1;
for(int i=0;i<arr.length;i++){
Array m=arr[i];
System.out.println(m);
}
//增强for循环
for(Array a:arr){
System.out.println(a);
}
}
}
3:arraycopy()
源码:public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length);
src:源头数组
srcPos:从源头数组第几个索引开始复制
dest:目标数组
destPos:复制到目标数组的第几个索引
length:复制的长度
看下面代码
package com;
public class TestArrayCopy {
public static void main(String[] args) {
String[] arr={"高","等","代数","我操!!!"};
String[] arr2=new String[6];
System.arraycopy(arr,0,arr2,0,arr.length);
for(String i:arr2){
System.out.println(i);
}
}
}
4:import java.util.Arrays类
java.util.Arrays类包含了常规的数组打印,排序,查找,填充等操作
4.1:Arrays.toString(数组名),打印数组的内容
toString()是静态方法,需要类名来调用
import java.util.Arrays;
public class TestToString {
public static void main(String[] args) {
String[] arr={"我","hello"};
System.out.println(Arrays.toString(arr));
}
}
4.2:Arrays.sort(数组名),对数组进行排序
import java.util.Arrays;
public class TestToString {
public static void main(String[] args) {
String[] arr={"我","hello"};
int[] arr2=
{1,2,5,2,2,8,6,3,2,0};
//打印数组
System.out.println(Arrays.toString(arr));
//对数组进行排序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
}
}
4.3:Arrays.fill(数组名) 对数组内容进行填充
import java.util.Arrays;
public class TestToString {
public static void main(String[] args) {
String[] arr={"我","hello"};
int[] arr2= {1,2,5,2,2,8,6,3,2,0};
String[] arr3={"I","am","eating"};//[0-2]
//打印数组
System.out.println(Arrays.toString(arr));
//对数组进行排序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
//对数组内容进行填充
Arrays.fill(arr3,0,2,"O");//[0,1]
//和substrin()一样,包头不包尾
System.out.println(Arrays.toString(arr3));
}
}
5:二维数组的声明与初始化和内存图分析
二维数组里面的元素是对象,也就是说二维数组里面的元素是一维数组
public class TestTwoArray {
public static void main(String[] args) {
int[][] arr=new int[4][];//三行的二维数组
//二维数组的声明,从低维到高维声明
arr[0]=new int[3];//第一个元素指向的是一个对象,一个以为数组,里面有3个元素
arr[1]=new int[2];
arr[2]=new int[3];
arr[3]=new int[1];
//二维数组的动态初始化
arr[0]=new int[]{1,2,4};
arr[1]=new int[]{5,6};
}
}
6: 利用二维数组和javabean以及一维数组打印表格数据
public class Form {
//javaBean形式
private int id;
private String name;
private String form;
private float price;
private double discount;
Form(int id, String name, String form, float price, double discount) {
this.id = id;
this.name = name;
this.form = form;
this.price = price;
this.discount = discount;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getForm() {
return form;
}
public void setForm(String form) {
this.form = form;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public double getDiscount() {
return discount;
}
public void setDiscount(float discount) {
this.discount = discount;
}
@Override
public String toString() {
return "[" +
"id=" + id +
", name='" + name + '\'' +
", form='" + form + '\'' +
", price=" + price +
", discount=" + discount +
']';
}
public static void main(String[] args) {
Form[] f = new Form[3];
f = new Form[]{new Form(1, "大一", "战斗性", 100, 1.9),
new Form(
2, "大二", "侵略性", 200, 0.5),
new Form(3, "大三", "疯癫型",
400, 0.3)};
for (Form i : f) {
System.out.println(i);
}
//Java的方法定义在main函数外面
System.out.println(price(f));
}
public static int price(Form[] t) {
int count = 0;
int count1=0;
for (int i = 0; i < t.length; i++) {
if (t[i].price > 100) {
count++;
}
// t[i].id>100?count++:count1++;
}
return count;
}
}