黑马程序员————学习笔记(第三天)

 —————————— ASP.Net+Android+IOS开发.Net培训、期待与您交流!——————————

程序流程控制

  循环结构:

    1.while语句

      格式:

      while(条件表达式)

      {

        执行语句;

      }

      执行顺序:先判断条件,满足才执行循环体。

    2.do while语句

      格式:

      do

      {

        执行语句;

      }while(条件表达式);

      执行顺序:先执行一次循环体,再判断条件是否满足,满足再执行循环体。

        与while循环相比,do while语句无论条件是否满足,循环体至少被执行一次。

    3.for语句

      格式:

       for(初始化表达式; 循环条件表达式; 循环后的操作表达式)

       {

         执行语句;

       }

       执行顺序:

         1.初始化表达式。

  2.循环条件表达式。

  3.满足循环条件执行循环体。

  4.循环后的操作表达式。

  5.循环条件表达式。

  6.满足循环条件执行循环体。

  ......

  n.不满足循环条件就结束循环。

    循环语句特例:Demo01.java

/*
循环特例
*/
class Demo01
{
	public static void main(String[] args) 
	{
		// 第一种
		int x = 0;
		for (System.out.println("a"); x < 3; System.out.println("c"))
		{
			System.out.println("b");
			x++;
		}
		
		/*
		// 第二种(不常用,是while的另一种表现,但是换成for也没错)
		int y = 0;
		for ( ; y < 3; )
		{
			System.out.println(y);
			y++;
		}

		// 第三种 for死循环(谨慎运行)
		for (; ; )
		{
		}

		// 第四种 while死循环(谨慎运行)
		while(ture)
		{
		}
		*/
	}
}

    循环语句练习1:Test01.java

/*
需求:获取1~10的和,并打印。
思路:
通过循环对1~10进行累加操作。

步骤:
1. 定义变量,用于存储不断变化的和。
2. 定义变量,用于存储被加数。
3. 定义循环,进行累加过程。
*/
class Test01
{
	public static void main(String[] args) 
	{
		/*
		// while循环形式
		int sum = 0;
		int a = 1;
		while (a <= 10)
		{
			sum = sum + a;
			a++;
		}
		System.out.println("sum = " + sum);
		*/

		// for循环形式
		int sum = 0;
		for (int a = 1; a <= 10; a++)
		{
			sum = sum + a;
		}
		System.out.println("sum = " + sum);

	}
}

    循环语句练习2:Test02.java

/*
需求:获取1~100之间7的倍数的个数,并打印。
思路:
1. 对1~100进行遍历(循环形式)。
2. 遍历过程中对7的倍数进行操作。
3. 使用一个变量记录对7的倍数操作的次数。

步骤:
1. 定义循环语句(for)
2. 在循环中使用if条件语句判断7的倍数,条件:x%7 == 0;
*/
class Test02
{
	public static void main(String[] args) 
	{
		int count = 0; // 定义变量记录操作次数
		for (int x = 1; x <= 100; x++)
		{
			if (x%7 == 0)
			{
				count++;
			}
		}
		System.out.println("在1到100中,7的倍数有:" + count + "个");
	}
}

    for嵌套练习:ForForTest.java

/*
需求1:打印以下图形

*****
****
***
**
*

思路:
采用for循环的嵌套(行列控制)。

步骤:
1. 定义一个for循环(循环1),用于控制行。
2. 在循环1的内部定义一个for循环(循环2)用于控制列。
3. 使循环1的变量自增(行数依次增加),循环2的变量自减(列数依次减少)。
4. 循环1每完成一次,列数减一。
--------------------------------
需求2:打印以下图形

*
**
***
****
*****

思路:
同需求1。

步骤:
1. 同需求1。 
2. 同需求1。
3. 使循环1的变量自减,循环2的变量自增。
4. 循环1每完成一次,列数减一。

规律:
需求1,使初始化值跟随外循环变化
需求2,使循环条件跟随外循环变化
--------------------------------
需求3:打印以下图形

1
12
123
1234
12345

思路:
与需求2同理

步骤:略

需求4:
打印九九乘法表

*/
class ForForTest
{
	public static void main(String[] args) 
	{
		for (int x = 0; x < 5; x++)
		{
			for (int y = x; y < 5; y++)
			{
				System.out.print("*");
			}
			System.out.println(); // 仅用于换行
		}

		System.out.println("--------------------");

		for (int x = 0; x < 5; x++)
		{
			for (int y = 0; y <= x; y++)
			{
				System.out.print("*");
			}
			System.out.println(); // 仅用于换行
		}

		System.out.println("--------------------");

		for (int x = 1; x <=5 ; x++)
		{
			for (int y = 1; y <= x; y++)
			{
				System.out.print(y);
			}
			System.out.println();
		}

		System.out.println("--------------------");

		for (int x = 1; x <= 9; x++)
		{
			for (int y = 1; y <= x; y++)
			{
				System.out.print(y + "*" + x + "=" + y * x + "\t");
			}
			System.out.println();
		}
	}
}

