黑马程序员~~第三日的交响曲

---------------------- <a href="http://edu.csdn.net/heima"target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

嘿嘿,发现自己越来越喜欢美工了,学的也越来越好了。哈哈。

言归正传哈,第二三天的内容看下来,发现C的基础知识更仔细的复习了一遍,掌握得更牢了。接下来是while循环结构。为了让循环结束,通常加上单条语句:如a++a----a++a,因为它们是独立存在的。在这个情况,a++++a就没有区别了,如果是x=a++++a就有区别。

 

Ctrl c是强制执行命令行的快捷键。Whiledo while格式就不写了,举的例子会体现。它们的区别是后者先执行再判断,满足,再执行。忘了条件是否满足,循环体至少执行一次。

 

另一种循环结构是for语句,格式是:(初始化表达式;循环条件;循环后操作表达式如x++{ }。它和while的区别是如果将用于循环的增量定义在此语句中,该变量只在for语句中有效,而while结束后,初始化变量值仍会存在。所以它们虽然可互换,但在定义循环增量时,for更适合。

 

变量都有作用域,超出就不会再用了)。

 

综上,无限循环的最简单表达形式一为:for(;;){ }。二为:while(默认为true{ }

接下来时举例方便理解。

如打印110的和。

Int sum=0;(定义变量来存储不断变化的和)

Int x=1;(定义变量来记录不断变化的被加的数)

While (x<=10)(定义循环)

{

Sum=sum+x;

X++;

}

System.out.println(sum);转换为for为:

 

 

Int sum=0

For (int x=0;x<=10;x++)

{

Sum+=x(sum=sum+x; x++)

}

System.out.printIn(sum);  (这两语句,主函数省略)

要明确哪些语句需要参加循环,哪些不需要。

 

如,求1100之间8的倍数.思路是先要对1100进行循环,即遍历。然后是定义条件,最后是定义一个记录次数的变量。步骤是1,for定义循环语句 2,定义判断,只要是8的倍数就行,用x%8==03,定义一个随8的倍数的出现而自增的变量。省略主函数之后的代码为:

Int count=0;3

For (int x=1;x<=100;x++)1

{

If( x%8==0 )2

Count++;

}

System.out.println(“count=+count;

 

从中可以得出两个一是累加思想:通过变量记录住每次变化的结果,通过循环形式,进行累加动作。

二是计数器思想:通过一个变量记录住数据的状态变化,也是通过循环完成。

 

接下来是for嵌套。

先举个打印长方形的例子

For( int x=0; x<5 ;x++)

{

For ( int y=0; y<5; y++)

{

System.out.print($);

 

}

System.out.println()

}

此例中,可在命令行里运行发现,外循环控制的是行数,内循环控制的是每一行的列数,也就是每一行中元素的个数。

上例中不能忘记的是它都是定义在主函数内的。

 

如果用函数包装起来,能更便捷自定义长方形,方法如下:

Public static void draw (int row ,int col )

接着把上述x<5改成x<row ;y<5改为y<col即可。

还要懂得运用一个打印类似三角型有尖儿的图形。

 

方法是在上述代码中进行如下更改:尖儿朝上,改变条件,让条件随着外循环改变;尖儿朝下,改变初始化值,让初始化值随外循环变化。总结了老师的例子,可记着一个不是规律的小规律:改变条件一般是y<=x;改变初始化值一般是y<=x

 

同样for嵌套可解决乘法表问题。懂函数后,直接包装成函数形式,如下:

Public static void shengfbiao( int num )

for ( int x=1; x<=num; x++)

{

for (int y=1; y<=x; y++)

{  

System.out.print(y+*+x+=+y*x+\t);

]

System.out.println();

}

接下来是关于break continue。它们都有作用范围,超出范围会提示,并且单独存在时,它们的下面不可以有任何语句,因为执行不到。区别是前者可用于选择结构和循环结构,后者只能应用于循环结构,是结束本次循环继续下一次循环的意思,可举个例子理解下:

For ( int x=1; x<=10; x++)

{

If ( x%2==1)

Continue;

System.out.println( x= +x);

 

}

continue的干扰下,此输出打印的是010的偶数。

 

 

接下来是很重要的函数,它是定义在类中的,也称为方法JAVA中对功能的定义就是通过函数的形式体现的。格式是:修饰符 返回值类型 函数名(参数类型形式参数1,…参数类型 形式参数n){执行语句;return返回值 }  形式参数即变量,返回值是返回给调用者 函数被调用才会被执行。方法:

 

eg: int x=函数名(数值);

System.out.printIn(x= +x)

函数的特点是提高复用性,可将功能包装。函数里不能定义函数,只能调用。

 

当们没有具体返回值时,返回值用一个特殊的关键字标识:void,在此情况下,return可不写。

很棒的是函数可任放,无论放哪儿,系统会主动从主函数读起执行起。

 

那么怎么定义函数呢?这是我们学函数必须要懂的应用。步骤是:

1.先明确结果是什么。即明确返回值

2.明确是否需要未知的内容参与运算。即明确函数的参数列表(包括参数类型和个数)

举个例子,获取较大的数。

public static int getmax( int a, int b )

{

return ( a>b )? a: b ;

}

上例中运用了三元运算符,为了加深理解,举个加法功能的错例:

public static int getmax( int a, int b )

{

system.out.println ( a+b ) ;

return ;

}

 

错的原因是思想有问题,因为只为完成加法运算,至于是否要打印操作,那是调用者的事儿,不要再该功能体现。

最后说说重载(overlood,同一类中,允许有一个以上的同名函数,只要参数列表不同即可运用重载。重载与返回值无关。定义的功能相同,但参与运算的未知内容不同时,也是可以运用重载的。

如果参数列表一样,返回值不同,则这函数不可以和给定的函数同时存在一个类中。

 

 

 奋斗

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

                               

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值