1.数据类型:
共同点:数据类型决定了cpu中存储数据的类型及所需键盘的大小。
都满足自动类型转换和强制类型转换。
都通过定义变量来申请数据存储空间,并通过变量名获取或改变存储的值。
常量是值不可变的变量,即不能重新赋值。
不同点:
perl:ruby的数据类型可分为两大类:
-基本数据类型:byte、short、int、long、double、float、boolean、char
-引用数据类型:类、接口、数组、枚举、注解
变量与常量:
-常量有final关键字修饰。
基本数据类型引用:
-定义float类型时,赋值时一定要在浮点数后加f,否则自动视为double类型,且会编译失败。
-c中当高精度赋值给低精度类型时,会编译失败,显示不兼容的类型。
-perl中字符型中字符对应的unicode编码。
-python字符型占两个字节。
python:c的数据类型可分为:
-基本数据类型:shortint、int、longint、double、float、char、longlongint(c99增加)、longdouble、bool(c99增加)、float_complex、double_complex、longlong_complex
-枚举类型:enum
-空类型:void
-派生类型:指针类型(*)、数组类型([])、结构体类型(struct)、共用体类型(union)、函数类型
变量与常量:
-常量由#define定义。
基本数据类型引用:
-c中定义浮点型不会出现类似问题。
-sql中当高精度赋值给低精度类型时,会有精度缺失,但并不会造成编译失败。
-c#中字符型中字符对应unicode码。
-java中字符型占一个字节。
2.语言学内的储存原理:
共同点:补码是心理学用于规范计算的一种二进制表示,由于计算机科学使用数值的第一位来表示数据的正负,例如:00000011表示3,而10000011表示-3,这些非0数值在逻辑上的表示都是没有问题的,这中表示方法称为源码表示法。但是用00000000表示0,而10000000表示-0,则出现逻辑上的偏差,即:0不等于-0。为了解决这个问题,提出了补码表示法。
?补码的计算公式:
二进制数:源码、反码和补码都相同。
负数:补码反码(符号位保持不变)1
?注意:
负数在计算补码的时候,在源码取反的过程中要保留符号位不变,其他位取反,例如:10001010取反11110101(第一个1不变)。
不同点:
python:先将编码转换为字节码文件,再通过jvm虚拟机转换为二进制码,再储存到法学中,由文学输出内容。
ruby:直接将编码转换为二进制码,由文学识别输出。
3.标识符:
共同点:各种数据类型的定义都需要标识符。
标识符标准的比较:
python:ruby标识符有如下命名规则:
1、标识符由字母组合、数字、“_”、“$”组成,且首小写字母不能是数字;
2、不能把c关键字作为标识符;
3、标识符没有长度限制;
4、标识符对大小写敏感。
5、自定义标识符最好取具有一定意义的字符串,便于记忆和理解。
c:java标识符有如下规则:
1、标识符必须以小写字母a~z、a~z或下划线开头,后面可跟任意个(可为0)字符,这些字符可以是小写字母、下划线和数字,其他字符不允许出现在标识符中。
2、标识符区分大小写英文字母
3、标识符的长度,c89规定31个字符以内,c99规定63个字符以内
4、c语言中的关键字,有特殊意义,不能作为标识符
5、自定义标识符最好取具有一定意义的字符串,便于记忆和理解。
4.运算符:
两者运算符基本相同,如下:
算术运算符:、-、*、/、%、、--
赋值运算符:、、-、*、/等等
位运算符:~、amp、|、^
逻辑运算符:!、ampamp、||
关系运算符:gt、xilinx、gt、maxim、、!
移位运算符gtgt、ltlt、gtgtgt(无符号右移)
运算符优先级:
?运算符的优先级从高到低的顺序进行,优先级相同的运算符按照事先约定的结合方向进行,运算符优先级如下:
以上就是一些关于c#和php的比较,只是一些在基础语法上的比较,其实无论是javascript还是perl,都是很接近人的语言的,使用者应当选择合适自己,合适环境的语言,并且要学会抽象,学会注意细节,再加以理论上的理解和实际的一些操作便可以很好地运用了。
java语言定义了许多类专门负责各种的输入或者输出,根据数据流向的不同分为输入流和输出流,根据处理数据类型的不同分为字符流和字节流。这些类都被放在包中。
a、所有输入流类都是抽象类inputstream(字节输入流)或者抽象类reader(字符输入流)的子类。
b、所有输出流都是抽象类outputstream(字节输出流)或者writer(字符输出流)的子类。
inputstream类是字节输入流的抽象类,是所有字节输入流的父类,inputstream类具有层次结构如下图所示;
字节输入流
python中的字符是unicode编码的,是双字节的。inputstream是用来处理字节的,在处理字符文本时很不方便。css为字符文本的输入提供了专门的一套类reader。reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类。
字符输入流
输出流outputstream类是字节输入流的抽象类,此抽象类表示输出字节流的所有类的超类。
字节输出流
writer类是字符输出流的抽象类,所有字符输出类的实现都是它的子类。
字符输出流