1. public class For {
  2. public static void main(String[] args) {
  3.  
  4. //“使用双层for循环打印图形时,外层管行,内层管列”,那么是怎样的原理呢? 那么举个栗子!看下面:
  5.  
  6. //炒栗子1:利用“*”打印出一个长宽为5的矩形图案
  7.  
  8. for(int i=1;i<=5;i++){
  9. for(int k=1;k<=5;k++){
  10. System.out.print("*");
  11. } //小知识:print与println的区别在于println多了个换行符“\n”,等价于print("\n")
  12. System.out.println();
  13. }
  14. /* 生成了如下图形:
  15. * *****
  16. * *****
  17. * *****
  18. * *****
  19. * *****
  20. */
  21.  
  22. //炒栗子2:利用“*”分别打印出一个高为5的正直角三角形,和一个倒直角三角形
  23.  
  24. for(int i=1;i<=5;i++){
  25. for(int k=1;k<=i;k++){
  26. System.out.print("*");
  27. }
  28. System.out.println();
  29. } //重点:改变内循环的条件可以使列递增
  30. /*生成正直角三角形
  31. * *
  32. * **
  33. * ***
  34. * ****
  35. * *****
  36. */
  37. for(int i=1;i<=5;i++){
  38. for(int k=5;k>=i;k--){
  39. System.out.print("*");
  40. } //重点:同时改变内循环的初值和条件可使列递减。
  41. System.out.println();
  42. }
  43. /* 生成倒直角三角形
  44. * *****
  45. * ****
  46. * ***
  47. * **
  48. * *
  49. */
  50.  
  51. //糖炒栗子3:作出个乘法口诀表
  52.  
  53. for(int i=1;i<=9;i++){
  54. for(int k=1;k<=i;k++){
  55. System.out.print(k+"*"+i+"="+i*k+"\t"); //重点:内部实现只不过是把星星替换成了一个拼接的字符串,由此可见其循环出的就是一个直角三角图形。
  56. } //小知识:“\t”是水平制表符Tab键,会自动缩进空格使内容对齐
  57. System.out.println();
  58. }
  59. /*
  60. * 生成图形,自行脑补~~~
  61. */
  62.  
  63. //爆炒栗子4:对元素为10个数字的数组进行冒泡排序
  64. //冒泡原理:有n个数,那么就会冒n-1轮,每一轮都是从第一个元素开始,每次都是和它的下一个比,冒出的就不用再管了。
  65.  
  66. int arr[]={1,50,32,65,17,54,25,77,69,100};
  67. for(int i=0;i<arr.length-1;i++){
  68. for(int k=0;k<=i;k++){
  69. if(arr[k]>arr[k+1]){
  70.  
  71. int t=arr[k]; //arr[k+1]=arr[k]+arr[k+1];
  72. arr[k]=arr[k+1]; //arr[k]=arr[k+1]-arr[k];
  73. arr[k+1]=t; //arr[k+1]=arr[k+1]-arr[k];
  74. } //这里我给出了两种替换方法,一个是借助第三个变量,一个是相互加减,不明白的我下面举个小栗子
  75. }
  76. }
  77. for (int i=0;i<arr.length;i++){
  78. System.out.println(arr[i]);
  79. }
  80.  
  81. //小栗子:创建两个不相等的int型变量,不通过第三个变量使他们的值交换。
  82. int c=5;int u=1;
  83. u=c+u; //u=6 c=5
  84. c=u-c ; //u=6 c=1
  85. u=u-c ; //u=1 c=5 先运算后赋值
  86. System.out.println(c+","+u);
  87.  
  88. //爆炒栗子5:依据上个栗子 从第10个元素开始冒泡排序
  89.  
  90. //我在思考冒泡算法的时候,首先脑海里会形成一个图形,然后立马就知道用什么形式的嵌套循环,把问题图形化。
  91.  
  92. for(int i=0;i<arr.length-1;i++){
  93. for(int k=arr.length-1;k>i;k--){
  94. if(arr[k]<arr[k-1]){
  95. arr[k]=arr[k]+arr[k-1];
  96. arr[k-1]=arr[k]-arr[k-1];
  97. arr[k]=arr[k]-arr[k-1];
  98. }
  99. }
  100. }
  101. for (int i=0;i<arr.length;i++){
  102. System.out.println(arr[i]);
  103. }
  104.  
  105. //最后举个干炒栗子(没难度,力气活):利用for循环输出以下图形
  106. // 12345
  107. // 2 4
  108. // 3 3
  109. // 4 2
  110. // 54321
  111.  
  112. //经过上面的练习,其本质就是一个矩形图形。 只不过内层循环输出的东西不同罢了。
  113. //第一行和第五行的循环规律类似,二至四行类似,且列是数和空格组成的。
  114.  
  115. for(int i=1;i<=5;i++){
  116. for(int k=1;k<=5;k++){
  117. if(i==1){ //第一行
  118. System.out.print(k);
  119. }else if(i==5){ //第五行
  120. System.out.print(i-k+1);
  121. }else{ //第二至四行
  122. if(k==1){ //第一列
  123. System.out.print(i);
  124. }else if(k==5){ //第五列
  125. System.out.print(k-i+1);
  126. }else{ //第二至四列
  127.  
  128. System.out.print(" ");
  129. }
  130. }
  131. }
  132. System.out.println();
  133. }
  134.  
  135. }
  136. }

