java 自学日志【三】之循环语句和函数

------android培训,java培训,期待与您交流------

------java 语句------程序流程控制

四种结构:顺序结构,判断结构,选择结构和循环结构。

 

【一】判断结构---if 语句

格式①    if (条件表达式)

                {执行语句;}

例: int a =4, b=3;

         if (a>b)

         {System.out.println("java");}

 

格式②    if (条件表达式)

                {执行语句;}

               else 

                {执行语句;}

例:int a =3, b =4;

       if (a>b)

     {System.out.println(a);}

      else 

      (System.out.println(b);)

 

格式③     if (条件表达式)                      

                {执行语句1;}

          else  if

                {执行语句2;}

          else  if

                {执行语句3;}

        ....................

          else

                 {执行语句;}

例:int a= 3,b=4;

      if (a>b)

      {System.out.println(a);}

     else if (a<b)

      {System.out.println(b);}

     else if (a==b)

      {System.out.println("相等");}

     else

      {System.out.println(null);}

 

【二】选择结构---switch 语句

 

格式:switch(表达式)

           {
              case 变量可能值1 :
                     执行语句一;
                        break;
              case 变量可能值2 :
                    执行语句二;
                       break;
              case 变量可能值3 :
                   执行语句三;
                      break;
                       ....... ...
               default :
                     执行语句;
         }

switch语句特点:

1.  选择的类型只有四种:byte,int,short,char ;

2. case与default之间没有顺序,先执行第一个case,没有匹配的case,执行default;

3. 结束switch语句有两种情况:一是遇到break,二是执行到switch语句结束;

4. 如果匹配的case或者default没有对应的break,那么程序会继续向下执行可以执行到的语句,直到遇到break或者switch语句结束。

if语句和switch语句的选择: 如果判断具体数值不多,而且是switch可以选择的类型建议使用switch,其效率稍高,其他情况,如判断区间,表达式结果为boolean类型判断,选择if,if使用范围广泛

 

【三】循环结构

① while 循环 

格式:

定义初始化表达式;

while(条件表达式)

{

    循环体(执行语句);

}

 

② do while 循环

格式:

定义初始化表达式;

do

{

    循环体(执行语句);

}

while(条件表达式)// 先do,后进行while循环。do while与while的区别是:do while中循环体至少执行一次

 

③ for 循环

格式:

for(定义初始化表达式;循环条件表达式;循环后的操作表达式)

{

         循环体(执行语句);

}

注意:for 与while的区别是----for定义的条件控制变量在循环后就不存在了(优化了内存),而while的条件控制变量循环后仍存在.

无限循环最简单的形式:for(;;)  ,   while(true)。

 

编程思想:① 累加思想,通过变量,记录住循环操作后结果。

                  ② 计数器思想,通过一个变量记录数据的状态变化。

语句嵌套形式:循环嵌套。

例一:获取1~100的和,并打印

class Sun
{
    public static void main(String[] args)
  {
    int x=0;
    for(int y=1;y<=100;y++)
    {
       x= x+y;
    }
    System.out.println("x="+x);
  }
}


 

例二:获取1~100之间7的倍数的个数,并打印。

class Num
{
    public static void main(String[] args)
    {
         int n=0;
         for(int x=1;x<=100;x++)
         {  
             if(x%7==0)  
                c++; 
         }
        System.out.println("n="+n);
     }
}

 

例三:打印*字塔。

         *
        * *
       * * *
      * * * *
     * * * * *
    * * * * * *
   * * * * * * *
  * * * * * * * *
 * * * * * * * * *
* * * * * * * * * *

class Star
{
	public static void main(String[] args)
	{ 
		for(int x=1;x<=10;x++)
		{ 
			for(int y=x;y<10;y++)
			{
				System.out.print(" "); 				
			}
			for(int z=1;z<=x;z++)
			{
				System.out.print("* "); 				
			}			
		System.out.println();	
		}	         
	}
}

注:外循环控制行数,内循环控制每一行的列数,也就是每一行中的元素。塔尖朝上,可以改变条件,让条件随着外循环变化,塔尖朝下,可以改变初始化值,让初始化值随着外循环变化!

 

例四:打印九九乘法表。

1*1=1
1*2=2   2*2=4
1*3=3   2*3=6   3*3=9
1*4=4   2*4=8   3*4=12  4*4=16
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

class Num99
{
	public static void main(String[] args)
	{
		for(int x=1;x<10;x++)
		{
			for(int y=1;y<=x;y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
		System.out.println();
		}
	}
}


【四】其他控制流程语句

break只能做循环语句和switch语句中使用,continue只能用于循环结构,离开应用范围,则无意义。

break和continue单独存在时,后边不能有语句,因为读不到,编译器会报错。

可以通过给循环定义标签的方法,来决定break和continue是作用于那个循环。

例:

w:for(int x =0;x<4;x++){  
    for(int y=0;y<x;y++){                  
        System.out.println(x);  
                break;//跳出当前循环  
        break w;//通过给循环起名字跳出w标示的循环。  
                System.out.println(y);//break和continue语句后边的代码都不会被读到,编译报错。  
    }  
}  
w:for(int x =0;x<4;x++){  
    for(int y=0;y<x;y++){                  
        System.out.println(x);  
        continue w;//跳出当前循环  
    }  
}


 

----------------------------------------------------------------------------------------------------------------------------------------------------------

-------函数------

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

格式: 修饰符  返回值类型  函数名(参数类型 形式参数1,参数类型 形式参数2,........)
              {
                    执行语句;
                    return 返回值;
              }

与上面对应的代码:

           public static  int  Num( int a, int b.........)

           {    a=1,b=3;

                return a+b ;

           }
返回值类型:函数运行后的数据类型;

参数类型:是形式参数的数据类型;

形式参数:是一个变量,用于存储调用函数时,传递给函数的实际参数;

实际参数:传递给形式参数的数值;

return:用于结束函数;

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

函数的特点

① 定义函数可以将功能代码进行封装,便于该功能和代码进行复用; 

② 函数只有被调用才会被执行;

③ 对于函数没有具体返回值的情况,返回值类型用关键字 void表示,那么函数中的return语句如果在最后一行,可以省略不写。

注意:函数中只能调用函数,不可在函数内定义函数,定义函数时,函数结果应返回个调用者由调用者处理。

 

如何定义一个函数?

① 明确运算结果,即结果的数据类型,返回值类型;

② 是否需要未知的内容参与运算,确定参数列表。

 

例:定义一个功能,完成x+y的和,并返回给调用者。

class Sum
{
	public static void main(String[] args) 
	{	int  sum=getSum(5,8);
		System.out.println("sum="+sum);
        }

	public static int getSum(int x,int y)
	{	
		return x+y;
	}
}

函数的重载:overload

 

概念:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。

 

什么时候用重载?当定义的功能相同,但参与运算的未知内容不同,那么这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。

注意:参数列表里的形式参数是有序的,重载与返回值类型无关,只看参数列表。重载函数间也可以互相调用


 

 

 

 

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值