java a到z的for循环_Java基础-循环(2)和方法

循环的嵌套:

循环体本身又是另一个循环的循环,就是循环的嵌套.

外面的循环称为外层循环,里面的循环称为内层循环.

//外层循环

for( ){//内层循环

for( ){

}

}

外层循环的每次执行,内层循环都循环多次!

循环嵌套的几种格式:

for-for  for-while   while-while  while-for

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*循环嵌套打印正三角形

*

**

***

****

思考:重复的动作是?

打印字符!!!

规律:随着行数的增加,每行打印的字符也增加.(每行字符数和行数相同)

练习:把行数做成用键盘录入数据*/

importjava.util.Scanner;public classTrangleDemo{public static voidmain(String[] args){

Scanner s= newScanner(System.in);

System.out.print("请输入要打印多少行: ");int k =s.nextInt();for(int i = 1;i<=k;i++){for(int j = 1;j<=i;j++){

System.out.print("*");

}

System.out.println();

}

}

}

View Code

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*循环嵌套打印倒三角形(练习)

****

***

**

*

分析:

重复的操作是打印字符

每行打印的字符数逐渐减少

也就是内层循环的边界值在不断的减少.

练习:打印的行数从键盘录入?*/

importjava.util.Scanner;public classTrangleDemo2{public static voidmain(String[] args){

Scanner s= newScanner(System.in);

System.out.print("请输入要打印的行数: ");int k =s.nextInt();for(int i = 0;i<=k;i++){for(int j = 1;j<=k-i;j++){

System.out.print("@");

}

System.out.println();

}

}

}

View Code

案列:

打印99乘法表

外层循环控制行数

内层循环控制每行的表达式的个数

特点:每行表达式的个数和行数相等

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*打印99乘法表*/

/*public class ChengFaBiao{

public static void main(String[] args){

for(int i = 1;i<=9;i++){

for(int j = 1;j<=i;j++){

System.out.print(j + "x" + i + "=" + j*i + "\t");

}

System.out.println();

}

}

}*/

/*练习:99乘法表各个表达式之间用','分隔,每行最后一个表达式后不需要,

1x2=2,2x2=4

1x3=3,2x3=6,3x3=9*/

public classChengFaBiao{public static voidmain(String[] args){for(int i = 1;i<=9;i++){for(int j = 1;j<=i;j++){

System.out.print(j+ "x" + i + "=" + j*i);if(j !=i){

System.out.print(",");

}

}

System.out.println();

}

}

}

View Code

break和continue 关键字:

break 用于结束当前循环.

当break在内层循环中时,可以使用标签跳出最外层的循环.

continue 跳出continue之后的语句.进入下一次循环.

产生随机数:

Math类的random()方法可以生成一个[0.0 - 1.0)之间的double值.(左闭右开区间)

Math 类是java程序默认导入的包,不需要显示导入. 直接使用即可.

如:

使用以下语句可以获取一个1-100之间的整型值:

int r = (int)(Math.random()*100)+1;

猜数字游戏:

程序中产生一个随机数(1-100),从键盘上录入一个数,和随机数进行比较,并给出大小提示,直到和随机数相等,退出程序.

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 //作业:给猜数字游戏加次数限制!

2 importjava.util.Scanner;3

