JAVA基础之循环篇
2015-12-20 19:32
399 查看
学习JAVA这门语言算来也有两三年了,对它的面向对象的原理和集合使用之类基础性的东西都算是比较了解了。可是碰到循环输出某种样式(有规律的打印)类的东西还是会挠头半天,思索良久。当然,这与语言的关系不大,应该算是算法类的东西了。本身算法就是为程序服务的,这里做出总结,以便以后更快,更高效的完成循环输出(我喜欢叫它找规律)。
这里我选几个典型的例子来证实我总结得规律:
1,用“*”打印倒三角输出到控制台。运行效果如下:
这是每个在接触循环的初学者都会接触的典型问题,我在仔细总结前,仍无法流畅的敲出其代码。当然,一切规律都要用心寻找。
首先,很明显看出这个代码需要用到两重循环,分别控制行数和列数。我总结出一个不变的规律是,外重循环变量i控制行,里面的循环变量j控制列(为直观,分别用i表示行,j表示列)。一共五行,说明i的值循环五次,第一行有五个"*",说明j也是有五次循环。而后每次递减一个,i又在递增一个,此时循环的表达式呼之欲出。
利用这个规律,可以看出i输出九行,j输出的列数随行数变化而变化,那么找出这个变化的规律,99乘法表就是信手“敲”来。不难看出
j的值是随i的值增加而增加。关键代码如下
这里我选几个典型的例子来证实我总结得规律:
1,用“*”打印倒三角输出到控制台。运行效果如下:
这是每个在接触循环的初学者都会接触的典型问题,我在仔细总结前,仍无法流畅的敲出其代码。当然,一切规律都要用心寻找。
首先,很明显看出这个代码需要用到两重循环,分别控制行数和列数。我总结出一个不变的规律是,外重循环变量i控制行,里面的循环变量j控制列(为直观,分别用i表示行,j表示列)。一共五行,说明i的值循环五次,第一行有五个"*",说明j也是有五次循环。而后每次递减一个,i又在递增一个,此时循环的表达式呼之欲出。
<span style="white-space:pre"> </span>for(int i = 0; i <= 4; i++){ for(int j = 1; j <= 5-i; j++){ System.out.print("*" ); } System.out.println(); }2,打印输出九九乘法表。
利用这个规律,可以看出i输出九行,j输出的列数随行数变化而变化,那么找出这个变化的规律,99乘法表就是信手“敲”来。不难看出
j的值是随i的值增加而增加。关键代码如下
<span style="white-space:pre"> </span>for(int i = 1; i <= 9; i++){ for(int j = 1; j <= i; j++){ System.out.print(i + "*" + j + "=" + (i * j) + " "); } System.out.println(); }每种循环必有其规律,编码要由内而外,由里面那层慢慢往外扒,就会顺畅很多。
相关文章推荐
- 一个关于Java JFrame 无法初始化组件问题
- 关于android+eclipse配置
- Java多线程编程中Future模式的详解
- 【Java基础】——JDBC
- java.lang.UnsatisfiedLinkError: Can't find dependent libraries的解决办法
- Spring+springmvc+mybatis+maven整合视频
- (Factory Method)工厂方法模式的Java实现
- 配置spring事务管理的几种方式(声明式事务)
- java异常处理机制
- Java学习--01--JRE与JDK的关系
- java学习笔记-泛型
- 各种排序算法的分析及java实现
- springmvc(一) 入门程序
- Java四类八种数据类型
- 多线程下载的原理(1) java事例
- java web权限管理
- 深入理解java虚拟机之一window下编译OpenJDK环境搭建
- 【Java EE 学习 78 下】【数据采集系统第十天】【数据采集系统完成】
- java设计模式——装饰者模式浅析
- 建造者模式