【图文解析 】Java中的数组、算法、二重循环

跳转语句:
  改变程序执行流程

break:
  结束循环。
用在: switch,循环语句中。
continue:
  结束本次循环 进行下一次循环。
  用于:循环中。


return:
  作用:用于结束方法。
  用于:方法中。

--------------------------------------------
二重循环

for(){//行

  for(){//列
   }
}

-------------------------------------------
循环标签:

  • 标签名:

for(){
   
   for(){
        break 标签名;  [continue 标签名;]
   }
}
---------------数组-----------------------------

数组:
  容器,相同数据类型的一组数据。,

初始化数组:

  •   动态初始化;

    int [] arr;
    //动态初始化:我们指定  大小,系统分配 初始值
    arr = new int[3];

  •  静态初始化


栈:
 1.存 基本数据类型和 引用;
   小;
   频繁创建和销毁的数据结构;

堆:
 2.存 对象的
   大;


基本 for  和 增强 for区别:

  • 增强 for只能遍历 所有数组元素;

   使用 范围遍历 ,用 普通for;

  • 增强for只能顺序遍历;

   逆序遍历 用普通 for;
 增强for不能改变元素的数据(值);
   改变元素的值用普通for.

import java.util.Scanner;

public class DemoArray2 {

	public static void main(String[] args) {
		Scanner superman = new Scanner(System.in);
//		System.out.println("输入数据;");
		int [] arr = {11,22,33};
	/*	for(int i = 0; i < 3; i++) {
			arr[i] = superman.nextInt();
		}*/
		
	
		//基本for
		/*for(int i = 0; i < arr.length; i++) {
			arr[i] = arr[i] + 1;
		}*/
	/*	for(int i = arr.length-1; i >= 0; i--) {
			
			System.out.println(arr[i]);
		}*/
		System.out.println("-------------------------------");
		//增强for
		for(int n : arr) {
			n = n +1;
		}
		for(int n:arr) {
			System.out.println(n);
		}

	}

}

------------------------------
算法:
 最大数
 排序:

  •    冒泡:

       相邻的两个数比较

/** 示例:冒泡*/
public class DemoArray4 {

	public static void main(String[] args) {
		int [] arr = {454,12,77,90,4};
		int temp;
		for(int i = 0; i < arr.length-1; i++) {//4轮
			for(int j = 0; j < arr.length-1-i ; j++) {//次数 4 ,3 ,2 1
				if(arr[j] > arr[j+1]) {//相邻
					temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}	
		}
		
		for(int n:arr) {
			System.out.println(n);
		}

	}

}

 

  •    选择

       某个位置和 位置后的所有元素比较

/**示例:选择排序*/
public class DemoArray5 {

	public static void main(String[] args) {
		int [] arr = {333,12,8,67,66};
		int temp;
		//
		for(int i = 0; i < arr.length-1;i++) {//位置
	            for(int j = i + 1; j < arr.length; j++) {//后边的元素
				if(arr[i] > arr[j]) {
					temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;
				}
			}
		}
		for(int a : arr) {
			System.out.println(a);
		}
		
	}

}

 

  •    插入排序

       某个 位置 与 此位置前边 的所有元素比较,
       找到 第一个 比此位置元素 大的位置,
       把这个位置的元素 插入到 这个大的元素的位置。

/**示例:插入排序*/
public class DemoArray6 {

	public static void main(String[] args) {
		int [] arr = {23,1,56,678,55};
		int temp;
		for(int i = 1; i < arr.length; i++) {//位置
			for(int j = 0; j < i; j++) {//前边的所有元素
				if(arr[i] < arr[j]) {
					temp = arr[i];//记录数字
					for(int k = i; k > j ; k--) {//循环向后覆盖
						arr[k] = arr[k-1];
					}
					arr[j] = temp;//用这个位置元素 覆盖 比他大的元素 
				}
			}
		}
		for(int a : arr) {
			System.out.println(a);
		}
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值