4 public classHomeWork{5 public static voidmain(String[] args){6

7 int random = (int)(Math.random()*100) + 1;8

9 Scanner s = newScanner(System.in);10 int count = 0;11 while(count < 5){12 System.out.println("输入一个int类型的值:(1-100)");13 int r =s.nextInt();14

15 //比较这两个数

16 if(r >random){17 System.out.println("猜的数大了!");18 }else if(r

View Code

获取任意范围的随机数值的方法:

如:120-500之间的随机数

(int)(Math.random()*(500-120+1)+120);

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*如何获取任意范围内的一个随机数?

例:120-500之间

(int)(Math.random()*(500-120+1)+120);

练习:键盘录入起始值和结束值,用程序获取一个期间的随机值!*/

importjava.util.Scanner;public classGetRandomDemo{public static voidmain(String[] args){

Scanner s= newScanner(System.in);

System.out.println("输入起始值: ");int start =s.nextInt();

System.out.println("输入结束值: ");int end =s.nextInt();// int r = (int)(Math.random() * (end - start + 1) +start);//System.out.println(r);

}

}

View Code

方法定义

修饰符 返回值类型 方法名(形参类型1 参数名1,形参类型2 参数名2,…){

方法体;return[返回值];

}

修饰符: public static

返回值类型: java中的数据类型

方法名:符合命名规范

形参类型,形参名:符合命名规范

方法体:方法被调用时执行的语句

return: 表示方法的结束.

若返回值类型为void,return 后不能加任何东西,此时return;可以省略.

若返回值类型不为void,则return不能省略,而且其后要接一个和返回值类型匹配的返回值(变量,常量,表达式)

//无参,无返回值方法的定义

public static voidtest1(){

System.out.println("haha");

}//有参,无返回值方法的定义

public static voidtest2(String name){

System.out.println("Hello " +name);

}//有参有返回值方法的定义

public static int add(int a,intb){int sum = a +b;returnsum;

}

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*修饰符 返回值类型 方法名(形参类型 形参名1,形参类型 形参名2,...){

方法体;

return [变量,常量,表达式];

}

注意:

方法定义在类中,和main方法平级!!!!方法不能嵌套定义!!!

修饰符 : 目前固定写法:public static

返回值类型:Java中的数据类型(基本数据类型,引用数据类型)

方法名:合法的标识符

形参列表:形参类型 形参名

方法体:方法被调用时,执行的语句(方法不调用,不会自动执行!!!)

return:返回:表明方法结束.若返回值类型为void,return 后什么都不能加,此时return

可以省略.

若返回值类型不是void,return不能省略,其后一定要跟一个和返回值类型匹配的值(或可以隐式转换的类型值)*/

public classMethodDemo{public static voidmain(String[] args){/*//方法不调用,不执行

//方法调用的格式:

//方法名(实参):方法调用时传递的参数称为实参!!方法定义时写的参数称为形参!!

printHello();

printHello();

//main方法的return省略了,因为返回值类型是void.

return ;*/

/*//调用有一个参数的方法

String name = "abc";

//调用方法时,传递类型和个数都匹配的参数.

print(name);

//可以直接传递常量

print("tom");

//传递表达式

print("hello" + "123");*/

//调用带参,带返回值 的方法

int a = 10;int b = 20;//实参之间用逗号分隔,不用加类型!!!

int sum =add(a,b);

System.out.println("a + b = " +sum);

}//定义带参,带返回值的方法

public static int add(int a,intb){//定义变量,接收两个数的和

int sum = 0;

sum= a +b;//必须返回一个和返回值类型匹配的值(变量,常量,表达式也行!!!)

returnsum;//以下的语句正确,但是没有意义.//return a;//return 10;//return 1 + 3;

}//定义方法,有一个参数,表示输出的内容

public static voidprint(String name){// System.out.println("Hello " +name);

}//自定义方法:在屏幕上输出一句话:世界你好

public static voidprintHello(){//方法体

System.out.println("世界你好");//

//return ;

}

}

View Code

方法的调用

方法不调用不执行!!!

有返回值的方法的调用:

赋值或者直接打印

不理会返回值(单独调用)

返回值类型为void的方法:

只能单独调用!!!

方法之间是相互调用的关系:

自定义方法可以调用系统提供的方法,也可以调用自己定义的方法.

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*方法的调用

1.有返回值方法的调用

->使用返回值(赋值给变量,或者是打印)

->不理会返回值(单独调用)

2.没有返回值方法的调用

只能是单独调用*/

public classMethodDemo3{public static voidmain(String[] args){/*//把方法的返回值赋值给变量

int res =doubleNum(2);

System.out.println(res);*/

/*//直接放到打印语句中

System.out.println(doubleNum(9));

//System.out.println(18);*/

//返回值为void类型的方法,只能单独调用

print();//System.out.println(print()); 错误: 此处不允许使用 '空' 类型//自定义方法之间相互调用

test2();

}//自定义方法

public static voidtest1(){

System.out.println("test1()被调用");

}public static voidtest2(){//调用自定义方法

test1();

System.out.println("test2()被调用");

}//带返回值的方法

public static int doubleNum(inti){

System.out.println("你传递的参数是:" +i);return i*2;

}public static voidprint(){

System.out.println("hello");

}

}

View Code

方法的作用:

将有一定业务逻辑的代码封装在一起

实现了代码的复用,方法调用的次数越多,节省的代码量就越多

方便维护

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

/*方法实现了代码的封装!!

主要的作用是实现了代码的复用!!!

提高代码的可维护性!!*/

public classMethodDemo2{public static voidmain(String[] args){

print99();

}//定义打印99乘法表的方法

public static voidprint99(){for(int i = 1;i<=9;i++){for(int j = 1;j<=i;j++){

System.out.print(j+"x"+i+"="+(i*j)+"\t");

}

System.out.println();

}

}

}

View Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值