提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、单层for循环案例代码
  • 二、for循环嵌套
    • 1、图形打印
      • 1.1**矩形
      • 1.2**直角三角形
      • 1.3**倒直角三角形
      • 1.4九九乘法表
      • 1.5序列生成器(某面试题)
      • 1.6统计100-999水仙花数
      • 1.7纸张折叠几次厚度就能超过珠峰高度
      • 1.8输出N行的杨辉三角形
    • 1.8百钱百鸡
  • 总结

前言

这里主要记录单层for循环和for嵌套示例的代码。


一、单层for循环案例代码

二、for循环嵌套

1、图形打印

1.1**矩形

需求:打印5x5的 *****矩形

 public static void main(String[] args) {for (int i = 0; i < 5; i++) {for (int j = 0; j < 5; j++) {System.out.print(" * ");}System.out.println();}}

1.2**直角三角形

 public static void main(String[] args) {for (int i = 0; i < 5; i++) {for (int j = 0; j <= i; j++) {System.out.print(" * ");}System.out.println();}}

1.3**倒直角三角形

 public static void main(String[] args) {for (int i = 5; i >=0; i--) {for (int j = 0; j < i; j++) {System.out.print(" * ");}System.out.println();}}

1.4九九乘法表

 public static void main(String[] args) {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + " * " + i + " = " + (i * j) + "\t");}System.out.println();}}


之前写的思路

1.5序列生成器(某面试题)

题目:
 有一组数列 格式为 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 …
 请编写一个函数,输出这样的序列, 参数为序列中元素的数量
例如:参数 n = 11
输出 1 2 2 3 3 3 4 4 4 4 5

思路分析:
1、有一个数字,本身是几,则打印几次这个数,如这个数是3,则打印3次这个数
2、数列格式是否可以拆解—》可以拆解成如下格式:
1
22
333
4444
55555
是否存在重复的操作—》是—》可以使用for循环吗—》可以
—》他是怎么重复的
总共需要输出 【给定的参数】 的行数
第1行,需要输出1个元素,
第1个打印的元素内容是1 —
第2行,需要输出2个元素
第1个打印的元素内容是 2
第2个打印的元素内容是 2
第3行,需要输出3个元素
第1个打印的元素内容是 3
第2个打印的元素内容是 3
第3个打印的元素内容是 3
。。。
3. #每一行需要的打印的元素数量(列数)和给定的参数有关,如 n=11,元素就打印了11个,
#且打印的每一个元素内容都是固定的,与行号有关
A:总共需要打印N行(for),且每一行的元素个数和内容都不一样(打印是否需要换行),这里可以不用换行,因为他只要一行数列
B:同一行打印的元素内容都一样(for),且每一行输出的元素数量不同
C:结论:for(需要打印的行数<=给定的参数值){
for(同一行的元素个数<=行号){
每一个元素的打印格式规律:这题与行号有关
判断每一行需要的打印的元素数量(列数)和给定的参数的数量关系
}
//这里打印完一行不需要换行了。一般来说打印完一行需要换行,看需求
}

D:根据题意,最后需要抽取成一个函数(方法),根据输出的结果,他是输出语句打印一个值,我们可以参考main方法的返回值类型,该方法的返回类型就设成void,这样当我们在main方法中调用这个方法的时候,不再需要输出语句就可以直接通过该方法内的输出语句输出结果了。参数类型就设置成 int ,只需要一个参数

1.6统计100-999水仙花数

“输出三位数的所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3+ 5^3 + 3^3; 则这个三位数为水仙花数,比如:153=111+555+333”

public class Number{public static void main(String[] args){int count = 0;int bai;int shi;int ge;for(int i = 100;i <= 999; i++){bai = i / 10 / 10;shi = i / 10 % 10;ge = i % 10;if((ge * ge * ge + shi * shi * shi + bai * bai * bai) == i){System.out.println(i);count++;}}System.out.println("100-999的水仙花数总个数:" + count);}
}

