搜狐首页-新闻-体育-娱乐-财经-IT-汽车-房产-家居-女人-TV-ChinaRen-邮件-博客-BBS-搜狗 
Java咖啡馆(5)——Java语言基础

时间:2005年03月28日14:43   热点排行】 【推荐】 【打印】【关闭
我来说两句 我来说两句 即时新闻通知 进入新闻论坛 相关新闻:
 

  第一篇:(1)叹咖啡

  第二篇:(2)第一杯咖啡

  第三篇:(3)Eclipse

  第四篇:(4)品味第一杯咖啡

一、黄蓉难倒瑛姑的数学题

  看过《射雕英雄传》的朋友,一定被黄蓉的机灵鬼怪、冰雪聪明深深打动。比如黄蓉遇上神算子瑛姑,给她出的三道题目中有一题是这样的:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?也就是说,有一个未知数,这个数除以三余二,除以五余三,除以七余二,问这个数是多少?在一部武侠巨著中巧妙嵌入中国古代数学精粹,金老先生果真才高八斗啊!

  小提示

  快去尝鲜Eclipse 3 Release

  经过几近吊胃口的n长时间的测试迭代,Eclipse.org终于按时放出正式版,对于Java爱好者而言,不谛是夏日的盛大礼物。

  Eclipse 3的新功能非常多,增加了许多体贴的细节功能。赶快阅读Eclipse 3.0 New and Noteworthy:https://download.eclipse.org/downloads/drops/R-3.0-200406251208/eclipse-news-R3.html,亲自品味一下这个新版本!

二、Java v.s. 神算子

  可惜宋朝没有Java,否则英姑一定不会被黄蓉难倒。

  打开Eclipse,新建一个Java项目,名称叫做“黄蓉的题目”。然后新建一个Java类,名字叫做JavaCalc,记得在“public static void main(String[] args)”选项前打上勾。按照图1所示输入Java程序,共五行代码(图1)。

  运行程序,你就会得到如图2所示结果(图2)。

  通过验算,23果然就是满足题意的一个解。程序编写的具体操作步骤不再赘述了,如果你还不熟悉,赶快翻翻前几期的《Java咖啡馆》好好复习一下吧!

  短短五行程序就解决号称神算子英姑挠破头皮都没想出来的问题,是不是很神奇呢?其实,这些代码包含了许多Java语言特性,比如变量、操作符、流程控制语句。或许这些代码对你而言还有些神秘,结合这道题,再看看下面的介绍,马上就会领悟到其中奥妙。

  1.变量(variable)

  变量是用标识符表示的(拥有名字)用来存储值(拥有内涵)的物体。代码:

int X;

  就是一个变量声明语句,宣告X是一个int类型的变量。

  为了声明一个变量,你必须明确提供这个变量的类型和名称。

  变量的类型是用来确定变量可以存储的数据类型和可以对该变量进行的操作。比如上面代码中,X是int类型,即一个整数,只能够把整数赋给这个变量,比如X=0。你也只能对X进行算术运算,比如加、减、乘、除以及取余数等。

  Java的变量分为“原始类型(primitive type)”及“引用类型(reference type)”两大类。其中“原始类型”的变量保存的是拥有特定大小和类型的简单数据,比如一个整数、一个字符、一个布尔值(以逻辑学家Geogre Boole命名的变量类型,只有两种值??真或假,属于经典的二值逻辑)等。与“原始类型”不同,“引用类型”是一个参照的概念,指向内存中某个具体对象(的地址)(见图3)(图3+4  左侧为“原始类型”,右侧为“引用类型”,通过对比,我们可以看到它们的不同)。


  我们现在接触“原始类型”比较多,足够完成复杂任务。“引用类型”在面向对象概念中起了重要作用。

  为什么Java语言中要这么分两种变量类型呢?这是出于对执行效率的考虑。“引用类型”服务于对象,是面向对象的基础设施,用面向对象的方法构架和设计系统很漂亮,但是“引用类型”的执行效率远不及“原始类型”。从而,Java实际上是“原始类型”和“引用类型”结合使用的计算机语言,从这点上讲,Java并非纯粹的面向对象语言。当然,Java提供了与int类型(原始类型)遥相呼应的Java类??Integer类型(引用类型),它们可以互相转换,新版本的Java还提供了自动转换的功能,这是后话了,暂且不提。

  Java的原始类型列举如下:

类型
描述
大小
byte 8-bit长的整数 8-bit
short 短整数 16-bit
int 整数 32-bit
long 长整数 64-bit
float 单精度浮点数 32-bit IEEE 754
double 双精度浮点数 64-bit IEEE 754
char 单个字符 16-bit Unicode字符
boolean 布尔值 true或false

  值得一提的是,Java语言明确规定了变量类型的大小,为跨平台铺平道路。

  变量名就是变量的名字,你是通过变量名访问实际变量的,所以变量名有严格的规定。在Java中,变量名必须是:

  ★标识符,即符号开头的字符串。
  ★不能是关键字、布尔值(true或者false)以及保留字null。
  ★在作用域内惟一,即一个作用域内变量名必须惟一。

  看起来规矩很多,其实也很合理。比如给小孩起名字,总是以百家姓作为姓氏,如果名字叫做“¥皓”,别人一定认为是开玩笑或者是奇怪的网名。当然,小孩的名字也不能叫做“总统”、“皇帝”之类的关键词,以免引起误会。说到作用域惟一,也很好理解:中国叫做吴宗宪的人太多了,学校里(一个作用域)会用学号惟一标识你的身份,而不会逼迫你改名为吴宗宪2004等。

  虽然合法的都能够成为变量名,但给变量起一个有意义的名字,是一个良好的素质,免得阅读代码时,别人看不懂,自己也看不懂。举个例子,给变量起变量名正如起暗号,最好不要起“打死我也不说”这样的暗号,不然,有你好受的……

  最后说说作用域。作用域是指变量在程序内部能够被访问到的区域。比如我们的程序中,变量X在整个main方法中都能够被访问到,非常直观。你可以借助Eclipse的力量体验一下这个概念:如果作用域不对,Eclipse会毫不犹豫地警告你。

  定义了变量就能够通过“=”给它赋值,正如程序中所做的。

[1] [2下一页 


页面功能   【我来说两句】 【热点排行】 【推荐】 【字体:  】 【打印】  【关闭

 ■ 相关链接

 ■ 我来说两句
用  户:        匿名发出:
请各位遵纪守法并注意语言文明。
 
*经营许可证编号:京ICP00000008号
*《互联网电子公告服务管理规定》
*《全国人大常委会关于维护互联网安全的规定》
手机
包月自写5分钱/条

最新制作 想唱就唱
夏天的味道 哪一站



精品专题推荐:
谁说赚钱难告诉你秘诀
测IQ交朋友,非常速配
就让你笑火暴搞笑到底

短信订阅
焦点新闻魅力贴士伊甸指南魔鬼辞典



公社热图


·[组图]大陆第一美女模特
·[图]这就是人死后世界?
·女星中的九大混血妖姬









搜狐商城
 
·数码|iPod nano¥1799
·I T|1G 微盘特价¥399
·家电|飞利浦耳机特价
·家电|USB音箱5折
·家电|飞利浦耳机特价
更多...
-- 给编辑写信
Copyright © 2017 Sohu.com Inc. All Rights Reserved.搜狐公司 版权所有 全部新闻 全部博文