黑马程序员

导航

黑马程序员——java语言基础知识回顾(四)

1.for与while的区别

本来一直以为for和while没有太大的区别,今天看了毕老师的视频才恍然大悟,for循环定义的变量值只在for循环内部有效,随着for循环的结束,变量将会在内存中被释放掉;

 

  1. public class Sentence {  
  2.   
  3.     public static void main(String[] args) {  
  4.        for(int x=0;x<3;x++){  
  5.            System.out.println(x);  
  6.        }  
  7.         System.out.println(x); // 编译失败,for循环结束后x在内存中被释放掉  
  8.    }       
  9. }  

while循环定义的变量在while循环的外部有效,不随着while循环的结束被释放  可以正常的编译并运行处结果。

  1. public class Sentence {  
  2.     public static void main(String[] args) {        
  3.         int y =0;  
  4.         while(y<3){  
  5.             System.out.println(y);  
  6.             y++;  
  7.         }  
  8.         System.out.println(y);   //正常编译并可以运行出结果  
  9.     }  
  10. }  


2.嵌套for循环

  1. public class Sentence {  
  2.     public static void main(String[] args) {  
  3.       for(int x=0;x<5;x++){                    //外循环控制行数  
  4.           for(int y=x;y<=4;y++){            //内循环控制每一行中元素的个数  
  5.   
  6.               System.out.print("*");  
  7.           }  
  8.           System.out.println();  
  9.       }   
  10.        
  11.    }  
  12. }                                 //  打印结果为5行,第一行为5个*,依次递减,第5行为1个*  
  1. public class Sentence {  
  2.     public static void main(String[] args) {  
  3.          for(int x=0;x<5;x++){  
  4.               for(int y=0;y<=x;y++){  
  5.                   System.out.print("*");  
  6.               }  
  7.               System.out.println();  
  8.           }  
  9.    }  
  10. }                                 //  打印结果为5行,第一行为1个*,依次递增,第5行为5个*  
打印九九乘法表
  1. public class Sentence {  
  2.     public static void main(String[] args)   
  3.     {  
  4.         for(int x=1;x<10;x++)  
  5.         {  
  6.             for(int y=1;y<=x;y++){  
  7.                 System.out.print(y+"*"+x+"="+x*y+"\t");           //  "\t"为制表符  
  8.             }  
  9.             System.out.println();  
  10.         }  
  11.       
  12.    }  
  13. }                   
3.数组
    (1)获取数组最值的时候既可以初始化数组的任意一个元素,也可以初始化数组当中任意一个角标。
    (2)数组排序
     选择排序    特点:内循环结束一次,最值出现在头角标位置上
  1. public static void sortArray1(int[] arr){  
  2.           
  3.         for(int x=0;x<arr.length-1;x++){             //选择排序  
  4.             for(int y=x+1;y<arr.length;y++){  
  5.                 if(arr[x]>arr[y]){  
  6.                     int temp = arr[x];  
  7.                     arr[x] = arr[y];  
  8.                     arr[y]= temp;  
  9.                 }  
  10.             }  
  11.         }  
  12.     }  
  冒泡排序  
  1. public static void sortArray2(int[] arr){  
  2.         for(int x=0;x<arr.length-1;x++){             //冒泡排序  
  3.             for(int y=0;y<arr.length-x-1;y++){  
  4.                 if(arr[y]<arr[y+1]){  
  5.                     int temp = arr[y];  
  6.                     arr[y] = arr[y+1];  
  7.                     arr[y+1]= temp;  
  8.                 }  
  9.             }  
  10.         }  
  11.     }  

posted on 2012-04-01 23:16  黑马—jieqi  阅读(355)  评论(0编辑  收藏  举报