php和java数据类型和表达式的区别
2014-05-01 20:19
260 查看
前段时间学习了下php觉得挺简单的,不过这只是相对java而言,php简单了但是还是很有很多细节问题需要注意,为了顺便巩固下java基础知识,我把java和php做了对比。这次比较的是数据类型和运算符。
一.数据类型
先来看看php的数据类型划分:
基本数据类型:整数类型,小数类型【不分单精度和双精度】,boolean类型,字符串
复合数据类型:数组、对象
特殊数据类型:NULL、资源类型
下面是java数据类型划分
基本数据类型:数值类型(整数类型【byte,short,int,long】 浮点类型【float,double】)、字符型char、布尔类型
复合数据类型:数组、类、接口
注:php是一种类似js的弱类型语言,变量不需要任何数据类型修饰符,但是java要明确指定数据类型
另外php的小数类型要注意精度的问题,请看下面一段程序:
就如注释写的那样,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
上面的总结可能会有遗漏,希望大家指出。
本文出自 “快乐编程” 博客,谢绝转载!
一.数据类型
先来看看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; ?>下面是输出结果:
就如注释写的那样,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
上面的总结可能会有遗漏,希望大家指出。
本文出自 “快乐编程” 博客,谢绝转载!
相关文章推荐
- JavaScript---基本语法学习(一)JavaScript概述、Java和JavaScript的区别、和HTML结合方式、数据类型、运算符和表达式
- 使用Java正则表达式去掉Double类型的数据后面多余的0
- 【java】基本数据类型和引用数据类型(区别)
- Java 中的数据类型是有符号的,与无符号数据类型的区别
- Java各种数据类型简介及其区别
- (二)Java数据类型有符号的和无符号的区别
- JAVA的基本数据类型和引用数据类型的区别
- Java中引用数据类型与C++引用和指针的区别
- java基础数据类型与String类型区别
- JAVA-基本数据类型与引用数据类型区别
- JAVA之基本数据类型、表达式以及数组
- java数据类型是有符号的,那与有些无符号的如何区别
- Java中基本数据类型和包装类型有什么区别?
- (二)Java数据类型有符号的和无符号的区别
- Java的数据类型以及equals和==的区别
- JAVA中对象赋值与主数据类型赋值的区别
- 边记边学PHP-(四)PHP数据类型、常量、变量及表达式2
- Java中,一切皆是对象——java中的对象类型与基本数据类型的区别
- Java各种数据类型详细介绍及其区别
- java基本数据类型与封装类型详解(int和Integer区别)