java和c的一些区别(one)

Java和c的一些区别,对比学习


一:import和#include
import 它不像#include一样,会将其他的java文件的内容加载进来;(我感觉这就是这两者最大的区别了)其次呢,在java的代码编写过程中,import是可有可无的,假如你不喜欢使用import,你是完全可以不使用import,然后在使用什么类的时候写完它的全名就好。
#include我感觉它在吃语言中是不能少的,假如少了它,你很多的函数就不能调用,而你自己去写的话就会很麻烦,它不像java一样有什么全名,你不写,你就不能使用。

二 :instanceof运算符
在c语言中,是没有instanceof运算符的。
Instanceof 的主要作用:
用来判断一个类是否实现了某个接口,或者判断一个实例是否属于一个类。
就像下面这个例子用来判断是否属于一个类:

String name = 'James';
boolean result = name instanceof String

还有另外一点就是返回值 ,instanceof的返回值是 布尔型,只有truefalse

三 :final和const、#define
自我感觉final 和 const的作用差不多(我的学习还不充足,所以这样觉得吧0.0)这里主要是讲一下c中的const和#define,以前我把他们俩差别不是很大,现在做一个总结。
const和#define的区别:
1 编译器处理方式不同
define宏是在预处理阶段展开
const是常量是在编译运行阶段时使用的
2类型和安全检查不同
define宏是没有类型,不做任何类型检查,仅仅是展开
const常量有具体的类型,在编译阶段会执行类型检查

#include<bits/stdc++.h>
using namespace std;
#define m 3 
#define mm m+1
#define mmm (m+1)
const int M=3;
const int MM=M+1;
int main()
{
	int a,aa,A;
	a=5*mm;
	aa=5*mmm;
	A=5*MM;
	cout<<a<<endl<<aa<<endl<<A;
	return 0;
	//再看下面的运行结果就可以很好的看到了两者的区别
 } 

运行结果:

3储存方式不同
define宏仅仅是展开,有多少地方使用,就会展开多少ci,不会分配内存
const常量会在内存中分配(可以是堆也可以是栈中)
const的优点:
1const用于定义常量变量,这样这个变量在后面就不可以再改变
2,const可以节省空间,避免不必要的浪费。
3编译器可以对const进行类型安全检查,避免一些不必要的错误
#define的优点:
1宏可以定义一些函数,但是const不可以
2宏可以是代码更简洁
3使用宏可以方便代码的维护
4宏可以定义带参数的宏,做到一定程度的泛型。

#define MAX(a, b) (((a)>(b)) ? (a) : (b));
//定义了一个简单的取最大值的函数,const不行
//这里的a和b可以是int、double和float,
//这就是做了一定程度的泛型

四 :增强型for循环
语法格式:

for(String score声明语句:表达式){
//代码句子
}

声明语句:声明一个新的局部变量(和后面表达式的的类型一致),其作用域限定在循环语句块中(局部变量),它的值和此时数组元素的值相等。
表达式:表达式就是你想要访问的数组名,或者是返回值为数组的方法
普通for和增强型for的对比:
普通for的优点:可以对数组进行比较复杂的操作
增强型for优点:比较简洁,但是不能进行一些复杂的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值