1.7纸张折叠几次厚度就能超过珠峰高度

纸张厚度0.1毫米
珠峰高度8848米

 public static void main(String[] args) {double paper = 0.1;double mountain = 8848 * 1000;int count = 0;while (paper <= mountain) {paper *= 2;count++;System.out.println("第" + count + "次折叠后,此时纸张厚度:" + paper + "毫米,珠峰高度:" + mountain);}System.out.println("0.1毫米厚度的纸张经过" + count + "次折叠后,高度将超过珠峰高度。");}

1.8输出N行的杨辉三角形

在「杨辉三角」中,每个数是它左上方和右上方的数的和

import java.util.Scanner;
public class Test12 {public static void main(String[] args) {//给定一个整数,输出行数为这个整数的杨辉三角形Scanner sc = new Scanner(System.in);System.out.println("请输入杨辉三角形的行数:");int row = sc.nextInt();//根据行数先生成一个二维数组,行数就是数组的行数int[][] yangHui = new int[row][];//遍历二维数组for (int i = 0; i < yangHui.length; i++) {//每一行的列数都不同,每遍历一行就给二维数组的行声明并初始化长度(每一行的列数)yangHui[i] = new int[i + 1];//首尾元素赋值yangHui[i][0] = 1;yangHui[i][i] = 1;//尾元素赋值,等价于 yangHui[i][yangHui[i].length-1];//从第三行开始,给非首尾元素赋值if (i >= 2) {for (int j = 1; j < yangHui[i].length - 1; j++) {yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j];}}}System.out.println(row + "行的杨辉三角形如下:");//赋值结束后再次遍历数组for (int i = 0; i < yangHui.length; i++) {for (int j = 0; j < yangHui[i].length; j++) {System.out.print(yangHui[i][j] + "\t");}System.out.println();}}
}

1.8百钱百鸡

5文钱1只公鸡,3文钱1只母鸡,1文钱3只雏鸡,100文钱要买100只鸡,怎么买?
假设100文钱全部买公鸡,那最多只能买20只(100/5),不够100只
假设100文钱全部买母鸡,那最多只能买33只(100/3),不够100只
假设100文钱全部买雏鸡,那只要33文钱就能买99只了,还剩67文钱
所以,可以罗列情况来判断,都从0只开始买
如果买x=0只公鸡,买y=0只母鸡,那雏鸡需要买z=0只[雏鸡只能3只3只的买]
同时必要满足的条件
【数量:x+y+z==100】
【钱:5x+3y+z=100】

