您的位置:首页 > 编程语言 > C语言/C++

Java&C++的基本语法对比

2017-11-28 18:17 477 查看

首先感谢您的赏光,如果发现什么问题请与我联系,方便我即使做出改正。MaLker(beizhen_120@126.com)

1.关于注释(相同)

Java&&C/C++

//这是单行注释 与 /*这是多行注释 */


在IDE情况下使用注释的时候,一般会有注释的快捷键

例如在OS X的环境下,Clion和IDEA的情况下,注释的快捷键为

Command+‘/’(键)


2.基本数据类型

编译环境为64位

如果相应的数据类型存在,相应的框中会有字节数,如果不存在,则为0

数据类型C++Java
byte01
short22
int44
long88
float44
double88
bool(C++)/Boolen(Java)11
char22
小结:从中可以看出,C++&&Java中,除byte类型Java独有,布尔类型名称不同,其他基本相同。

3.循环语句

首先说明C++的循环语句,Java中完全兼容

* 讲解顺序为for->while->do while

3.1 for语句

for(;;)


除了C++中for(int i = 0;i

int[] arrs = {1,2,3,4};
for(int i = 0;i<arrs.length;i++)
System.out.println(arrs[i]);


Java中也有着类似Python/Swift的for循环遍历方法

int[] arrs = {1,2,3,5};
for (int i : arrs)
System.out.println(i);
//注意此处为输出i而非arrs[i]


输出的结果为:

1
2
3
5


Java的for循环还有对collection的遍历方法。不多做总结,如有需求可以查看别人的代码。

小结:首先要说明的是,Java的for循环的使用方法比C++的方法多,但是完全兼容C++的For循环方法,因为这篇博客是针对使用C++的同学复习使用的,所以更多方法在本篇博客中不做赘述。

3.2 while&&do while

这里的使用方法与C++完全相同。

while(/*判断*/){
//循环体内容
}


do{

}while();//<-我跟你说,这个分号可以说是循环体里最大的坑


4. 数组

Java的数组与C++中的数组有明显的区别

4.1声明一个数组

C:

int a[5];
int b
;//n已知的情况下,某些编译器也可编译输入n的情况
int a[]={1,2,3,45};


C++:

#include <array>
array<int,5> myarray={1,2,3,4,5};


Java:

int[] arrs1 = new int[5];
int[] arrs2 = {1,2,3,4,5};
int[] arrs3 = new int[]{1,2,3,4,5};


声明二/多维数组时候,除C++的模板外,都在[]再加[]就可以

特殊的

C++:

array<array<int,2>,3 > myarray2D={1,2,3,4,5,6};


Java:

int[][] arrs={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};


5.字符(Char)和字符串(String)

5.1 字符(char)

C++和Java中都存在char

两者都可完成以下赋值

char a = 'A';
int b = 96;
a = (char)b;


5.2字符串(String)

首先要说明的是在C++中字符串为string(注意此处的s为小写),而在Java中为String

Java:

String a = "abc";


C++:

string a = "abc";


5.3 C++中char与String之间的转换及体会

首先说明的是String与char是完全不同的类型,sizeof(string)时,恒为24,而char时为1

但是,可以通过强行数据转换的方法实现char对String的查看。

string a="123asdasdasd"/*+'\0'*/;
char *c =(char*)&a;
while (c++&&*c) {
cout<<*c;
}
cout<<endl;


输出结果为:

123asdasdasd


由此可见String的存储类型是类似于char[]类型的,他的结尾也为‘\0’。

5.4 String的基本操作

5.4.1 首先是字符串拼接

String a = “hahhaha”;

a+=”1231231”;

这一方法在更改了S的大小写后,C++和Java都可以通用

但是Java中还有concat方法

a = a.concat("1231231");


5.4.2 字符串比较

C++:

在C++中可以用‘==’的方法进行比较

string a = "123";
string b = "234";
if(a=!=b){
cout<<"hr"<<endl;}


Java:

在Java中,字符串有着equals方法

String a = "hahhaha";
String b = "123";
if(a.equals(b)){
System.out.println("Equal!!");
}
else{
System.out.println("Is not equal!!");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: