数组,排序,查找
- 数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型。
- 数组可以通过下标来访问元素
- 下标是从0开始编号的比如第一个元素就是hens[0]
- 数组定义,数据类型 数组名[] = new 数据类型[大小];
- int a[] = new int[5];
- 动态初始化
-
import java.util.Scanner; public class Array02{public static void main(String[] args) {// double a[] = new double[5];// System.out.println(a[0]);// System.out.println(a[2]);// System.out.println(a[3]);//循环输入5个成绩,保存到double数组,并输出。Scanner scanner = new Scanner(System.in);//动态初始化。double scores[]; //声明数组,这时scores是nullscores = new double[5]; //分配内存空间,可以存放数据//静态初始化//int a[] = {1,2,3,4,5,6,7};//double scores[] = new double[5];for(int i = 0;i < scores.length;i++){System.out.println("请输入第"+(i+1)+"个成绩。");double score = scanner.nextDouble();scores[i] = score;//scores[i] = scanner.nextDouble();}for(int j=0;j<5;j++){System.out.println("第"+(j+1)+"个成绩是"+scores[j]);}} }
-
-
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
- 数组创建后,如果没有赋值,有默认值。int 0,short 0,byte 0,long 0,float 0.0,double 0.0,char \\u0000,boolean false,String null。
- 数组属于引用类型,数组型数据是对象(object)。
- 数组赋值机制
-
public class Array06{public static void main(String[] args) {//基本数据类型赋值,赋值方式为值拷贝。//n2的变化,不会影响到n1的值。int n1 = 90;int n2 = n1;n2 = 80;System.out.println("n1="+n1);//90System.out.println("n2="+n2);//80//数组在默认情况下是引用传递,赋的值是地址,赋值方式为引用赋值,//是一个地址,int arr1[] = {1,2,3};int arr2[] = arr1;System.out.println("arr1的第一个元素:"+arr1[0]);//1arr2[0] = 10;//System.out.println("arr1的第一个元素:"+arr1[0]);//10,把arr1数组的值给改变了。} }
-
- jvm的内存分为三部分
- 栈
- 堆
- 方法区