C++与java编程区别(一)
转载自http://blog.sina.com.cn/s/blog_75f4e17c0101295o.html
C++ HelloWorld
main.cpp
#include< iostream>
using namespace std;
class HelloWorld
{
public:
void say()
{
cout<< "HelloWorld"<<endl;
}
};
class HelloWorld_other
{
public:
void say()
{
cout <<"HelloWorld_ other "<<endl;
}
};
void main()
{
HelloWorld hw;
hw.say();
cout<< "HelloWorld_other"<<endl;
}
Java HelloWord
HelloWorld.java
public class HelloWorld
{
float m_fNum = 0; //可以直接在类中声名并初始化,C++不行
public static void main(String[] args) //java入口函数格式,args这个名可以随意取
{
System.out.println("Hello Word");
Test otest = new Test();
}
}
class Test {}
区别:
1. Java类前有了标识符
2. main函数移到了类中,C/C++中main为主函数不在任何类中
3. Java类名必需与文件名一致,C++无此要求,文件名可以与类名不同。(Java有多个类的时候,public类的类名与原文件名一致,或者说public类的类名就是源文件名)
4. Java一个源文件中只能有一个public类,其它控制权限的类可以有多个,C++中类没有权限控制,只有方法和属性权限。
5. Java类之间不用”;”号分开,而C++类之间必需要用 “;”号隔开。
Java类之间的使用不用遵循先声明再使用的规则,而C++必需先声名才可以使用。class Test {}这个类可以在HelloWorld类前也可以在后并不影响使用。原因:Java会把一个源文件的多个类都分别生成.class文件(HelloWorld.class与Test.class),调用时候直接去找相应的.class进行装配。而C++直接生成.obj文件,所有的类都在一个文件里。
6. Java的标识符由字母,数字,下划线,$组成,可以以字母,下划线,$开头,而C++ 字母,数字,下划线组成,以字母,下划线开头。
7. Java中的常量标识符为final,C++中为const。
8. Java类外(与类对应的大括号外面)不能有变量的声明,而C++可以,做为C++的全局变量。这也体现了Java是纯面向对向的语言。
9. 数据类型角度讲,Java所有数值类型都是带符号的,C++可以有无符号类型数据
10. Java的boolean类型不可以转换为其他的数据类型,其它数据类型也不能转换成boolean。(Java中boolean类型只有两个值true false)。
- Java类中声明一个变量时可以直接初始化(如果不初始化会自动初始化为0或false,但函数内部定义的局部变量不会自动给初始化的),而C++不行。
- Java语言中除了基本类型之外的变量类型都称之为引用类型,C++中引用是型由&标出
C++与java编程区别(一)的更多相关文章
- 如何学好JAVA编程
我的思路: 1.我觉得先学学JSP,用纯JSP做个日记本简单的小系统,纯粹从语言层面上了解一些基 础知识,把tomcat玩熟了,就用记事本编就行,主要是熟悉,能够理解jsp运行机制.然 ...
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- 《java编程思想》读书笔记(一)开篇&第五章(1)
2017 ---新篇章 今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...
- Java编程思想——初始化与清理
PS:最近一直忙于项目开发..所以一直没有写博客..趁着空闲期间来一发.. 学习内容: 1.初始化 2.清理 1.初始化 虽然自己的Java基础还是比较良好的..但是在解读编程思想的时候还是发现了 ...
- Java 编程入门(词汇表)
抽象类(abstract class):抽象类不能创建对象,主要用来创建子类.Java中的抽象类使用 abstract 修饰符定义. 抽象数据类型(abstract data type ADT):抽象 ...
- java 编程时候的性能调优
一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...
- java编程思想
Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理 ...
- Java编程思想(11~17)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第十一章 持有对象 11.1 泛型和类型安全的容器>eg: List<St ...
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象2.程序就是对象的集合3.每个对象都是由其它对象所构成 ...
随机推荐
- C语言:冒泡排序
void sort(int arr[],int len) { ; ; i<len; i++) { printf("第%d轮:\n", i); // len-i+1:新轮比上轮 ...
- CVPR 2019 | 用异构卷积训练深度CNN:提升效率而不损准确度
对于深度卷积神经网络而言,准确度和计算成本往往难以得兼,研究界也一直在探索通过模型压缩或设计新型高效架构来解决这一问题.印度理工学院坎普尔分校的一篇 CVPR 论文则给出了一个新的思路——使用异构的卷 ...
- Java - 24 Java 封装
Java 封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外 ...
- python脚本参数传递
环境:python 库:optparse 效果:python xxx.py -parameter1 参数1 -parameter2 参数2 .... 废话少说,直接上代码ok? xxx.py ...
- ViewPager的addOnPageChangeListener和setOnPageChangeListener的区别,ViewPager改变数据后IndexOutOfBoundsException
我的ViewPager数据改变后,在切换界面刷新数据时:OnPageChangeListener中的数据IndexOutOfBoundsException,我们来看源码探一下究竟: 代码时这样写的: ...
- Js中,Map对象的使用
1.定义 键/值对的集合. 2.语法 mapObj = new Map() 3.备注 集合中的键和值可以是任何类型.如果使用现有密钥向集合添加值,则新值会替换旧值. 4.属性 构造函数 :指定创建映射 ...
- StanFord ML 笔记 第四部分
第四部分: 1.生成学习法 generate learning algorithm 2.高斯判别分析 Gaussian Discriminant Analysis 3.朴素贝叶斯 Navie Baye ...
- Java并发编程:Java Thread 的 sleep() 和 wait() 的区别
1. start 和 run 方法解释: 1) start: 用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码.通过调用Thread类 ...
- [UGUI]渲染层级关系
参考链接: http://blog.csdn.net/meegomeego/article/details/42060389 Unity中的渲染顺序自上而下大致可以分为三层: 1.Camera层.可以 ...
- Deque 双端队列 Stack 堆栈
1. peek 获取栈顶元素 pop 删除栈顶元素