从锦囊妙计想到的18–屏幕输出顺序和显示

  categories:资料  author:

这次真的很久没写东西了, 今天写点东西

前面说了很多编程的事情, 今天写点特别的东西, 是非常基础的, 但是却是非常重要, 同时也是很多计算机人容易忽略的!

一。 显示器和键盘的介绍

如下图

相信上面的 图片, 和图片里面的内容大家都能理解。

大家若是有用过电脑的人, 大家都知道。

看下面一张图

我们在键盘输入东西屏幕会显示, 这个过程可以叫做回显,  显示顺序是  从上到下,   一行一行进行显示。

在如下图, 看一行内的情况

我们从这个图片里面看到, 显示  是一行内  先显示左边的, 然后向右进行

在如下图

这一行输入完成后, 键入enter后, 换行, 这个时候根据情况进行处理了。 这里是个命令行窗口因此, 键入enter会把输入作为命令的

 

用一句不太严格的话总结一下, 这个显示过程就是:   像水流一样, 从左向右,    流动输出, 直到遇到 让他换行的东西, 他就 从上一行换到了, 下一行, 并且仍然是 从左向右 流动输出, 直到遇到 换行, 直到屏幕都满了, 然后屏幕开始向上滚动!

看似简单要牢记, 否则后面做题你不会的!!!

 

二。 了解一下 程序输出的情况

如下图

代码是:   System.out.print(“123456789″);

通过上面, 我们要了解到

1. 一个黑色的窗口, 同eclipse中的白色控台窗口是 等效的, 就像同一个人 有时候穿了黑色的衣服, 有时候穿了白色的衣服。但是功能还是一样的。

2. System.out   就代表   黑色或者 白色的窗口(就是显示屏)

3. print 是打印的意思, 其实就是输出

这个语句下去就是, 在  显示器上 输出一个123456789

 

三 程序换行

一)换行的情况

下面看一下程序换行的情况

如上图, 代码变化在

System.out.print(“12\n34567\n89″);

如上图,中红色的部分, 多了一个 “\n”的符号, 那么输出结果在 12后面更换了行, 在67后面也更换了行

看到, 字符串是 从左到右的 流动输出, 然后遇到 \n后, 换行到下一行的最前面, 然后接着从左到右输出34567然后遇到了“\n”然后再次换地方到 行首

 

二)多行输出的情况

如下图

代码如下:

System.out.print(“1\n”);
System.out.print(“12\n”);
System.out.print(“123\n”);
System.out.print(“1234\n”);
System.out.print(“12345\n”);
System.out.print(“123456\n”);

上面程序输出了一个  三角形,  程序关键要是  在1 或者2, 或者3 后面都有一个  \n 的字符, 这样 在屏幕上就会换行

那么上面的  的\n是否可以不写?

 

三)换行输出

如下图效果

代码如下:

System.out.println(“1″);
System.out.println(“12″);
System.out.println(“123″);
System.out.println(“1234″);
System.out.print(“12345\n”);
System.out.println(“123456″);

通过上面可以看到  println  是在输出字符串后面, 自动添加了 \n

四)输出一下有效的图形

下面需要输出如下的图形如何输出?

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

分析一下:

因此我们可以用程序打印字符串 *的方式输出

System.out.println(“*”);   输出一个*  然后换行

System.out.println(“**”);  输出两个** 然后换行

完整的程序如下:


public class testOutput {
 public static void main(String[] args) {
 System.out.println("*");
 System.out.println("**");
 System.out.println("***");
 System.out.println("****");
 System.out.println("***");
 System.out.println("**");
 System.out.println("*");
 }
}

五)在多点的 输出图形!

看下面的图形

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

下面的图形, 同上面四)类似, 无非多了几行, 因此可以简单修改一下:

System.out.println(“*”);
System.out.println(“**”);
System.out.println(“***”);
System.out.println(“****”);
System.out.println(“****”);
System.out.println(“****”);
System.out.println(“****”);
System.out.println(“****”);
System.out.println(“***”);
System.out.println(“**”);
System.out.println(“*”);

好了, 那么有了这个基础, 就可以前进一下了!

若是有一万行是否, 要写一万行的输出?  如何解决?

 

四. 重复的工作交给循环去做

一)循环的作用

前面说了,若是输出一万行, 难道还要写一万行代码吗?

先来个简单的

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

….

….

….
*****

一共输出  100行, 如何写。   若是一行一行写, 就麻烦大了!

代码如下:

public class testOutput {
public static void main(String[] args) {
for(int i = 0; i < 100; i++)
{
System.out.println(“*****”);
}
}
}

看到上面的 一个循环程序, 能解决的问题

那么若是 需要一千行,  仅仅变为  for(int i = 0; i<1000; i++){ ….. }  就可以了。

 

二) 多层循环

上面是个简单的循环

那么下面图形如何输出?

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

关键在 每行的递增, 参考代码如下:

public class testOutput {
public static void main(String[] args) {
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < i; j++){
System.out.print(“*”);
}
System.out.println(“*”);
}
}
}

通过2层循环解决 问题!

这个是最好的办法吗?

那么还有什么办法解决这个问题,

更复杂的问题如何解决?

下图如何输出

这个做出来, 才说明上面你明白了!

别看就是一个打印, 估计肯定有不知道如何做的!

下一篇文章, 说明如何解决这个问题!  并且给出一个  相对标准的思路来解决它!

 



快乐成长 每天进步一点点      京ICP备18032580号-1