JAVA的数据类型:boolean; byte int long short;char;float double;枚举类型;类(class);接口(interface);数组
java中的数组:
首先需要说明的是,数组在java中是一种引用类型,也就是说,不管你数组名怎样,只要其引用相同,那就是同一个数组。
数组的声明:如下
- int[] a或者int a[],然后在使用时需要分配内存空间 a=new int[10]
- 声明的时候就分配空间int a[]=new int[10]
- 也可以声明的时候就为数组赋值int a[]={4,3,6,7,2,8,9,1}
数组元素的赋值:
- 循环赋值,跟c++相同
- arraycopy方法
- copyOf和copyOfRange
数组的排序和二分查找:sort升序,binarySearch对有序的数组进行二分查找
import java.util.Arrays;
public class A {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//输出“你”在unicode表中的位置
char a='你';
System.out.println((int)a);
System.out.println((int)'你');
//获取一维数组的长度
char[] b=new char[10];
System.out.println(b.length);
//获取二维数组中一维数组的长度
char[][] c=new char[10][5];
int i,j;
int num=0,sum=0;
for(i=0;i<c.length;i++){
for(j=0;j<c[i].length;j++){
num=j;
}
//System.out.println(num+1);
sum+=(num+1);
}
System.out.println(sum);
int d[]={1,2,3,4,5};
int e[]={6,7,8,9,10};
System.out.println(d);//输出数组d的引用
char f[]={'a','b','c'};
System.out.println(f);//输出的将不是f的引用,而是字符类型数据
System.out.println(""+f);//并置运算,使char数组输出引用
//数组元素的赋值,使用d,e数组
int g[]=new int[5];
//方法一循环赋值
for(i=0;i<d.length;i++){
g[i]=d[i];
}
System.out.println(Arrays.toString(g));
//方法二使用arraycopy方法,该方法由System调用
System.arraycopy(e, 0, g, 0, e.length);
System.out.println(Arrays.toString(g));
//方法三使用copyOf和copyOfRange
int h[]=Arrays.copyOf(d, 5);
System.out.println(Arrays.toString(h));
int k[]=Arrays.copyOfRange(e, 0, 5);
System.out.println(Arrays.toString(k));//输出结果参考各方法参数的说明
//排序算法和二分查找
int m[]={5,3,7,2,6};
Arrays.sort(m);
System.out.println(Arrays.toString(m));
int x=Arrays.binarySearch(m, 7);
System.out.println(x);//该方法返回的是所查找到的元素的索引,否则返回一个负数
}
}