1.Scanner是JDK新增的一个类,可以使用该类创建一个对象。
但是这个方法在执行会发生堵塞,程序等待用户在命令行输入数据并按Enter键 确定。
2.今天范了2次错误,那就是在“”与“”之间的变量忘加后面那个加号;如果需 要输入的字符串的长度较长,可以将字符串分解成几部分,然后使用并置符“ +” 将它们首尾相接,例如:
System.out.println("你好,"+
"很高兴认识你");
3.数组元素声明是必须有的,即[]是必须有的,如果没有会提示类型不兼容,注 意new后面的写的是声明的类型,而不是变量名。
4. java中不允许在声明变量中的方括号中指定数组元素的个数。即:
int a[12];将至语法错误
5.二维数组和一维数组一样,在声明之后必须用new 运算来分配内存空间,
java采用“数组的数组”声明二维数组,即一个二维数组是由若干个一维数构 成的。
创建一个二维数组a,a由3个一维数组a[0],a[1],a[2]构成,但它们的长度还 没有定即这些一维数组还没有分配内存空间,所以二维数组不能使用,必须创 建 它的一维数组,
a[0]=new int[6];
a[1]=new int[3];
a[2]=new int[4];
6.java中允许使用int型变量 的值指定数组元素的个数。例如:
int size=30;
double number[]=new double[size];
7.运用数组防止数组越界,发生ArraryIndexOutOfBoundsException
8.对于length的使用,对于一维数组,“数组名字.length”的值就是数组中元素 的个数;对于二维数组,“对于二维数组,”它表示含有一维数组元素的个数。
9.创建数组后,系统会给每个数组元素一个默认的值。
在声明数组时同可以给数组元素一个初始值,例如:
float boy[]={21.3f,23.43f,3.9f}
上述语句相当于:
float boy[]=new float[3];
boy[0]= 21.3f,boy[]= 23.43f,boy[]=3.9f
也可以直接用若干个一维数组初始化一个二维0数组,这些一维数组的长度不 尽相同,例如: int a[][]={{2,3,4,3},{3,4},{4},{4,4,2,3,2,3}, {5,4,6,5}}
10.对于System.out.println("a==b的结果是:"+a==b),a==b必须用()括起来, 否则它将a看做字符串,而仍然是int型,两者不一样,会报错;要是不用+,它 会认为引号后面就已结束。
11.对于char型数组a,System.out.println(a);,不会输出工的引用,而是输出a 的所有元素。如果想输出char型数组的引用,必须让数组a和字符串做并置运算 。例如:System.out.println(""+c);
12.JDK1.5之后提供的一个简单的输出数组元素的值的方法。让Arrays类调用:
public static String toString(int[] a)
且须要导入java.util.Arrays
而且Arrays.toString(a);必须在System.out.println(*)中输出,否则不显 示。
13.数组的复制
1)System.arraycopy(源数组,起始位,接收的数组,起始位);
但是这个方法有个缺点,就是必须创建接收的数组。
2)int[] a={200,300,400};
int[] b=Arrays.copyOf(a,5)
把指定数组a从索引0开始的newLength个元素复制到一个新数组中,并返回 这个新数组,且新数组的长度为newLength。如果newLengtn的默认值大于 original的长度,copyOf方法返回的新数组的第newLength索引后的元素取默 认值。
3)另外,还有一个方法,可以把数组中部分元素的值复制到另一个数组中,
b= Arrays.copyOfRange(a,int from,int to);
将a的数组从索引(注意:即下角标)from到to-1的元素复制到一个新数组中 ,并返回这个新数组的长度为to-from。
14.排序与使用二分法查找
Array类调用方法:
public static void sort(double a[])
public static void sort(double a[],int start,int end)
Array类 调用方法(二分法):
public static int binarySearch(double[] a,double number),注意:其中数组 a必须是一个事先已 排序的数组。如果该元素number和数组a中某个元素的值相同,则反回该元素的索引,否则返回一个负数。
|
|