? ? ? ?今天学习的循环比较复杂比较多,而且最后的练习题很有挑战性,希望我真的已经领悟到了其中的真谛和奥秒!
//连续输出五次hello world public class XunHuan { ? ? public static void main(String[] args) { ? ? ? ?for (int i = 0; i < 5; i++) { // ? ? ? ?观察i的变化当for里面是真时继续运行! ? ? ? ? ? ? System.out.println(i); ? ? ? ? ? ?System.out.println("hello world"); ? ? ? ?} ? ? ? ? //编写程序从1循环到180在每行的3的倍数上打印foo五的倍数打印biz七的倍数打印baz. // ? ? ? ?不用else if是当3个中有满足都条件都执行。 ? ? ? ? for (int a = 1; a <=180; a++) { ? ? ? ? ? ? String str = ""; ? ? ? ? ? ? str += a; ? ? ? ? ? ? if (a % 3 == 0) { ? ? ? ? ? ? ? ? str += "foo"; ? ? ? ? ? ? } ? ? ? ? ? ? if (a % 5 == 0) { ? ? ? ? ? ? ? ? str += "biz"; ? ? ? ? ? ? } ? ? ? ? ? ? if (a % 7 == 0) { ? ? ? ? ? ? ? ? str += "baz"; ? ? ? ? ? ? } ? ? ? ? ? ? System.out.println(str); ? ? ? ? }
? ? ? ? // ? ? ? 1-100所有奇数和。 ? ? ? ? int count = 0; ? ? ? ? for (int i = 1; i <= 100; i++) { ? ? ? ? ? ? if (i % 2 != 0) { //得到奇数 ? ? ? ? ? ? ? ? count += i;//求和 ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? System.out.println("总和为:"+count); ? ? ? ? // ? ? ? 1-100所有7倍数和以及个数。 ? ? ? ? int a1 = 0; ? ? ? ? int a2 = 0; ? ? ? ? for (int i = 1; i <= 100; i++) { ? ? ? ? ? ? if (i % 7 == 0) { //得到7的数 ? ? ? ? ? ? ? ? a1 += i;//求和 ? ? ? ? ? ? ? ? a2++; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? System.out.println("总和为:"+a1); ? ? ? ? System.out.println("个数:"+a2); //输出所有水仙花数 ? ? ? ? for (int i = 100; i <= 999; i++){ ? ? ? ? ? ? int m = i/100; ? ? ? ? ? ? int n = (i-m*100)/10; ? ? ? ? ? ? int k = i-m*100-n*10; // ? ? ? ? ? ?System.out.println(i); // ? ? ? ? ? ?System.out.println(m+""+n+""+k); ? ? ? ? ? ? int res = m*m*m + n*n*n + k*k*k; ? ? ? ? ? ? if (res==i){System.out.println(i);
? ? ? ? ? ? }
? ? ? ? } // ? ? ? ?循环输出1-100的数字,while ? ? ? ? int i =1; ? ? ? ? while (i<=100){ ? ? ? ? ? ? System.out.println(i); ? ? ? ? ? ? i++; ? ? ? ? } // ? ? ? do while ? ? ? ? int l = 1; ? ? ? ? do {System.out.println(l); ? ? ? ? l++; ? ? ? ? }while (l<=100);
// ? ? ? ?100内的偶数和 ? ? ? ? int res = 0; ? ? ? ? for (i=1;i<101;i++){if(i%2==0){res += i;}
? ? ? ? } ? ? ? ? System.out.println(res); ? ? ? ? int res0=0; ? ? ? ? int k1=1; ? ? ? ? while (k1<=100){if (k1%2==0) ? ? ? ? { res0+=k1;} ? ? ? ? ? ? k1++; ? ? ? ? } ? ? ? ? System.out.println(res0); // ? ? ? ?for(;;){}无限循环 ? while(true){}无限循环 //嵌套循环(尽量保证外层的小于内层的循环) ? ? ? ? for (int i2 = 0; i2<4 ;i2++){ ? ? ? ? ? ? System.out.println("大循环");for(int j=0; j<2; j++){ ? ? ? ? ? ? ? ? System.out.println("小循环");} ? ? ? ? } // ? ? ? ?同样逻辑不影响功能尽量使用下面的 ? ? ? ?for (int i3= 1;i3<900;i3++){System.out.println("小循环"); ? ? ? ? ? ?for (int j1=0;j1<20;j1++){System.out.println("小循环");} ? ? ? ?} ? ? ? ? for (int i4= 0;i4<20;i4++){System.out.println("小循环"); ? ? ? ? ? ? for (int j2=1;j2<900;j2++){System.out.println("小循环");}} // ? ? ? ?例题打印出99乘法表 ? ? ? ? for (int i0=1;i0<=9;i0++){ ? ? ? ? ? ? for (int j0=1;j0<=i0;j0++) { ? ? ? ? ? ? ? ? System.out.print(i0+"*"+j0+"=" +(i0*j0)+"");} ? ? ? ? ? ? System.out.println();} // ? ? ? ?输出1-100的质数(大于一的自然数并且只能被1和本身整除) ? ? ? ? for (int i5=1; i5<=100;i5++){ ? ? ? ? ? ? int k = 0; ? ? ? ? ? ? for (int o1=1; o1 <= i5; o1++){if (i5%o1==0){k++;}} ? ? ? ? if (k==2){System.out.println(i5);}} // ? ? ? ?break 语句 ? ? ? ? int p=9; ? ? ? ? switch (p){ ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? break; ? ? ? ? } // ? ? ? ?终止循环(终止当前所在循环) ? ? ? ? for (int g=9;g<9;g++) ? ? ? ? {if (g>6){break;}System.out.println(g);} ? ? ? ? for (int j3 = 0; j3< 3;j3++ ){for (int ?i3= 0; i3<9;i3++){if (i3<6){break;} ? ? ? ? System.out.println(i3);}} // ? ? ? ?continue 语句结束当前这次循环当前所在循环起作用,下面的代码不执行 ? ? ? ? for (int i8=0;i8<9;i8++){if (i8%2==0){continue;}System.out.println(i8);} //return 当前的结束整个方法结束 ? ? ? ? for (int g1=9;g1<9;g1++){if (g1==7){return;}System.out.println(g1);}
// ? ? ? ?break和return比较(区别) ? ? ? ? for (int i4= 0;i4<2;i4++){for (int i9=0;i9<2;i9++){if (i9==1){ // ? ? ? ? ? ?return结束方法 // ? ? ? ? ? ?return; // ? ? ? ? ? ?break结束当前 ? ? ? ? ? ? break; ? ? ? ? }}} // ? ? ? ?数组type var[] ? type[] var ? ? ? ? int w=0; ? ? ? ? int q=1; ? ? ? ? int e=2; // ?想把数据放到一个变量里,使用数组就存放多国人数组的集合, // ? ? ? ?存放多个int类型的数据 ? ? ? ? int[] ii; // ? ? ? ?动态初始化(能放4个int数据) ? ? ? ? int [] qq=new int[4]; // ? ? ? ?静态初始化 ? ? ? ? int[] aa0=new int[]{1,2,3,4}; // ? ? ? ?数组元素引用(数组类的元素都有下标) ? ? ? ? String[] strs = new String[]{"a","b","c"}; ? ? ? ? System.out.println(strs[1]); // ? ? ? ?长度 ? ? ? ? System.out.println(strs.length); // ? ? ? ?动态初始化的素组的有默认值,数字0,对象的是null ? ? ? ? int[] ii1=new int[2]; ? ? ? ? System.out.println(ii1[1]); // ? ? ? ?赋值 ? ? ? ? int[] ii2=new int[4]; ? ? ? ? System.out.println(ii2[0]); ? ? ? ? ii2[0]=2; ? ? ? ? System.out.println(ii2[0]); // ? ? ? ?多维数组(一维中每个都是一个数组) ? ? ? ? int [][] ii3=new int[][]{ ? ? ? ? ? ? ? ? {1,2},{3,4} ? ? ? ? }; ? ? ? ? int [][] ii4=new int[2][3]; // ? ? ? ?不定义第二组 ? ? ? ? int [][] ii5=new int[2][]; // ? ? ? ?取值 ? ? ? ? System.out.println(ii3[1][0]); // ? ? ? ?特殊写法 ? ? ? ? int[]x,y[]; // ? ? ? ?获取数组中所有元素和 ? ? ? ? int[][]arr=new int[][]{{3,8,2},{2,7},{9,0,1,6}}; ? ? ? ? int len =arr.length; ? ? ? ? int res1 =0; ? ? ? ? for (int c = 0;c<len;c++){ ? ? ? ? ? ? int[]arr0=arr[c]; ? ? ? ? ? ? int llen= arr0.length; ? ? ? ? ? ? for (int v= 0; v< llen;v++){ ? ? ? ? ? ? ? ? res1+=arr0[v]; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? System.out.println(res1); // ? ? ? ?简便写法 // ? ? ? ?for (int c=0;c<arr.length;c++){ // ? ? ? ? ? ?for (int v = 0;v<arr[c].length;v++){ // ? ? ? ? ? ? ? ?res1+=arr[c][v]; // ? ? ? ? ? ?} // ? ? ? ?} // ? ? ? ?数组中的常见算法 ? ? ? ? int[] arr7 = new int[]{4,2,7,1,3,5}; // ? ? ? ?最大值 ? ? ? ? int max = arr7[0];//假设最大值 ? ? ? ? for (int i9=0;i9<arr7.length;i++){if ( ? ? ? ? ? ? ? ? max<arr7[1]){max=arr7[i9];//存放最大值 ? ? ? ? }} ? ? ? ? System.out.println("max:"+max); // ? ? ? ?最小值 ? ? ? ? int min = arr7[0]; ? ? ? ? for (int i9=0;i9>arr7.length;i++){if (min<arr7[1]){min=arr7[i9];}} ? ? ? ? System.out.println("min:"+min); // ? ? ? ?总和和平均数 ? ? ? ? int res3=0; ? ? ? ? for (int i9=0;i9<arr7.length;i9++){res3+=arr7[i9];} ? ? ? ? System.out.println("总和:"+res3); ? ? ? ? System.out.println("平均数:"+(res3/arr7.length)); // ? ? ? ?数组的复制 ? ? ? ? int [] copy=new int[arr7.length];//声明一个长度相等 ? ? ? ? for (int i9=0;i9<arr7.length;i9++){ ? ? ? ? ? ? copy[i9]=arr7[i9];//把每一个元素按顺序拿出来给每一个赋值 ? ? ? ? } // ? ?反转 ? ? ? ? int[] temp=new int[arr7.length]; ? ? ? ? int k=0; ? ? for (int i9 = arr7.length-1;i9>=0;i9--){ ? ? ? ? temp[k]=arr7[i9];k++; // ? ? ? ?System.out.println(arr7[i9]); ? ? } ? ? arr7=temp; ? ? for (int i9=0;i9<arr7.length;i9++){System.out.println(arr7[i9]);}
//冒泡排序法正序>反序< ? ? ? ? int[] arr6=new int []{4,7,3,1}; ? ? int temp2=0; ? ? for (int i2= 0;i2<arr6.length-1;i2++){ ? ? ? ? for (int j2=0;j2<arr6.length-1-i2;j2++){ ? ? ? ? ? ? if (arr6[j2]>arr6[j2+1]){ ? ? ? ? ? ? ? ? temp2 = arr6[j2]; ? ? ? ? ? ? ? ? arr6[j2]=arr6[j2+1]; ? ? ? ? ? ? ? ? arr6[j2+1]=temp2;
? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? for (int i2=0;i2<arr6.length;i2++){ ? ? ? ? System.out.println(arr6[i2]); ? ? } ? ? }
}
下面是今天的相关练习的记录:
1.赋值array1,array2 为?int[]类型、
2.使用大括号吧rray1初始化为2,3,5,7,11,13,19八个素数
3.显示arryay1的内容
4.赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
实现arryay2对arryay1的复制。
public class SuZu { ? ? public static void main(String[] agrs){ // ? ? ?int[] array1,array2;定义 // ? ? ? ?int[] array2; ? ? ? ? int[] array1=new int[]{2,3,5,7,11,13,19}; // ? ? ? ?for (int i=0;i<array1.length;i++){System.out.println(array1[i]);} 显示array1的内容 ? ? ? ? int [] array2=new int[array1.length];//声明一个长度相等 ? ? ? ? ? ? for (int i=0;i<array1.length;i++){ ? ? ? ? ? ? ? ? array2[i]=array1[i];//把每一个元素按顺序拿出来给每一个赋值 ? ? ? ? ? ? ? ? for (int i1=0;i1<array2.length;i1++){System.out.print(array2[i1]);} // ? ? ? ? ? ? ? ?for (int i1=0;i1<array2.length;i1++); // ? ? ? ? ? ? ? ?{if (i1 % 2==0) // ? ? ? ? ? ? ? ? ? ?array2[i1]=i1; ? ? 修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)
? ? ? ? ? ? ? ? } // ? ? ? ?System.out.print(); // ? ? ? ?for(int i = 0;i < array1.length;i++){ // ? ? ? ? ? ?System.out.print(array1[i] ); ? 打印出array1 // ? ? ? ?} // ? ?} //? ? ? 总结: // ? ? ? ?int[] array1,array2; // ? ? ? ?array1 = new int[]{2,3,5,7,11,13,17,19}; // ? ? ? ?//显示array1的内容 // ? ? ? ?for(int i = 0;i < array1.length;i++){ // ? ? ? ? ? ?System.out.print(array1[i]); // ? ? ? ?} // ? ? ? ?//数组的复制: // ? ? ? ?array2 = new int[array1.length]; // ? ? ? ?for(int i = 0;i < array2.length;i++){ // ? ? ? ? ? ?array2[i] = array1[i]; // ? ? ? ?} // ? ? ? ?//修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2) // ? ? ? ?for(int i = 0;i < array2.length;i++){ // ? ? ? ? ? ?if(i % 2 == 0){ // ? ? ? ? ? ? ? ?array2[i] = i; // ? ? ? ? ? ?} // ? ? ? ?} // ? ? ? ?System.out.println(); // ? ? ? ?//打印出array1 // ? ? ? ?for(int i = 0;i < array1.length;i++){ // ? ? ? ? ? ?System.out.print(array1[i] ); // ? ? ? ?} // // //
? ? } } 今天有些不快了,但是没关系明天继续快乐!!!!
|