博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础-循环(2)和方法
阅读量:6817 次
发布时间:2019-06-26

本文共 7744 字,大约阅读时间需要 25 分钟。

循环的嵌套:

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

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

//外层循环for( ){    //内层循环    for( ){      }}

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

循环嵌套的几种格式:

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

 

/*循环嵌套打印正三角形**********    思考:重复的动作是?        打印字符!!!        规律:随着行数的增加,每行打印的字符也增加.(每行字符数和行数相同)        练习:把行数做成用键盘录入数据    */import java.util.Scanner;public class TrangleDemo{    public static void main(String[] args){                Scanner s = new Scanner(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

 

/*循环嵌套打印倒三角形(练习)**********分析:重复的操作是打印字符每行打印的字符数逐渐减少也就是内层循环的边界值在不断的减少.练习:打印的行数从键盘录入?*/import java.util.Scanner;public class TrangleDemo2{    public static void main(String[] args){                Scanner s = new Scanner(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乘法表

外层循环控制行数

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

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

/*    打印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 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);                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),从键盘上录入一个数,和随机数进行比较,并给出大小提示,直到和随机数相等,退出程序.

1 //作业:给猜数字游戏加次数限制! 2 import java.util.Scanner; 3  4 public class HomeWork{ 5     public static void main(String[] args){ 6          7         int random = (int)(Math.random()*100) + 1; 8          9         Scanner s = new Scanner(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 < random){19                 System.out.println("猜的数小了!");20             }else{21                 System.out.println("猜对了!");22                 break;23             }24             System.out.println("友情提示:您还有"+(4-count)+"次!");25             count += 1;26         }27     }28 }
View Code

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

如:120-500之间的随机数

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

/*    如何获取任意范围内的一个随机数?    例:120-500之间    (int)(Math.random()*(500-120+1)+120);    练习:键盘录入起始值和结束值,用程序获取一个期间的随机值!*/import java.util.Scanner;public class GetRandomDemo{    public static void main(String[] args){        Scanner s = new Scanner(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 void test1(){    System.out.println("haha");}//有参,无返回值方法的定义public static void test2(String name){    System.out.println("Hello " + name);}//有参有返回值方法的定义public static int add(int a,int b){    int sum = a + b;    return sum;}

 

/*    修饰符 返回值类型 方法名(形参类型 形参名1,形参类型 形参名2,...){        方法体;        return [变量,常量,表达式];    }    注意:    方法定义在类中,和main方法平级!!!!方法不能嵌套定义!!!        修饰符 : 目前固定写法:public static    返回值类型:Java中的数据类型(基本数据类型,引用数据类型)    方法名:合法的标识符    形参列表:形参类型 形参名    方法体:方法被调用时,执行的语句(方法不调用,不会自动执行!!!)    return:返回:表明方法结束.若返回值类型为void,return 后什么都不能加,此时return        可以省略.            若返回值类型不是void,return不能省略,其后一定要跟一个和返回值类型匹配的值(或可以隐式转换的类型值)                */public class MethodDemo{    public static void main(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,int b){        //定义变量,接收两个数的和        int sum = 0;        sum = a + b;        //必须返回一个和返回值类型匹配的值(变量,常量,表达式也行!!!)                return sum;        //以下的语句正确,但是没有意义.                // return a;        // return 10;        // return 1 + 3;    }        //定义方法,有一个参数,表示输出的内容    public static void print(String name){        //        System.out.println("Hello " + name);    }        //自定义方法:在屏幕上输出一句话:世界你好    public static void printHello(){        //方法体        System.out.println("世界你好");        //        // return ;    }}
View Code

 

方法的调用

方法不调用不执行!!!

有返回值的方法的调用:

  1. 赋值或者直接打印
  2. 不理会返回值(单独调用)

返回值类型为void的方法:

         只能单独调用!!!

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

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

/*    方法的调用    1.有返回值方法的调用        ->使用返回值(赋值给变量,或者是打印)        ->不理会返回值(单独调用)    2.没有返回值方法的调用        只能是单独调用*/public class MethodDemo3{    public static void main(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 void test1(){        System.out.println("test1()被调用");            }    public static void test2(){        //调用自定义方法        test1();        System.out.println("test2()被调用");    }        //带返回值的方法    public static int doubleNum(int i){        System.out.println("你传递的参数是:" +i);        return i*2;    }    public static void print(){        System.out.println("hello");    }    }
View Code

方法的作用:

  1. 将有一定业务逻辑的代码封装在一起
  2. 实现了代码的复用,方法调用的次数越多,节省的代码量就越多
  3. 方便维护
/*    方法实现了代码的封装!!    主要的作用是实现了代码的复用!!!    提高代码的可维护性!!*/public class MethodDemo2{    public static void main(String[] args){        print99();            }    //定义打印99乘法表的方法    public static void print99(){        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

 

转载于:https://www.cnblogs.com/Z-xiaoshuai/p/9507519.html

你可能感兴趣的文章
RMAN restore fails with ORA-01180: can not create datafile 1 (文档 ID 1265151.1)
查看>>
转 多个版本的数据库在同一服务器上ORA-12557
查看>>
Socket的长连接和短连接
查看>>
java求素数和求一个数的一个正整数的质因数
查看>>
centos6.6 部署 cacti 并采集交换机流量
查看>>
web 开发之js---巧用iframe实现jsp无刷新上传文件
查看>>
WMS相关中英文术语
查看>>
实时监测网络流量
查看>>
块IO与流IO简介
查看>>
best introduction to camera calibration
查看>>
struts2单文件上传案例演示(二)
查看>>
OC-核心语法(3)(分类、SEL、类本质)
查看>>
web2py官方文档翻译00
查看>>
python深坑集锦 -- super
查看>>
my29_PXC集群状态查看
查看>>
LRUCache
查看>>
vue+element-ui之tree树形控件有关子节点和父节点之间的各种选中关系详解
查看>>
无刷新分页
查看>>
媒体查询-全面学习
查看>>
jquery判断滚动条是否到达顶部或者底部
查看>>