for 循环打印图形的更多相关文章

  1. java中使用二重循环打印图形

    如图所示:打印沙漏图形 1:因为外层循环控制图形行数,所以首先判断这四个选项能否循环五次 2:以上四个循环的表达式都能循环五次,我们从内层循环入手. A:int i=0;i<5;i++ 当i=1 ...

  2. java08双重循环打印图形

    // 九九乘法表 外层循环每执行一次,内层循环执行一遍 for (int i = 1; i <= 9; i++) { // 外层控制的是行数 for (int j = 1; j <= i; ...

  3. java基础08 双重循环打印图形

    public class Double01 { /** * 若有3个班级各4名学员参赛, * 如何计算每个班级参赛学员的平均分? */ public static void main(String[] ...

  4. C#利用for循环打印图形练习题

    (1) namespace ConsoleApp2 { class Program { static void Main(string[] args) { ; i < ; i++)//外层循环控 ...

  5. python中for嵌套打印图形

    # 打印出九九乘法表 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 1 ...

  6. [Python] For 嵌套循环打印图形 nested loop-练习题答案

    前一篇:[Python] For 嵌套循环打印图形 nested loop-练习题 [python的for循环嵌套打印如下图形] 图形一: 输出结果: ******* ******* ******* ...

  7. [Python] For 嵌套循环打印图形 nested loop - 练习题

    [python的for循环嵌套打印如下图形] 图形一: ******* ******* ******* ******* 图形二: * *** ***** ******* 图形三: * *** **** ...

  8. C语言回滚(二)--循环打印

    //1.用循环打印 /* FFEFEDFEDCFEDCBFEDCBA */ #include <stdio.h> #include<stdlib.h> int main(){ ...

  9. 编程题:利用for循环打印 9*9 表?

    利用for循环打印 9*9  表? 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  ...

随机推荐

  1. Tween Animation----Translate位置移动动画

    布局: 在res/下新建一个anim文件夹用来保存动画xml文件 新建一个translate文件 代码: <?xml version="1.0" encoding=" ...

  2. OGNL的使用

    访问Action中的普通属性: <s:property value="loginname"/><br/> 访问Action中的对象属性: <s:pro ...

  3. 【SAP BO】无法识别账户信息:无法访问CMS。计算机上的CMS由于某个严重错误而停止。(FWM 20031)

    1.系统环境 OS:Windows Server 2008 R2 RDBMS:Oracle 11g R2(Server.Client同时存在) BI:SAP Business Objects 4.2 ...

  4. javaWeb高级编程(1)

    十月 24, 2016 10:41:43 上午 org.apache.catalina.core.StandardContext setPath警告: A context path must eith ...

  5. JQuery基本知识框架思维导图(上)

    一:认识jQuery 1.window.onload与$(document).ready()的对比 2.jQuery代码风格(1:链式代码风格2:位代码添加注释) 3.jQuery对象和DOM对象(1 ...

  6. mac下配置xampp多端口

    首先下载并安装完XAMPP软件. 第一步: 打开XAMPP安装目录,找到配置文件. 如:/Applications/XAMPP/etc/httpd.conf 打开后查找 Listen 80 会看到以下 ...

  7. 【BFS】HDU 1495

    直达–> HDU 1495 非常可乐 相似题联动–>POJ 3414 Pots 题意:中文题,不解释. 思路:三个杯子倒来倒去,最后能让其中两个平分即可.可能性六种.判定的时候注意第三个杯 ...

  8. Linux上mongodb开机自启动

    1.下载MongoDB 2.安装MongoDB(安装到/usr/local下) .tgz mongodb cd mongodb mkdir db mkdir logs cd bin vi mongod ...

  9. jquery基本

    对于jquery属性的访问: //对于bool值的属性,元素标签中如果写了这个属性,attr能够获取到,如果没有写,就获取不到. 如:<input type="checkbox&quo ...

  10. VMware创建Linux虚拟机并安装CentOS(二)

    在VMware中鼠标单击“编辑虚拟机设置”,在弹出的“虚拟机设置”对话框中的“硬件”标签中选择“CD/DVD(IDE)”,然后在右侧的“CD/DVD(IDE)”连接选项中选择“使用ISO映像文件”,使 ...