java之数据类型与数组


JAVA的数据类型:boolean; byte int long short;char;float double;枚举类型;类(class);接口(interface);数组

java中的数组:

    首先需要说明的是,数组在java中是一种引用类型,也就是说,不管你数组名怎样,只要其引用相同,那就是同一个数组。

    数组的声明:如下

  1. int[] a或者int a[],然后在使用时需要分配内存空间 a=new int[10]
  2. 声明的时候就分配空间int a[]=new int[10]
  3. 也可以声明的时候就为数组赋值int a[]={4,3,6,7,2,8,9,1}       
    数组的赋值:两个类型相同的数组才能赋值,这与内存为变量分配的存储空间有关(个人猜想)。另外,数组的赋值是引用的赋值,输出一个数组名,实际上是输出它的引用,但是char类型的数组除外,char类型的数组,你将输出数组当中的内容。如果要输出其引用,则要做字符串的并置运算,如syso(" "+a)。

    数组元素的赋值:

  1. 循环赋值,跟c++相同
  2. arraycopy方法   
  3. 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);//该方法返回的是所查找到的元素的索引,否则返回一个负数
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值