其他流程控制语句

  break(跳出循环)、continue(继续)

  应用范围及特点:

    break:循环结构和选择结构

    continue:循环结构(特点:结束本次循环,继续下一次循环)

  总结:break和continue单独使用时,后面不能有任何语句。

  程序练习:ForForTest02.java

/*
需求:用程序将下面的图形打印出来

   *
   * *
  * * *
 * * * *
* * * * *

思路:for循环嵌套

步骤:略
*/
class ForForTest02
{
	public static void main(String[] args) 
	{
		for (int i = 0; i < 5; i++)
		{
			for (int j = i + 1; j < 5; j++)
			{
				System.out.print(" ");
			}
			for (int k = 0; k <= i; k++)
			{
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

函数(方法)

  定义

    定义在类中的具有特定功能的一段小程序,是java中最小的功能单元。

  格式

    修饰符 返回值 函数名(参数类型 形式参数1,参数类型 形式参数2, ....)

    {

      执行语句;

      return 返回值;

    }

  特点

    1.可以将功能代码进行封装。

    2.提高代码的复用性。

    3.函数只有被调用才会被执行。

    4.如果函数不需要返回任何值,返回值类型用void表示,return语句可以省略。

  重载(Overload)

    概念:在同一个类中,允许存在一个以上的同名函数,但是它们的参数参数个数或者参数类型不能相同。

    特点:与返回值无关,只与参数列表有关。

    好处:方便阅读,优化程序的设计。


  函数练习:FunctionTest.java

/*
需求1:定义一个功能打印矩形。

思路:
1.直接打印矩形,无需返回值。
2.有未知内容参与,矩形宽高。

步骤:
1.定义函数,接收两个未知参数(矩形宽高)。
2.使用for循环嵌套打印矩形。

需求2:定义一个功能函数,打印不确定最多几乘几的九九乘法表。

思路:
1.直接打印,无需返回值。
2.有未知内容参与,需要打印到几乘几。

步骤:
1.定义函数接收一个参数(几乘几不确定)。
2.for嵌套

*/
class FunctionTest
{
	public static void main(String[] args) 
	{
		drawRect(5,5);
		drawHr(); // 分割线方法
		print99(5);
		drawHr();
		print99();

	}

	public static void drawRect(int w,int h)
	{
		for (int x = 0; x < w; x++)
		{
			for (int y = 0; y < h; y++)
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}

	public static void drawHr()
	{
		System.out.println("------------");
	}

	// 打印指定范围的乘法表
	public static void print99(int x)
	{
		if(x <= 9 && x >= 1)
		{
			for (int a = 1; a <= x; a++)
			{
				for (int b = 1; b <= a; b++)
				{
					System.out.print(b + "*" + a + "=" + b*a + "\t");
				}
				System.out.println();
			}
		}
		else
		{
			System.out.println("计算范围错误!正确范围:1~9");
		}
	}

	// 默认打印九九乘法表
	public static void print99()
	{
		print99(9);
	}

}

  注意:函数内部只能调用函数,不能定义函数。

数组

  定义:同一种类型数据的集合。

  好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

  格式1:

    元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

    如:int[] arr = new int[3];

  格式2:

    元素类型[] 数组名 = new 元素类型[]{元素1, 元素2, ...};

    如:int[] arr = new int[]{1,3,4,6};

        int[] arr = {1,3,4,6};

  注意:

    new关键字用于在堆内存中产生一个实体


 —————————— ASP.Net+Android+IOS开发.Net培训、期待与您交流!——————————
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值