跳转语句:
改变程序执行流程
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);
}
}
}