一.3种循环结构的更佳适用情况: 1)while:”当…” 2)do…while:”直到…” 要素1与要素3相同时首选do…while 3)for:固定次数循环 二.嵌套循环: 1>循环中套循环(一般多行多列,外层控制行,内层控制列) 2>执行规则:外层循环走一次,内层循环走完. 3>建议:嵌套的层数越少越好 (若业务必须要通过三层以上的循环才能解决,说明设计有问题) 4>break只能跳出一层循环
public class Multiplication { public static void main(String[] args) { for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(i+"*"+j+"="+i*j+"\t"); } System.out.println(); } } }三.程序=算法+数据结果 1>算法:解决问题的流程 2>数据结构:将数据按照某种特定的结构来保存
四.数组: 1>相同数据类型元素的集合 2>数组是一种数据类型(引用类型) 3>数组的定义: int[] arr=new int[10]; 4>数组的初始化: int[] arr=new int[4];//0,0,0,0 int[] arr={1,4,7,9}; int[] arr=new int[1,4,7,9]//1,4,7,9
int[] arr; arr={1,4,7,9};// 编译错误 arr=new int{1,4,7,9}//正确 5>数组的访问: 5.1>通过(数组名.length)来获取数组的长度 5.2>通过下标/索引来访问数组中的元素 (下标从0开始,最大为length-1 arr[0]=1; arr[arr.length-1]=11;) 6>数组的遍历. 7>数组的复制. 7.1>System.arraycopy(a,1,a1,0,4); 7.2>int[] a1=Arrays.copyOf(a,5); a=Arrays.copyOf(a,a.length+1);//扩容 /** * 找出最小值并将其插到数组第一个位置 */ public class MinOfArray { public static void main(String[] args) { int[] arr=new int[10]; int min=100; for(int i=0;i<arr.length;i++){ arr[i]=(int)(Math.random()*100); if(min>arr[i]) min=arr[i]; System.out.print(arr[i]+" "); } System.out.println("\nmin="+min); arr=Arrays.copyOf(arr,arr.length+1); System.arraycopy(arr, 0, arr, 1, arr.length-1); arr[0]=min; for(int i=0;i<arr.length;i++) System.out.print(arr[i]+" "); } } 8>数组的排序. 8.1>Arrays.sort(arr);对arr进行升序排列 8.2>冒泡排序法 public static void main(String[] args) { //冒泡排序 int[] a=new int[10]; for(int i=0;i<a.length;i++){ a[i]=(int)(Math.random()*100); System.out.print(a[i]+" "); } System.out.println(); for(int i=0;i<a.length-1;i++){ for(int j=0;j<a.length-1-i;j++){ if(a[j]>a[j+1]){ int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } }