webrebuild.org第四届年会——金秋四城联动
大白的工作笔记 注册 | 登陆

零基础学java

最近在学习java,但是如何快速高效率的学习是个问题。每个人接收新事物的方式都不同,我属于自由在折腾中才能学会的人。从以前学习css,js来看,都是需要折腾才能把东西记住的。书看了真的不是那么容易记忆的。

首先折腾的第一个程序:

实现这个效果

    *
  ***
*****

幸亏在之前自习看过js的面向对象编程方式,要不然对java的代码估计会一头雾水。很多java权威书都是基于你已经理解面向对象编程的基础上去写的,怪不得我之前看书看得云里雾里。

好了现在折腾这个效果:

1.建立一个demo的包
2.建立一个Yhsjx.java 的类(杨辉三角 其实这个效果只不过是看上去像杨辉三角而已 ,杨辉三角比这个复杂多了)
写第一段代码:

Java代码
  1. package demo;   
  2.   
  3. public class Yhsjx {   
  4.     public static void main(String[] args) {   
  5.         // TODO Auto-generated method stub   
  6.   
  7.     }   
  8.   
  9. }  

这个就是java的基本代码。我站在从前端角度走过来的视角来看这个问题,首先,应为前端角色接触的js大部分都是流程编程,所以看到这个会觉得奇怪,为啥代码要匡到这些代码里面,不框这里面不行么。 框在这里面是干嘛用的。 其实这是我看到这个基本代码的一系列问题。

但是现在我是初学,依葫芦画瓢,这些问题都以后再理解,只要记住你代码就只能写在 这个基本代码里面。就可以了。

 

Java代码
  1. package demo;   
  2.   
  3. public class Yhsjx {   
  4.     public static void main(String[] args) {   
  5.         String c = "*";   
  6.         for(int i =0; i < 3; i++){   
  7.             System.out.println(c);   
  8.             c+="**";   
  9.         }   
  10.     }   
  11. }  

这个输出结果是:

*
***
*****

这个输出在哪里? 在没学之前我就根本不知道这些打印是输出在那里的。像js里你可以输出在页面,也可以alert弹出。 在java里面这些输出会在console里面输出,也就是说他有一个现实信息的控制台。输出的信息在里面,另外错误信息 和警告都会在里面。

现在我们输出的 和我们想要的结果不一样,但是这个是最基础的 东西,所以解释下代码。首先定义一个变量 c 类型是String ;这个和js不一样,js是弱类型的,所有变量都可以直接用var 并以,但是java不行,你要用什么类型就得用什么关键字定义。 应为我输出的是字符,最开始我是用char来定义,写成 char c = "*";结果报错了,后来询问了才明白char类型定义的单个要用单引号......额在java里面还区分单引号和双引号的。后来jond(我公司的java程序员)让我改成用String类型。

然后是一个for循环,应为我要输出3行,所以我就循环输出咯。 这个循环结构和 js 的是一样的,不做多说。

最后我们在循环体里面打印字符,然后累加。

现在要走的就是把这些*对其。对其的话最简单就是补充空格了。做前端的千万别想着加一个css的居中属性就解决了,控制台是输出信息的,不能用css格式化·····

加空格就是算法的问题了, 我们要在第一行加2个空格,第2行加1个空格,第3行家0个空格。

 

Java代码
  1. package demo;   
  2.   
  3. public class Yhsjx {   
  4.     public static void main(String[] args) {   
  5.         String c = "*";   
  6.         String k = "";   
  7.         for(int i = 0; i < 3; i ++){   
  8.                
  9.             System.out.println(k + c);   
  10.             k += " ";   
  11.             c += "**";   
  12.         }   
  13.     }   
  14. }  

输出结果:

*
 ***
  *****

显然,空格的输出是反了的, 我下想要的是 第一行2个,第三行0个,结果反过来了。 应为只有一个循环。所以我没有想到好的方法在一个循环里面解决这个问题。所以我想在这个循环里面存储数组,在下一个循环里面显示数据。

 

XML/HTML代码
  1. package demo;   
  2.   
  3. public class Yhsjx {   
  4.     public static void main(String[] args) {   
  5.         String a = "";   
  6.         String b = "*";   
  7.         String[] k = new String[3];   
  8.         String[] c = new String[3];   
  9.         for(int i = 0; i < 3; i ++){   
  10.             k[i] = a;   
  11.             c[i] = b;   
  12.             a += " ";   
  13.             b += "**";   
  14.         }   
  15.         for(int i = 0;i < 3;i++){   
  16.             System.out.println(k[(3-1)-i]+c[i]);   
  17.         }   
  18.     }   
  19. }  

    *
  ***
*****

现在就ok了哦

呵呵,下一步需要把 行数 用参数来调用。 所以需要把这个算法写成一个方法...现在要工作有空再写。

 

 

Tags: java学习, 学java, 如何学java

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

3条记录访客评论

隔离卡批发.价格优惠.电话:

Post by 隔离卡 on 2009, December 4, 6:29 AM 引用此文发表评论 #1

食堂承包www.shsx88.com

Post by 食堂承包 on 2009, December 3, 3:19 PM 引用此文发表评论 #2

烤肉炉百度烤肉炉纸上烤肉炉烧烤炉专用纸围裙其它致富小机械批发.价格优惠.电话:02482116562 QQ:491783951 网址:http://www.086hh.com

Post by 烤肉炉 on 2009, December 2, 7:19 PM 引用此文发表评论 #3


发表评论

评论内容 (必填):