黑马程序员——Java语言基础下篇

黑马程序员——Java语言基础下篇

------Java培训、Android培训、iOS培训、.Net培训 、期待与您交流! -------

   3、循环结构:

            循环结构:while、do-while、for

                      whilej结构 定义初始化表达式;  while (条件表达式){  循环体;  }

                     do-while结构 :定义初始化表达式;  do{   循环体;  }while(条件表达式);  

                     for结构: for(初始化表达式 ;  循环条件表达式 ;  循环后的操作表达式){ 循环体;   }   

             对于for语句注意两点:

                                 1)、是循环条件表达式一定要有真假,否则编译通不过;

                                 2)、不管是初始化的表达式、循环操作后的表达式还是循环条件都可以是多个表达式,只需用' ,' 隔开就好。

            while与do-while的区别

                            1)、do-while无论条件是否满足,循环体至少执行一次;

                             2)、do-while 相对少用一点、while比较常见;

                             3)、do-while后面用;结束。    

             for与while的区别

                             1)、变量都有自己的作用域、对于for来讲,如果变量的循环增量只为控制循环次数,那么该变量只在for语句中有效,for语句执行完毕,该变量释放。  

                             2)、for与while可以进行互换,如果需要定义循环增量,for更优化一些。        

            循环结构的使用:当对某些语句执行很多次时,就使用循环结构。

           无限循环表达式:(面试会考到)

                             1)、for(  ;   ;  ){    }

                             2)  、while(true){   }

                             3)  、do{  }while(true);

          累加 的  思想: 【原理】通过变量记录住每次变化的结果,通过循环的形式、进行累加的动作。      核心就是:变量+循环。

         计数器的思想:【原理】通过一个变量记录住数据的变换状态,通过循环完成。      主要用于求解:求个数。

         循环嵌套练习

public class Forfor
{
/**
循环嵌套练习:打印输出
*****
****
***
**
*
*
**
***
****
*****

思想:
1、用外层循环循环控制行,共5行,定义变量i=0,循环条件:i<5;
2、用内层循环控制列即元素个数,除了第一行5个元素外,其余列的个数与行数相加要小于等于5,
   定义j=0,j+i<5 ;
3、在每一行循环打印输出*;
4、一行输出结束换行。
*/ 

	  public  static void main(String[] agrs){
	  
	   for(int i=0;i<5;i++){
	     for(int j=0;i+j<5;j++){  //控制循环列的个数与行数相加小于等于5
	         System.out.print("*");  //在每一行上输出*
	       }
	       System.out.println();  //换行
	   }
       
	     for(int i=0;i<5;i++){
	       for(int j=0;j<=i;j++){  //控制循环列的个数小于行数
	           System.out.print("*");  //在每一行上输出*
	        }
	       System.out.println();  //换行
	     }

	  }
}
         运行结果如下:

         小结:不是规律的规律

                  1)、尖朝上,可以改变条件,让条件随着外循环变化;

                  2)、尖朝下,可以改变初始值,让初始值随着外循环变化。

        九九乘法表的核心代码: 

                  for(int i=1;i<=9;i++){
			 for(int j=1;j<=i;j++){
			       System.out.print(j+"*"+i+"="+i*j+'\t');  //打印输出 i * j= i*j
			    }
			  System.out.println();   //换行
			}
        打印菱形的核心代码:

/**
3、打印输出:
____*
___* *
__* * *
_* * * *
*/
      //上半个菱形
       for(int i=0;i<5;i++){
	       for(int j=i;j<5;j++){  //控制输出_的个数 如果j=i+1从顶格开始输出
		    System.out.print(' ');
		 }
	       for(int k=0;k<=i;k++){  //控制输出*的个数
		    System.out.print("* ");
		 }
		System.out.println();  //换行
	   }
//* * * * * 
      //中间一行
       for(int i=0;i<=5;i++){      //控制最中间一行*个数
	       System.out.print("* "); 
	   }
	    System.out.println();
/**
_* * * *
__* * *
___* *
____*
*/
      //下半个菱形
       for(int i=0;i<5;i++){
	       for(int j=0;j<=i;j++){  //控制输出_的个数 如果j=i+1从顶格开始输出
		    System.out.print(' ');
		 }
	       for(int k=i;k<5;k++){  //控制输出*的个数
		    System.out.print("* ");
		 }
		System.out.println();  //换行
	   }

七、函数

          1、函数的定义:函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。

          2、作用:为了提高代码的复用性,对重复代码进行抽去封装成一个独立的功能,方便日后使用。

          3、函数的格式:

                                  修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,) {
          执行语句;
     return 返回值;
                                                 }
                    具体解释:
返回值类型:函数运行后的结果的数据类型;
参数类型:是形式参数的数据类型;;
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数;
实际参数:传递给形式参数的具体数值;
return:用于结束函数;
返回值:该值会返回给调用者。

           4、函数的特点:

                        1)、 定义函数可以将功能代码进行封装;
                        2)、 便于对该功能进行复用;
                        3)、函数只有被调用才会被执行;
                        4)、 函数的出现提高了代码的复用性;
                        5)、 对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。

特别注意:

• 函数中只能调用函数,不可以在函数内部定义函数。

• 定义函数时,函数的结果应该返回给调用者,交由调用者处理。

5、如何定义函数:

       两个明确:
                1)、明确该功能的运算结果( 明确返回值类型);
                2)、明确在定义该功能的过程中是否需要未知的内容参与运算。( 明确函数的参数列表)。

6、函数重载:

       使用情况:当定义功能相同但是参与运算的内容不相同时,就定义同一个函数名称表示其功能,通过参数列表以示区分。
       注意:
                1)、重载和返回值类型没有关系。 //参数列表相同,返回值不相同的,在同一个类里面是不允许的。
                2)、参数列表不同。(包括个数不同和顺序不同)。

         7、函数代码练习: (打印99乘法表和矩形)
<span style="font-weight: normal;">public class FunctionDemo2{
  public static void main(String[] agrs){
     draw(5,6);
     printhr(); 
	 M99();   
    }
/**
打印99乘法表
思路:1、返回值类型:void
      2、参数列表:无
*/
 
 public static void M99(){
   
     for(int i=1;i<=9;i++){
	   
	    for(int j=1;j<=i;j++){
		
		  System.out.print(j+"*"+i+"="+j*i);
		}
		System.out.println();
	 }
 
 }
 /**
 打印矩形*
 思路:1、返回值类型:没有 void
       2、参数列表 传入要打印的行数和列数
 */
  public static void draw(int x,int y){

       for (int i=0;i<x ;i++ )
       {
		  for(int j=0;j<y;j++){
		    
			System.out.print("*");
		  }
		  System.out.println();
       } 
  
   }
   public static void printhr(){
       System.out.println("---------------------------------------");
   }
}</span>

         



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值