php和java数据类型和表达式的区别

前段时间学习了下php觉得挺简单的,不过这只是相对java而言,php简单了但是还是很有很多细节问题需要注意,为了顺便巩固下java基础知识,我把java和php做了对比。这次比较的是数据类型和运算符。

一.数据类型

先来看看php的数据类型划分:

基本数据类型:整数类型,小数类型【不分单精度和双精度】,boolean类型,字符串

复合数据类型:数组、对象

特殊数据类型:NULL、资源类型

下面是java数据类型划分

基本数据类型:数值类型(整数类型【byte,short,int,long】 浮点类型【float,double】)、字符型char、布尔类型

复合数据类型:数组、类、接口


注:php是一种类似js的弱类型语言,变量不需要任何数据类型修饰符,但是java要明确指定数据类型


另外php的小数类型要注意精度的问题,请看下面一段程序:


<?php
    echo "<br/>".PHP_INT_SIZE;
    echo "<br/>".PHP_INT_MAX;
                                                                                                                                                                                                                                                                
    //浮点数的精度是14位,从左边第一位不是0的数字开始算起
                                                                                                                                                                                                                                                                
    $c=2.13568974566125311;
    $d=2.00000012345678;
                                                                                                                                                                                                                                                                
    echo "<br/>".$c;
    echo "<br/>".$d;
?>

下面是输出结果:

wKioL1NiMrmCwPE8AABw6BHjLDw340.jpg

就如注释写的那样,php的精度是14位,要从左边第一个不为0的数字算起

php中的boolean还有一点特殊之处,下面几种情况php会把结果看成是false

  • the 布尔值 FALSE 自身    

  • the 整型值 0 (零)    

  • the 浮点型值 0.0 (零)    

  • 空 字符串, 以及字符串 "0"    

  • 不包括任何元素的数组

  • 不包括任何成员变量的对象(仅PHP 4.0 适用)    

  • 特殊类型 NULL (包括尚未设定的变量)    

  • 从没有任何标记(tags)的XML文档生成的SimpleXML 对象    


二 运算符的比较

算数运算符方面,java和php基本一致,但是算术运算符有一点差异那就是php中有 ===和 !==。对于第一种是比较严格的要求数据类型和值相同;对于位运算符也基本和java一致,但是php没有无符号右移;php中多了一种赋值运算符 .=,在php中.可以看成连接符


对于java和php运算符的优先级,虽然不用死记硬背但是可以记住几个最简单的例如自增++自减--的优先级高于加减乘除,括号的优先级最高


到了这里建议对于位运算符不了解的可以看看这篇文章:

http://blog.csdn.net/walkcode/article/details/1024235

上面的总结可能会有遗漏,希望大家指出。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值