前言
开始学学java吧,要不然怕自己学的专业知识找不到工作。。另外也可以把它当成爱好吧,想想如果有一天能够搭建一个自己的网站,感觉还是挺有成就感的。
基础语法
首先可以看看哪些基础语法与 C 语言相同与不同,毕竟学了也用了一段时间的 C 语言。
1、数据类型
C语言的基本数据类型有:\color{red}{C 语言的基本数据类型有:}C语言的基本数据类型有:
short (int),占2个字节;
int,占4个字节;
long (int),占8个字节;
float,占4个字节;
double,占8个字节;
char,占1个字节;
当然,前3种 int 类型有有符号和无符号之分;除了这些基本数据外还有构造类
型(包括数组、结构体、共用体、枚举类型),指针类型,空类型(void)
先不考虑Java面向对象的特性,对比来看Java语言的基本数据类型有:\color{red}{对比来看Java 语言的基本数据类型有:}对比来看Java语言的基本数据类型有:
byte,占1个字节;
short (int),占2个字节;
int,占4个字节;
long (int),占8个字节;
float,占4个字节;
double,占8个字节;
char,占2个字节; 这里 char 类型占空间的大小比 C 语言多一个字节主要是因为 Java 支持Unicode码,可以兼容多国文字;
boolean, 不清楚占多少空间,可能就一个bit?;
标注部分是与 C 不同的地方;
2、变量
可能这一部分Java与C还是比较类似的。
(1)都需要先对变量进行声明初始化,才能使用,如果你不初始化,C和Java都会默认初始化。例如int a = 0;
(2)都可以对数据类型进行强制转换,在一定情况下还会自动转换数据类型(类型提升)。例如:
int a = 2;
double b = 1.1;
double c;
c = a / b;
在计算 c 时,就会把a转换为double类型进行计算。在类似情况下,byte类型会提升为short类型,而short类型可能会提升为int类型。
(3)Java的小数默认是double类型,所以下面的语法是错误的。
·float f = 12.3可以通过强制类型转换改正float = (float)12.3,更正常的做法是在后面加一个F(小写也行)就好。


对于整数有时也会出现类似的情况,Java默认整数类型是int,它大概可以表示(-3K,3K)的数,如果数过大,当然是不行的。这时我们用long类型来存储,如下,发现还是会报错。这是因为Java还是将整数认为int类型,在后面加一个L(小写也行)就好。


但是如果是short a = 3却不会报错,按理说这里的3应该是int类型的啊。
3、数组
这个可能就与C有着很大差别啦。感觉Java的数组算是一个对象了吧(自我感觉而已),因为它需要被new出来。例如:
int array1[] = new int[3];
double[] array2 = new double[4];//也可以用这种方法定义数组
上述程序,定义了一个大小为3的可以存储int类型数据的数组,和一个大小为4的可以存储double类型数据的数组。
另外已经定义好的数组,它自己包含了一个非常常用的变量,就是数组长度。可以通过 .length来获取。例如
int[] array = {1,2,3};//可以直接初始化数组
arrayLen = array.length;
这时arrayLen就是3,因为array数组里包含了1,2,3这三个元素。
当然,与C相同的是,同样可以定义多维数组,如下:
int[][] twoArray = new int[][];
运算符
这里主要还是记一下不常用但我还是见到了的运算符吧。
~ ,这个是按位取反(牛客网做题时看到了)
! ,这个是逻辑取反。它两的区别相信你不会忘吧。
^,按位异或
按位与(&)按位或(|)和逻辑与(&&)逻辑或(||)。
另外对于布尔类型,可能还会有短路或逻辑或。以后遇到在说吧
这一部分先写这么多吧,感觉如果要细写的话,还可以写好多。
本文详细对比了Java与C语言的基础语法,包括数据类型、变量声明与初始化、数组定义与使用等关键内容,强调了Java对Unicode的支持及数组作为对象的特性。

被折叠的 条评论
为什么被折叠?



