Java 和C/C++的“语法”上的差异!

额其实认为语言语法之间是没有可比性的!

但是因为额曾经学过C/C++,而今又学Java,有赵本山说的话:“知识都学杂了!”,所以我个人总结一下,望提醒自己!

Java 和C/C++的对比:

Java中:

double 要用%f;

布尔型:boolean;

字符型占两个字节;

If , while,for 中进行真假判断时只能使用逻辑表达式,不能用数字。

较长的整数后要加L;

默认所有实数都是double类型的;

安全性高:当高级类型转换为低级类型会报错!例;想要将double转换为float, float a=2.0f(F);

取余时:被除数和除数可以是实数;但所得余数的正负只和被除数相同;

Java中没有指针:

A  *a=new  A();//C++

A  a=new  A();//java

动态分配内存时:c/c++中是用栈中指针a来指向分配的堆中空间,

而java在形式上用类的对象a(相当于静态指针变量)来指向堆中的内存,但可以用a代表堆中的内存;

构造函数:

Java中如果你定义了有参的构造函数,则当你调用无参的构造函数时,必须自己定义无参的构造函数;而C++中不会这样;

当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化,数值型的被初始化为;boolean型被初始化为false;引用被初始化为NULL;

C++、C中数组可以在栈中创建,但java 中数组是引用类型,只能在堆中创建。

C和C++ 中枚举类型enum是可以用0,1……来表示的,但java中不行;

例:enum MyColor { red, green, blue };

MyColor m= red;//CC++中定义枚举类型新变量

MyColor m= MyColor.red;//java中定义枚举类型新变量

 

C中没有String引用类型,它是用字符数组表示,用‘\0’表字符结束;而C++和java中有String引用类型;

另外,C++中的String对象可以用s[i]进行操作,而Java中则不可以,需要转换为char[]才行;

时间: 2024-11-06 14:19:25

Java 和C/C++的“语法”上的差异!的相关文章

201671010139 2016-2017-2 JAVA 和C语言的语法区别

java和c语言的语法上有很多相似的地方,但也有很多不同. 一,在初始值的区别 在C语言中,是可以不初始化使用的 而在JAVA中,是必须初始化值的 二,在抽象方法或抽象类的区别 C语言的对等语法是"纯虚函数"和"抽象类" Java使用abstract关键字修饰抽象方法或抽象类,final类不能被继承 都使用抽象类作为继承层次中的基类,提供一般概念,由子类实现其抽象方法,且抽象类都不能被直接实例化为对象 E.super关键字的区别 JAVA super关键字,指代父类

Java 中多态的实现(上)

Java 中语法上实现多态的方式分为两种:1. 重载.2. 重写,重载又称之为编译时的多态,重写则是运行时的多态. 那么底层究竟时如何实现多态的呢,通过阅读『深入理解 Java 虚拟机』这本书(后文所指的书,如无特殊说明,指的都是这本书),对多态的实现过程有了一定的认识.以下内容是对学习内容的记录,以备今后回顾. 写着写着突然发现内容有点多,分为上和下,上主要记录重载的知识点,下则是重写的相关知识点. 重载 重载就是根据方法的参数类型.参数个数.参数顺序的不同,来实现同名方法的不同调用,重载是通

Java实现HTML5拖拽文件上传

这是主页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+reques

如何快速配好java环境变量和查看电脑上安装JDK的版本位数

[java] view plaincopy 今天一个新手在群里问自己的Eclipse打不开,然后我是属于那种热心肠的人,一般自己知道的就会告诉他们,看了下,是环境变量没有配好,反正我觉得配环境比较简单,现在就教大家简单的环境变量配法 path ----- 输入jdk里面bin的目录,例如D:\mtools\win32-x86\java\jdk1.7.0\bin classpath   ------直接输入一点 注意是"." OK 然后在cmd下面输入java -version 我告诉他

java以及C#获取AD域上用户信息

JAVA /** *  JAVA 读取AD用户信息 *  aa00a00 */package com.wanda.sso.client.servlet; import java.util.Hashtable; import javax.naming.Context;import javax.naming.NamingEnumeration;import javax.naming.NamingException;import javax.naming.directory.Attribute;imp

Java SE(1):基础语法

关键字: 被Java语句赋予特殊含义的单词,所有关键字都是小写 标识符: 程序中自定义的一些名称,由字母.数字._ 以及 $ 符号组成,数字不能开头,区分大小写(命名规范) 注释: // 单行注释 /* 多行注释 */ /** 文档注释 */ 常量: 整数常量.小数常量.布尔型常量.字符常量.字符串常量.null 变量: 数据类型 变量名 [= 初始化值]; 数据类型: 基本数据类型.引用数据类型 数值型 整数类型:byte.short.int.long 浮点类型:float.double 字符

JSch - Java实现的SFTP(文件上传详解篇) 转

JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序. 本文只介绍如何使用JSch实现的SFTP功能. SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式.SFTP是使用加密传输认证信息和传输

java模拟post方式实现图片上传

package com.yanek.util; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.ne

Java实现模拟QQ空间图片上传

Java实现模拟QQ空间图片上传 首先看效果: 首先编写我们的上传jsp代码,如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://