栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day

1.数据结构

计算机存储和阻止数据的一种方式,根据存储方式的不同,操作特性也就不同,合理选择数据结构能够有效的提升存储效率和运行效率

数据操作:增删改查;

常见数据结构:数组,链表,散列表,红黑树,二叉树,B+数等等...

2.数组 2.1特性

数组:是引用数据类型

是一种非常常见的数据结构

 
2.3声明 
 
package day_06;

public class Text_01 {

	public static void main(String[] arg){
		//静态声明
		int[] arr_1 = { 1,3,4,5,6,7,8,'b'};
		//动态声明
		int[] arr_2 = new int [10];
	}
}
2.3使用 2.3.1查询
		//查询:数组[索引/下标]
		System.out.println(arr_1[0]);
		//length属性是数组的长度
		System.out.println(arr_1.length);
		//最后一个元素  下标 = 长度 - 1;
		System.out.println(arr_1[arr_1.length - 1]);
2.3.2更改
		//更改:数组[下标] = 值;
		arr_1[0] = 99;
		System.out.println(arr_1[0]);
2.3.3遍历
		//遍历就是把数据都拿出来
        //一直输出直到小于数组长度
		for(int i = 0;i
2.3.4常见错误
        //下标越界异常
        //java.lang.ArraylndxOutOfBoundsException: 9
        System.out.println(arr_1[arr_1.length + 1]);

			int[] arr_3 = null;
			//java.lang.NullPointerException
			//        at day_06.Text_01.main(Text_01.java:24)
			//因为数组是空null,所以根本没有数组,所以不能使用
			System.out.println(arr_3[0]);

			int[] arr_4={};
			//下标越界
			System.out.println(arr_4[0]);

 2.4另一种声明方式
package day_06;

public class Text02 {

	public static void main(String[] args) {
		int i =1;
		//传递变量
		m2(i);
		//传递字面量
		m2(12);
		
		int[]arr ={};
		//传递变量
		m1(arr);
		//传递字面量
		m1(new int[]{3,4,6,7});

	}
	public static void m2(int i){
		
	}
	public static void m1(int[] arr){
		
	}
}
2.5传值和传址(传引用)
package day_06;

public class Text03 {
	
	public static void main(String[] args) {
		int i =1;
		m1(i);
		//输出结果
		//2
		//1
		System.out.println(i);
		int[] arr = {1,5,6};
		m2(arr);
		//输出结果
		//100
		//100
		System.out.println(arr[0]);
	}
	public static void m1(int i){
		i ++;
		System.out.println(i);
	}
	public static void m2(int [] arr){
		arr[0] = 100;
		System.out.println(arr[0]);
	}
}
2.6数组复制
		//将src数组中的第三四五号元素,赋值给dest数组中第四五六号元素
		int[] src = {2,3,4,5,6,7,6,8,9};
		int[] dest = {11,12,13,45,79,46,78,96};
		//第一个参数是源数组,2是源数组起始位置(包含),3是目标数组,4是目标数组起始位置(包含),5替换个数
		System.arraycopy(src,2,dest,3,3);
		//遍历查看是否完成
		for (int d =0;d < dest.length;d++){
			System.out.println(dest[d]);
			//增强for循环 foreach
			//for(数据类型 变量:数组 ){} 类型一般是数组中元素的类型,把数组中每个元素拿出来给了这个变量
			for(int element:dest){
				System.out.println(element);
			}
3.二维数组 3.1声明
package day_06;

public class Text04 {

	public static void main(String[] args) {
		//静态声明
		int[][] arr1 ={
				{1,2,3},
				{4,5,6},
				{7,8,9,10,11,12},
		};
		//动态声明
		//new int[3][4]的意思是定义了一个二维数组,数组里面有三个一维数组,每个一维数组有四个元素
		int [][] arr2 = new int [3][4];
	}

}
		//有九个一维数组,每个一维数组中有四个元素
		int[][] arr3 = new int[9][4];
		//有九个一维数组,并且都是空的
		int[][] arr4 = new int[9][];
		//单独初始化每个一维数组中的元素个数
		for (int i = 0;i 

输出结果:

3.2使用  3.2.1查询
		//获取第一个元素
		int[] arr1_0 =arr1[0];
		int arr1_00 =arr1_0[0];
		System.out.println(arr1_00);
		//[第几个一维数组][第几个元素]
		System.out.println(arr1[0][0]);
3.2.2更改
		//更改
		arr1[0][0] = 100;
3.2.3遍历
		//遍历
		arr2[1][2] =1;
		for(int i = 0;i < arr2.length;i++){
			for(int j = 0;j
3.3存储方式

4.排序 4.1交互变量的值
package day_06;

public class Text05 {

	public static void main(String[] args) {
		int x =2;
		int y =3;
		//中间变量(开发)
		int temp = x;
		x = y;
		y = temp;
		
		//位移运算交换(面试)
		//^"转换为二进制,每位进行异或,相同为0,把不同为1
		//八进制为例
		//2  0000 0010
		//3  0000 0011
		x = x ^ y;
		//x = 0000 0001
		y = x ^ y;
		// y = 00000010
		x = x ^ y;
		// x = 0000 0011
		//两次异或等于他本身
		
		//加减运算
		x = x + y;
		//x = 5
		y = x - y;
		// y = 2
		x = x - y;
		//x = 3
		
		System.out.println("x为:"+x+"  y为:"+y);
	}

}
 4.2冒泡排序
package day_06;

public class Text06 {
	
	public static void main(String[] args) {
		int[] arr = {5,4,7,9,3,6};
		bubbleSort(arr);
		for(int i : arr){
			System.out.println(i); 
		}

	}
	public static void bubbleSort(int[] arr){
		//一直循环直到排序完成为止
		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];
					arr[j] = arr[j+1];
					arr[j + 1] =temp;
				}
			}
		}
	}

}
4.3选择排序
package day_06;

public class Text07 {
	
	public static void main(String[] args) {
		int[] arr = {5,4,7,9,3,6};
		selectSort(arr);
		for(int i : arr){
			System.out.println(i); 
		}
	}
	public static void selectSort(int[] arr){
		for(int i = 0;i  arr[j]){
					min = j;
				}
			}
			if(min != i){
				int temp = arr[i];
				arr[i] = arr[min];
				arr[min] = temp;
			}
		}
	}

}
4.4API排序
package day_06;
import java.util.Arrays;

public class Text08 {

	public static void main(String[] args) {
		int[] arr = {4,8,6,9,7,2,3};
		//直接调用
		Arrays.sort(arr);
		for(int i :arr){
			System.out.println(i);
		}
	}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298459.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号