佰落暑期java自学记录-6
记录时间:2019-7-26
记录内容摘要:
1、for循环
2、continue与break;
3、实现打印n行菱形图案及心得
1、for循环
for循环中直接写出循环变量初始化、循环条件、变量更新;使循环更加简洁明了
形式为for(循环变量初始化;循环条件;变量更新)
{
循环体
}
上述for中分为三条语句,在适当情况下均可省略,但分号不能省略,三个语句均省略即为标准死循环;
2、continue与break
continue是在循环中跳出本次循环内容;
使用continue时要注意在for循环中使用时,会跳到更新循环变量步骤,然后再判断循环条件
break是跳出该循环体执行下一语句;
相当于强制退出循环;
3、实现打印n行菱形图案及心得
话不多说先甩代码
public class Picture
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
//计算两点所成的直线;
// System.out.println("请输入点1:");
// int x1 = input.nextInt(), y1 = input.nextInt();
// System.out.println("请输入点2:");
// int x2 = input.nextInt(), y2 = input.nextInt();
//
// double k = (y2 - y1) / (x2 - x1);
// double b = y2 - k * x2;
// System.out.printf("y = %.2f * x + %.2f",k,b);
//打印五行的菱形
// for(int i = 1; i < 6 ; i ++)
// {
// for(int j = 0 ;j < 6 ; j ++)
// {
// if(i >= 4 - j && i <= 8 - j && i <= 2 + j && i >= j - 2 )
// System.out.print("*");
// else
// System.out.print(" ");
// }
// System.out.println();
// }
System.out.println("请输入打印菱形的行数:");
int hang =input.nextInt();
int m = (hang + 1) / 2;
for(int i = 0; i < hang + 1; i ++)
{
for(int j = 0 ;j < hang + 1; j ++)
{
if(i >= (1 + m) - j && i <= (m + hang) - j && i <= (m - 1) + j && i >= j + (1 - m))
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}
其实学习c语言的时候也做过该题,今天又做了一遍,感触良多;(想不出怎么表达)
1、无论什么程序都是从最基本的开始逐步实现的;
想要输出n行,那么首先要知道有限行例如三行是怎么输出的,然后按照程序规律来推广到无限行;从简单的开始来攻克困难的
2、程序之中没有复杂与简单,都是从最基本的规律中推导出算法;
没有什么捷径可以直接按照人的思维来输出,计算机只能机械性的执行设定好的程序,计算机的强大在于其 计算能力,并且没有半点联想能力,所有的步骤都是基于程序员给的代码来运作。