java和c++语法区别大吗,c语言与java的区别
java与c语法上的区别是什么?
1、标识符:
c可用的标识符有数字、大小写字母、下划线,不能以数字开头;【推荐教程:C语言教程】
除了这三种类型的C之外,还有一个美元符号($)用于表示Java中可用的标识符,它也不能以数字开头。【推荐学习:java课程】
2、关键字:
C语言中的关键字是:
Java中的关键字是:
3、数据类型:
C #中的数据类型有:
基本类型:integer(基本int,short[int]和long [int]和signed [signed]和unsigned),character [signed/unsigned ]char,floating-point(单精度float,双精度double和long double精度long double),枚举类型。
类型:数组类型、结构类型和公共体类型。
指针类型
空类型
请注意以下类型的字节:
Java中的数据类型:
类型:char,numeric (integer (byte,short,int,long),float(single-precision float,double)),boolean(true或false)。
组合类型:类、接口、数组
请注意每种存储类型的字节数:
4、常量和变量
1)常数
整型常量的定义和Java C中的一样,除了长整型数据以L或L结尾外,其他类型都是直接显示数值。c中的无符号常数后面是u或u,对于不同的十进制,十进制直接显示最高位不能有0,八进制以0开头,十六进制以0x或0X开头。
对于浮点类型,C和Java都只能用十进制表示。可以使用小数形式和指数形式。表示指数形式时,小数和指数用E或E隔开,注意Java要求单精度后加F或F,双精度后加D或D以示区别。
字符常量都是用单个字符或者单引号引起的转义字符串来表示的。特别是C中的字符类型只能表示ASCII码范围为0到255的字符,而Java中unicode编码的2字节存储单元可以表示特殊字符,表示Unicode编码使用\u加4位十六进制字符串。
布尔类型只有Java才有,所以要特别注意。
Java常量用关键字final修饰,一旦赋值就不能更改;在C中,不可变的关键字是const,被修改的变量(注意是变量,不是常数)在定义时必须给一个初始值。此外,用#define定义的宏常量没有类型。
2)变量
Java和C中变量的定义基本相同,即:
键入变量名[=变量的初始值];变量可以赋初值,也可以不赋初值,但是在Java中,长整数和浮点数后面要加上相应的识别标记(比如L和F)。
注意:由于编译器不同,C声明变量要放在可执行语句之前,否则可能会出现编译错误。
5、逻辑运算符和位运算符
逻辑运算符,,用C和Java!三,而且意思是一样的,区别是C中的运算结果是0和非0,在Java中只能是真或假。在Java中,,(XOR)依然存在。、和的区别在于,前者是非快捷运算符,而后者是快捷运算符,即先判断后判断,如果前者为假,则先判断后判断,如果前者为真,则后不判断。两者相同是假的。
C和Java中的位运算符有:,~(反转),(左移),(右移),意思基本相同。在C中,负数的右移操作因系统不同而不同(可能是算术右移,也可能是逻辑右移),而在Java中,则表示算术右移,即最高位填充符号位。在Java中,逻辑右移(无符号右移)运算符是用补码右移,高位加0。
PS:有心的读者可能会发现,如果你定义了一个负数的byte或short类型,比如-10,那么使用方法无符号右移的结果就是-5,上面提到的高位加0应该是正数。但是,int或long的类型不会是负数。为什么?我觉得这是因为Java在运算中使用的最低数据类型是int类型,导致所有的高阶数据都是1(计算机中存储的数据是用补码存储的,所以负字节或短整型转换成int类型,所有的高阶都用1填充)。移位时,把最后一个高位1移到第一个低位1,然后截取成我们定义的数据类型(byte或short),所以我们看到的数字还是负数。从这里可以看出,在对字节和短数据做运算时,我们可能得不到想要的值。请注意。
6、数组
C中数组的定义如下:
类型说明符数组名称[常量表达式];定义可以和初始化同时进行,比如:int a[10]={0,1,2,3,4,5,6,7,8,9 };括号中的常数可以省略。
在Java中有两种定义数组的方法:
类型数据数组名称[];
//或者
数据类型[]的数组名称;定义和初始化可以同时进行,比如:int []a={0,1,2,3,4,5,6,7,8,9 };
注意:如果Java中的数组在定义的时候没有初始化,那么在初始化的时候需要先分配内存,也就是:
数组名=新数据类型[常量表达式];内存分配也可以在定义的同时进行:
类型数组名称[]=新数据类型[常量表达式];c和Java不支持变长数组,所有引用都是数组名[下标]。不同的是:
在多维数组中,数组元素按行排列。
7、语句
C和Java语句差别不大,主要是:
1)调用方法/函数时,C直接调用函数。Java调用方法时,对象名应该加在方法名前面。
2)C中两个嵌套的复合语句可以同时定义同名的变量,而Java不能。java和C在语法上有什么区别?更多详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。