August 19th, 2008  | Categories: Techniques  | Tags:

前几日在学习Java的时候我家Smigoo遇到了一个小麻烦,怎么调试都无法通过,因此向我求救。在看了代码之后我也糊涂了,一时找不出问题出在什么地方。源代码如下,目的是为了测试代码点和代码单元的不同。

public class AA
{
    public static void main (String[] args)
    {
        String greeting=”hello”;
        int n=greeting.length();
        int m=greeting.codePointCount(0,greeting.length());
        System.out.println(n,m);
    }
}

一开始使用Notepad++编写源代码进行编译也是一样无法通过,奇怪了,JDK返回如下的错误。

read more…

1 Comment (696 views)
August 17th, 2008  | Categories: Internet, Software  | Tags: ,

浏览器越来越多,各自有各自的特点,因此我在虚拟机中安装了不少的浏览器,来测试各个浏览器有什么不同。我在虚拟机中安装了Windows XP Professional,CPU Intel T7500 2.2GHz,分配给虚拟机的内存为512MB。然后再于XP中安装了Internet ExplorerOperaFirefoxMaxthonSafari以及360安全浏览器。为了对截取的图片进行一些简单的处理,我安装了Paint.net。因为Paint.net是使用C#编写,基于.net Framework,因此我又安装了.net Framework 3.5。又因为安装.net Framework需要Windows Installer 3.1,我又安装了Windows Installer 3.1。从头到尾忙坏了。

先从现在人气很高的Firefox说起,最新版本是3.0.1。在界面上和2.0的版本相差不大,但是主要改进在于安全性,兼容性和网页打开的速度上。

firefox_snapshot 主流浏览器对比

read more…

4 Comments (1,466 views)
August 15th, 2008  | Categories: Audio Video  | Tags:

最近听ORICON发现好听的歌还是有不少的,推荐一下。

キセキ,这首歌初次听起来感觉一般,但是听过几次之后就感觉其实还是不错的,这也是我推荐的原因。对于演唱者GReeeeN,我不是很熟悉,大概是个组合。不过听歌关注的就是音乐,何必那么关注演唱者呢。

キセキ

 下载

还记得《一升的眼泪》中的粉雪么,演唱者レミオロメン带来了新歌,もっと遠くへ和オーケストラ。这两个首歌算是比较耐听的,值得听一听。不过很可惜,我没有在往上找到着两首歌的试听。只有自己去下载ORICON排行榜了。

ARIA,这首歌相当不错,带有点梦幻的感觉,风格有点类似于中国式的音乐,和Alan的歌有点像,但却是一首很不错的,很有特点。对于演唱者Kalafina,我还是第一次听说,但是实力似乎很强,这次ORICON有两首歌上榜,另外一首是Sprinter,不过我也没有找到这首歌的试听。

ARIA

 下载

另外aiko的KissHug也值得一听,曲子很好听,可是演唱的声音却感觉有些刺耳,引起我注意的也是因为它的曲子。虽然找到了这首歌的试听,但是链接似乎有问题,始终不能播放。

最后推荐一首何度も,它的演唱者是唱过そばにいるね的青山テルマ,这首歌也很具有青山テルマ的风格。但是和さばにいるね相比起来,这首歌就显得逊色多了,因此在ORICON上待的时间也不长,不过还是值得一听。

何度も

 下载

好听的歌有不少,但是有几首我没有找到下载的链接。如果对ORICON感兴趣的话可以下载ORICON榜单TOP20

3 Comments (1,117 views)
August 11th, 2008  | Categories: life  | Tags: ,

今天把上次制作的测量是否肥胖的程序修改了一下,现在这个程序可不是玩具了,已经能计算BMI值,并根据BMI值测量是否肥胖。关于算法,在Google上百度了一下,居然发现都是男女统一的标准。

8.12更新,修改男女计算分类,按照BMI算法不分男女。改动不大,修改过的代码就不放出了。

read more…

7 Comments (1,803 views)
August 10th, 2008  | Categories: life  | Tags:

七号早上和老婆一起去杭州,于昨天晚上回南京,所以这几天不在南京,日志没有更新。

七号下午的火车,晚上才到杭州,直接找地方住下。八号和老婆去西湖玩了。去杭州除了西湖也不太清楚还有什么别的地方了。杭州不像南京有好几个有名的地方,除了中山陵,还有夫子庙,紫金山,玄武湖之类的,虽然实际上不怎么样,但是名气还是很大的。奥运会8点开幕,回住处还是比较早的。

这次北京奥运会开幕式我的感觉就是很一般,只有一开始的倒计时和烟花组成的脚印还比较有意思一些。其他实在没有什么可圈可点之处。不过我也没有对北京的这次开幕式有什么太高的期望。至于点火我就不说什么了,实在很一般,火炬设计的甚至有点丑。

这次在杭州还是有不少有趣的事情的。尤其是在西湖边上有一个小伙子本来想大显身手一下,从本来是过滤水体的很窄的水泥石板上走过去,长度大概有20米,站不好就会掉湖里。结果,真是露脸了,走到一半不敢走了,旁边围观的月来越多,还以为小伙子有什么想不开,连保安都招来了。还有,看奥运开幕式的时候,江泽民也在领导席中,感觉那张脸长的跟福娃一样。另外,在杭州没有看到麦当劳,只看到肯德基。

west-lake-thumb 杭州归来

拍了一张西湖的全景,天气不是很好,有一中灰蒙蒙的感觉,经过PS调整一下,效果稍微改善了一些,没有失真。GPS放在包中,忘了带了,所以照片没有被定位,只有我自己上Google Earth去找方位了。

9号中午在杭州的豪尚豪吃中饭,实在太差了,下次再也不会去了。买了回南京的车票,上车后发现买错了,这是普快火车,而且是从杭州到齐齐哈尔的,到南京要12:09,而且车上全是北方人,实在受不了。于是决定和老婆等车到上海之后就下车,坐动车回南京。虽然多花了点钱,但是回来比原来早多了,6:18在上海开的动车,8点一刻就到南京了。

这次去杭州玩还是很开心的,下次继续和老婆出去旅游。

6 Comments (1,803 views)
August 6th, 2008  | Categories: life  | Tags: ,

此灵感来源于老婆手机上的一个程序,因此我也制作了一个测试身材是否肥胖的程序。感兴趣的就来测测吧。

read more…

4 Comments (2,246 views)
August 6th, 2008  | Categories: Techniques  | Tags:

明天和老婆要去杭州了,今天把Java教程更新一下。接上一篇,继续讲解Java中的类。

上次结尾说到Java类的构造器。构造器有几个特性:

构造器与类同名
每个类可以拥有一个以上的构造器
构造器可以有多个参数
构造器没有返回值
构造器总是伴随new运算符一同使用

构造器与类同名,这是Java规范就这么定义的,没有什么好解释的。每个类可以拥有一个以上的构造器,但是构造器只能伴随着new运算符使用一次,因此只能调用一个构造器。那为什么可以拥有多个构造器?原因在于每个构造器中参数数量已能相同,因此传递给构造器相应数量的参数,就会调用拥有相应数量参数的构造器。因此可以为参数数量不定的情况设计多个构造器,而在运行时自动调用。默认情况下,我给构造器传递参数则会调用默认的没有参数的构造器。

read more…

1 Comment (1,758 views)
August 3rd, 2008  | Categories: Techniques  | Tags:

面向对象编程最大的体现就是类。Java是完全面向对象(OOP,Object Oriented Programming)的编程语言,任何程序都是基于类。面向对象编写的程序是由对象组成的,这些对象有自己的属性和能够执行的操作。

Java中所有的代码都写于类的内部。可以把类看成生产汽车的模型,只要根据模型就可以生产同样型号的成品汽车,成品可以有很多了,而模型只需要有一个。类也是如此,可以实例化一个类而生成一个“成品的”对象。更细一点看,可以把发动机与变速箱看作两个不同的类,各自有不同的构造和功能,而之间也可以相互协作。同样,不同的类之间也能互相操作。

Java中使用class关键字声明一个类,其后跟着类名。类名的首字母必须大写,类名中不能含有空格,建议类名中每个单词的首字母都进行大写。一个基本的类定义形式为:

class ClassName{
    constructor    //构造器
    …
    method    //方法
    …
    field    //域
    …
}

read more…

2 Comments (2,053 views)
July 31st, 2008  | Categories: Techniques  | Tags:

Java中的运算符与其他大多数语言的运算符基本一致,作用相差不大。同一个级别的运算符以从左向右的顺序运算,右结合的运算符除外。

运算符 结合性
[] . () (方法调用) 从左向右
! ~ ++ — +(一元运算) -(一元运算) ()(强制类型转换) new 从右向左
* / % 从左向右
+ - 从左向右
<< >> >>> 从左向右
< <= > >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
= += -= *= /= %= &= |= ^= <<= >>= >>>= 从右向左

 

Java中没有C++中的逗号运算符,不过可以在for语句中使用逗号运算符分隔表达式列表。另外在函数参数中也可以使用逗号分隔多个参数。

Java中使用if关键字作为条件语句,格式为

if (condition) statement

read more…

3 Comments (1,720 views)
July 28th, 2008  | Categories: Techniques  | Tags:

上次说过Java是强类型语言,每一个变量属于一种数据类型。在声明变量时,变量类型在前,变量名在后。比如:

int speed;
Date today;

在Java中,声明一个变量是一条完整的语句,所以需要在每一个生命结束后添加分号表示语句的结束。(所有程序语言中使用的标点符号均是英文标点)

Java中变量名必须是以字母或者下划线开头的字母或者数字序列。但是Java中允许的字母范围比其他的编程语言都要大,在Java中变量名中的字母不仅可以是英文字母,也可以是法文,德文或者希腊文中的字母,可以是任何Unicode字母。但是不能包含空格以及一些特殊符号,比如’+'和’©’都是非法的。另外Java是对大小写敏感的,且对变量名长度没有限制。

声明一个Java变量之后,如果需要使用变量就必须先要对变量进行初始化赋值。语法与大多数编程语言类似。比如:

int speed=120;

Java中使用final关键字声明常量(在ActionScript等语言中使用const关键字声明一个常量,在Java中const是保留关键字,但是并未被使用),常量只能被赋值一次,之后就不能再做更改。惯例上常量使用大写字母。声明常量的方法:

final double GRAVITY=9.8;

另外,如果希望某个常量属于类(通过类调用)而不是通过类的实例,就可以把常量声明为静态常量。Java中使用static来声明静态类型。例如:

class Earth{
    public static void main(String[] args){
        System.out.println(”The gavity of Earth is “+GRAVITY);
    }
    public static final double GRAVITY=9.8;    //声明静态常量
}

调用静态常量的方法是类名加’.'加常量名,比如:

Earth.GRAVITY;

未完待续…

5 Comments (1,716 views)
Top