 public static void main(String[] args) {//100文钱最多只能买20只公鸡。如果不买只公鸡,还能买多少只母鸡和雏鸡呢?// 如果买1只公鸡还能买几只母鸡和雏鸡呢?System.out.println("100文钱买100只鸡的方案:");for (int x = 0; x <= 20; x++) {//100文钱最多能买33只母鸡for (int y = 0; y <= 33; y++) {//100文钱最多买100只雏鸡for (int z = 0; z <= 100; z += 3) {if ((5 * x + 3 * y + z / 3) == 100 && (x + y + z) == 100) {System.out.println("100文钱买100只鸡,可以买" + x + "只公鸡,买" + y + "只母鸡,买" + z + "只雏鸡");}}}}}

总结

双层for循环嵌套,先看内循环,再着手外层循环。

Java语法基础学习笔记05-1-循环案例+嵌套for-重点相关推荐

  1. Java零基础学习-笔记05

    1. 快速排序.冒泡排序 public static void main(String[] args) {int[] array = makeArray(10);System.out.print(&q ...

  2. 【Java】Java零基础学习笔记

    文章目录 前言 思维导图 前期准备 卸载JDK 安装JDK Hello,world 可能遇到情况 java程序运行机制 IDEA的安装 java基础部分 基础语法 运算符 包机制 javaDoc文档手 ...

  3. (Java零基础学习笔记)第二章 Java中的基本语法

    前言: 大家好! 我是BA unravel .如果你想和我一起学习JAVA,欢迎大家一起来学习这个世界上最好的语言! 学习目标: 一周掌握 Java 入门知识 学习内容: 1. 搭建 Java 开发环 ...

  4. 大三Java SE基础学习笔记

    Java及Java SE学习笔记 前言 主要用于记录学习过程中的一些笔记. 了解 JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等, ...

  5. Java SE基础学习笔记1·基础

    文章目录 Java 特点 Java语言跨平台原理 JRE 和 JDK JDK的下载和安装 常用DOS命令 配置Path环境变量 Java程序开发运行流程 基础语法 注释 关键字 标识符 小驼峰命名法: ...

  6. Java语言基础学习笔记——基础语法

    一.标识符 1:取名必须以_,$或者字母开头 2:变量必须先声明,赋值后才能使用 3:内存管理 4部分:1) code segment 存放代码                             ...

  7. Java web基础学习笔记

    1.xml概述 1.1xml:xml一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的关系 1.2xml保存数据的方法:xml利用标签来保存数据的内容,利用标签之间的嵌套关系 ...

  8. Spark基础学习笔记05:搭建Spark Standalone模式的集群

    文章目录 零.本讲学习目标 一.Spark集群拓扑 (一)集群拓扑 (二)集群角色分配 二.搭建集群 (一)私有云上创建三台虚拟机 (二)利用SecureCRT登录三台虚拟机 1.登录master虚拟 ...

  9. Java面向对象基础学习笔记(构造、重载、继承、多态、抽象类、接口、模块)

    Java面向对象编程包含哪些内容? 怎么理解面向对象编程? 现实生活中,我们定义了"人"的抽象概念,这就是类class,生活中的每一个具体的人就是实例instance. class ...

最新文章

  1. axios解决调用后端接口跨域问题
  2. Centos6.6安装zabbix server 3.2
  3. Android Q Labs| 结束演讲
  4. Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)...
  5. HTML中的国家名称代码表
  6. 【CodeForces - 289C】Polo the Penguin and Strings (水题,字符串,思维构造,有坑)
  7. python定义字符串数组_python数组声明
  8. [转]Error: SQL BPA command line has encountered a problem and needs to close
  9. 保存MATLAB工作区的矩阵为TXT文件
  10. EURAKA入门实例1
  11. 单模光电转换器怎么接_光纤收发器及其连接方式图解!
  12. 一个智能家居“适老化”的准样本
  13. 汽车行业数字化工厂建设方案
  14. ABAP 新特性 - CORRESPONDING
  15. android 怎么刷新view,android – 如何在ViewPager中刷新当前视图
  16. 苹果支付v2 通知(订阅/退款回调通知)
  17. matlab 毕业论文题目,matlab论文题目
  18. 07 接头暗语:如何利用 Netty 实现自定义协议通信?
  19. [算法设计题] 双栈结构
  20. 怎样从浏览器保存html文件在哪里,保存网页时HTML和MHTML区别在哪里

热门文章

  1. 星淘惠跨境:亚马逊SP广告是什么?SP广告有什么作用
  2. 数据结构-二叉树和堆的实现
  3. php吉祥物玩偶怎么获得,各种吉祥物小玩偶的钩法图解大全
  4. java调用javascript函数_[Java教程]JavaScript函数的4种调用方法详解
  5. python循环语句嵌套for range_python的列表的增删改查,元组的嵌套,及for循环,range的使用...
  6. PERTII型管在热力工程中有哪些优势
  7. 外文文献|电子商务网站的设计与实现
  8. pyqt5 GUI实战开发,eric6的安装以及eric6与Qt Designer的使用
  9. grep命令进行多条件查询
  10. Vuex的使用(四)——mapState的简化写法