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.每个对象都是由其它对象所构成 ...
随机推荐
- root用户以修改文件的方式,修改用户密码
老早就听说linux的用户密码只是存储在普通的文本文件里,但一直没去了解,今天遇上了需要强行修改的情况... 给碰到个奇葩linux,居然没有passwd命令. 生成密码摘要 openssl pass ...
- Apache CLI Demo
1. Options private Options options = new Options(); 2. option (1) way1 launcher.options.addOption(&q ...
- CSS中可以继承和不能继承的属性
一.无继承性的属性 1.display:规定元素应该生成的框的类型 2.文本属性: vertical-align:垂直文本对齐 text-decoration:规定添加到文本的装饰 text-shad ...
- QQ号码正则判断
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- Navicat Premium 12.0.18 / 12.0.24安装与激活
若使用Navicat Premium 12.1.8.0请转至Navicat Premium 12.1.8.0安装与激活,其实每个小版本更迭变化不大.另外最重要的是,请仔细阅读本文激活部分,总有一些人遇 ...
- ROS 进阶学习笔记(12) - Communication with ROS through USART Serial Port
Communication with ROS through USART Serial Port We always need to communicate with ROS through seri ...
- 35.在CSS中 只用一个 DOM 元素就能画出国宝熊猫
原文地址:https://segmentfault.com/a/1190000015052653 感想: 真神奇! HTML code: <div class="panda" ...
- 23.1纯 CSS 创作一个菜单反色填充特效
交互效果地址:https://scrimba.com/c/cEwREJs6 HTML代码: <nav> <ul> <li><span>Home</ ...
- linux base shell 基础语法
转载 本文主要是基础的基础,希望对大家有所帮助 一.Shell基本类型的变量: (1)Shell定义的环境变量: Shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,用户还可以重新定义这 ...
- 设置SVN服务器
1 下载svn服务器,参考地址 http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html 下载地址: http://subv ...