黑马程序员--学习--转for循环

时间:2023-02-19 15:26:04

---------------------- android培训java培训、期待与您交流! ----------------------

/*
需求;将99乘法表以反倒三角的形状打印;
步骤;
1.先将99乘法表倒三角打印,也就是让x递减即可,x范围1到9;
2.反倒三角其实就是每行先执行正三角再接着倒三角;
3.将正三角的换行命令删掉,换行由倒三角决定,原先的“*”改用空格符号“ ”;
*/class  Print99
{
public static void main(String[] args)
{
  print99();
}

public static void print99()
{
  for(int x=9; x<=9 & x>=1; x--)//不要忘记x>=1,不然负数也算
  {
   for(int a=x;a>0 & a<9;a++)//a<9,因为每行空白部分少一个单位(y*x=?)
     {
     System.out.print("     "+"\t");//这里是y*x=?,故有5个空格,然后制表符对齐
     }
    //没有换行命令
   for(int y=1; y<=x; y++)
   {
    System.out.print(x+"*"+y+"="+y*x+"\t");
   }
  System.out.println();//这里换行
  }
}
}
/*

冒泡排序基本原理:大泡在上,小泡在下。也就是依次比较相邻的两个数

public static void paiXu1(int[] arr) {
       for (int i = 0; i < arr.length; i++) {
           for (int j = 0; j < arr.length - i - 1; j++) {
              if (arr[j] > arr[j + 1])
                 {
                  int temp = arr[j];
                  arr[j] = arr[j + 1];
                  arr[j+ 1] = temp;
                 }
           }
       }
    }



 

这一种算是算是冒泡排序呢,我们简单分析一下他执行的过程,外层的for循环中的变量也参与的数组的比对,

通俗一点就是,数组的每一个数要跟自己后面的所有的数进行比较! 当然也实现了相应的功能!

    public static void paiXu2(int[] arr) {
       for (int x = 0; x < arr.length; x++) {
           for (int y = x + 1; y < arr.length; y++) {
              if (arr[x] > arr[y]) {
                  int temp = arr[x];
                  arr[x] = arr[y];
                  arr[y] = temp;
              }

         }
    }
}



---------------------- android培训java培训、期待与您交流! ----------------------