while循环语句
基本格式:while(判断条件语句){循环体语句}
扩展格式:while(判断条件语句){循环体语句;控制条件语句}
do {
循环体语句
} while(判断条件语句)
break 和continue区别:
continue使用在循环结构中,用于结束本次循环继续下次循环
break 可以使用在switch语句中和循环结构中,用于跳出当前的结构。
数组:
- 数组是存储多个变量的容器,存储同一种数据类型,既可以存储基本数据类型,也可以存储引用数据类型
- 定义格式:数据类型 [ ] 数组名
数据类型 数组名 [ ]
必须先初始化,后使用。
- 初始化:数组中的数组元素进行分配内存空间,并且为每一个数组元素进行赋值
- 初始化分两种:动态初始化:初始化的时候,只指定数组的长度,由系统为数组分配初始值
- 静态初始化:初始化时,指定了每一一个数组元素的初始化值,由系统来决定数组的长度
Java中的内存分配:
-
栈
存储的局部变量,局部变量定义在方法中的变量,使用完毕后就会被释放,立即回收
-
堆
存储的是new出来的对象:实体
每一个对象都是有地址值的
每一个对象的数据都是有默认值的
-
byte short long 0
-
float double 0.0
-
char ‘\u0000’
-
boolean false
-
引用类型 null
使用完毕后,会在垃圾回收起空闲的时候被回收。
方法区
本地方法区(和系统有关系)
寄存器(给CPU使用的)
异常:
-
空指针异常
try{ arr = null; System.out.println(arr[1]);
}catch(NullPointerException e){ System.out.println("发生了空指针异常"); }catch(Exception e){ e.printStackTrace(); }
-
数组越界异常
-
try { int [] arr1={1,3,5}; System.out.println(arr1[3]); System.out.println(arr1[0]); }catch (ArrayIndexOutOfBoundsException e) { System.out.println("发生了数组越界异常"); }catch(Exception e){ e.printStackTrace(); } System.out.println("57684");
冒泡排序:
-
package cn.llxy.day03; /* - 冒泡排序: - */ public class SortedDemo { public static void main(String[] args) { int[] arr={1,2,4,5,8,6,3,9}; bubbleSortde(arr); } //冒泡排序 public static void bubbleSortde(int [] arr){ boolean isSorted; for(int i =1;i<arr.length;i++){ isSorted = true; 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; isSorted= false; //一旦需要交换数组元素,说明剩下的元素没有排好序 } } /*for (int j = 0; j < arr.length; j++) { System.out.println(arr[j] + "-----"); }*/ System.out.println("排序的趟数:"+i); if(isSorted){ break;//如果没有发生交换,说明剩下的元素已经排序完毕 }
System.out.println(“排序后数组:”);
for(int i =0;i<arr.length;i++){
System.out.println(arr[i]);
}} }