您的位置:首页 > 职场人生

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

2015-01-09 12:27 225 查看

黑马程序员——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:用于结束函数;

9d99
返回值:该值会返回给调用者。

           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>


         
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: