javaBasic----Java基础篇(一)

本文深入探讨了Java中的数组概念,包括数组的定义、初始化、复制、扩容和缩容的方法,以及如何使用冒泡排序对数组进行排序。通过实例代码,详细解释了数组操作的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:通过对Java的了解和认识,针对于Java基础一块做些简单的总结;Java是一种面向对象的变成语言(强类型语言)。

一:数组:引用数据类型,数组一旦定义,不可更改(空间大小,类型)。
(注:除了八中基本数据类型之外的,都叫做引用数据类型)。
1、数组的定义:

(a):int[] arr=new int[10];
  在内存中开辟长度为10的int类型的数组。
  这种定义方式,没有默认值,需要在定义的同时初始化。
  注意:不要在new关键字中括号里写所谓的数组长度。
(b):int[] arr1=new int []{1,23,5};    //这种定义方式,没有默认值,需要在定义的同时初始化。
(c):int[] arr2={2,3,45};    //直接定义数组类型,向里面添加元素。

结合循环应用:

/**
 * 数组的方法
 * @author Administrator
 *随机产生长度为7的int类型不重复的数组(1-99)
 */
public class Demo01 {
	public static void main(String[] args) {
		//产生随机数方法
		Random rd=new Random();
		int[] arr=new int[7];
		//开关思想
		boolean[] b=new boolean[100];
		for(int i=0;i<arr.length;i++){
			while(true){
				int a=rd.nextInt(100)+1;
				if(b[a]==false){
					arr[i]=a;
					b[a]=true;
					break;
				}
			}
		}
		System.out.println(Arrays.toString(arr));
	}
}

2、数组的常用方法:
(a):数组的复制:System.arraycopy(src, srcPos, dest, destPos, length);
src:原数组
srcPos:源数组起始的位置
dest:目标数组
destPost:目标数组起始的位置
length:要复制的个数

(b)数组的缩容和扩容: Arrays.copyOf(original, newLength);
original:被改变的数组名
newLength:改变后的数组长度

数组复制、扩,缩容代码演示:

public class Demo02 {
	public static void main(String[] args) {
		//调用方法method2();
		Demo04.method2();
	}
	//数组的复制 将一个数组中的某几个元素,复制到另外一个数组中
	public static void methodl(){
		//将arr数组从第0为开始复制,复制3个元素到
		//arr1中,从arr1的1号位开始,最后输出arr1
		int[] arr=new int[]{10,20,30,40};
		int[] arr1=new int[4];
		System.arraycopy(arr, 0, arr1, 1, 3);
		System.out.println(Arrays.toString(arr1));
	}
	// 数组扩容和缩容
	public static void method2(){
		//将长度为3的arr数组,扩容到长度为6
		//将长度为6的arr数组,缩容到长度为4
		int[] arr=new int[]{1,2,3};
		/*
		 * 如果newlength的长度大于源数组的长度,则为扩容,多余的值为数组类型的默认值.
		 * 如果newlength的长度小于源数组的长度,则为缩容,截取源数组的长度
		 * 为newlength的元素个数(取值为源数组的前newlength位数)
		 * 
		 * 数组一旦定义则不可更改(空间大小,类型)
		 * 数组的扩容和缩容,实际上是在堆内存中重新建立一个新数组,即:"假的扩容和缩容"
		 */
		arr=Arrays.copyOf(arr, 6);//扩容
		System.out.println(Arrays.toString(arr));
		arr=Arrays.copyOf(arr, 4);//缩容
		System.out.println(Arrays.toString(arr));

数组冒泡排序法:
冒泡排序,上浮和下沉 升序排序。

注意:
1.根据数组的元素个数确定要排序几轮
2.每轮要进行几次数据交换

冒泡排序代码演示:

public class Demo03 {
		public static void main(String[] args) {
			//初始化长度为7的int类型的数组
			int[] arr=new int[]{6,1,2,7,61,3,13};
			//要排序几轮
			for(int i=0;i<=arr.length-1;i++){
			//每轮要排几次
				for(int j=0;j<arr.length-1-i;j++){
				//定义排序规则
					if(arr[j]>arr[j+1]){
						//数据位置交换
						int temp=arr[j+1];
						arr[j+1]=arr[j];
						arr[j]=temp;
					}
				}
			}
			//输出打印
			System.out.println(Arrays.toString(arr));
		 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值