Java(3)

论Java与C/C++中的一些区别:
一:输入输出方式的不同
常见的C语言输入输出:使用scanf输入与使用printf输出。大家习惯使用printf,长期使用printf对数值进行输出,其实会引发一些问题--
以下列伪码为例:

 int a = 6;
	float x = a;
	printf("%d\n", a);
	printf("%f\n", a);
	printf("%f\n", x);
	printf("%f,%f\n", a,x);
	printf("%f,%f\n", x, a);
	printf("%d,%f\n", a, x);

最后结果的输出想必大家应该清楚,在此:我们为printf做一个特写--printf的输出原理即将一组数压入一组栈中,维持了一组需要输出的变量栈,打印的时候,printf按照字符转换说明符规定的格式从低地址开始提取数据,直到参数打印完。这样一来,printf()其实存在安全隐患——没错,它会强行读取内存的数据当作正常数据输出,没有边界检测————很有可能产生堆溢出!
但对于cout而言,相对于printf,类型处理更加安全,更加智能,我们无须应对int、float中的%d、%f,而且扩展性较强,且简洁性也更强!
将OOP的C++知识迁移至具有同等性质的Java加以理解,java中的输出即为System.out.println(+变量);也是同样道理,并且 Java输出时,也还是可以使用System.out.printf("变量类型",变量);输出的
二:论输出数组的长度
首先对于数组的定义方式,两者便不太一样:例如对于整数型的数组,Java中定义如下:

    int 数组名[ ]=new int[数组空间];

C/C++中定义如下:

    int 数组名[数组空间];

众所周知,Java的最大优势即为包含的自带API(函数库,库函数)较多,因此许多的函数无需自行写,直接调用即可,对于编程者十分友好。
所以对于计算数组长度,在Java中使用 数组名.length,最后其长度使用int变量承接并且输出即可!而在C语言中,使用sizeof(数组名)/sizeof(数组名[0])即可求出数组长度。

posted @ 2019-09-16 22:25  千倍于太阳的光辉  阅读(127)  评论(0编辑  收藏  举报