摘要: 首先,我们看看在Java语言中,一个较为经典的问题。shorts = 1;s= s+1;读者认为上述程序执行后,s的值是多少?如果稍不注意,我们很容易的得到答案是s的值为2.但是,实际上上述程序根本就不会编译通过。为什么呢?原因是:1)java程序中,关于算术类型进行四则运算时,所有小于int类型的数进行运算时,其结果将转换为int类型,这是因为在计算时是按照机器字长进行的;2)Java类型转换非常严格,自动转型只能是从小类型到大类型进行,若反过来必须进行强制转型,即在前面加上强制转型运算符,例如,s=(short) (s+1);但如果上述程序是这样的,short s=1;s+=1;则程序运行 阅读全文
posted @ 2012-11-23 00:16 烤德 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 今天复习到C++的变量与基本类型,再看整形。 一般情况下,我们会认为表示整数的数据类型叫做是整型,但实际上,C++中的整型包括表示整数、字符和布尔值的算术类型。理解这一点很简单,首先,整数就是通常指的整数,比如-655536,-200,-100,0,50,65535等;而字符char类型的数据也是可以参加算术运算的,比如,字符'a'等于整型97的,可通过if('a'==97) cout<<"Yes"<<endl;验证,程序输出是YES,表示字符'a'与整数97是相等的;布尔bool类型也是可以参与算术运 阅读全文
posted @ 2012-11-21 23:58 烤德 阅读(4323) 评论(0) 推荐(0) 编辑
摘要: 当编写程序时,我们会经常使用到数组,数组是编程经常用到的数据存储结构。现在,假设我们要使用拥有10个元素的数组,通常情况下我们会面临着怎么定义数组?如何访问数组的元素?如何通过下标访问数组元素?数组的上界和下届等问题。首先来看看Basic语言是如何定义数组的,以定义10个整形元素为例。则数组定义为Dimarr(9)asInteger。arr为数组名,9为数组上界,默认下界为0。如果定位Dimarr(10)asInteger,则arr拥有11个元素。当然Basic同时也支持指定上界和下界的定义形式,如Dimarr(1to10)asInteger。但在主流的C、C++、java语言中,上述这个数组 阅读全文
posted @ 2012-11-20 22:01 烤德 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 如果有以下if语句如下,请问该程序是否会会编译通过?intx,y=10if(x=y)x=y;经过笔者验证,在C、C++中是可以编译通过的,但是在java中编译不通过,原因在于if语句括号内的判断条件表达式需要返回一个布尔值。而C语言则把整数值0认为“假”,把不是整数0的统统认为“真”。C++兼容C的特点,所以即便是if(“xxxx”)也可以编译通过,而且判定为true。但是java严格要求if(条件表达式)语句括号内的语句一定的条件表达式是boolean值,所以对于该题的例子程序是无法编译通过的。 阅读全文
posted @ 2012-11-20 21:58 烤德 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 在编写程序中,通常都会用用到For循环,那么到底For语句是如何执行的?当然,有一定编程经验的人都会知道,for语句是一个实现循环执行的程序块,for结构一般大致如:for(表达式1;表达式2;表达式3)语句;或者for(表达式1;表达式2;表达式3){语句块;}其中,表达1一般是用于变量的初始化;表达式2主要是用于控制循环,如果表达式2的计算结果是true,则继续执行循环体,否则结束循环;表达式3一般用于变量的自增运算;例如,简单的输出1到10的。程序为:for(inti=1;i<=10;i++)printf("%d",i);在上面的程序中,在执行for(inti= 阅读全文
posted @ 2012-11-20 21:55 烤德 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 亲们! 博客园sl-shilong园今天2012-11-20正式开博,Java、C/C++、Web、以及Web信息处理的大牛、牛盖以及童鞋们欢迎光临!多oooO ↘┏━┓ ↙ Oooo ( 踩)→┃你┃ ←(死 ) \ ( →┃√┃ ← ) / \_)↗┗━┛ ↖(_/ 我会很享受你们的踩踩! 阅读全文
posted @ 2012-11-20 21:37 烤德 阅读(169) 评论(0) 推荐(0) 编辑