本节主要说明JAVA中的一些基本概念,由于JAVA和C/C++基本概念和语法上存在较多相似的地方,因此本文只是简单说明,并不会详细介绍。
注释
JAVA中注释一般有以下几种形式:
- //:单行注释
- /*...*/:多行注释
- /**...*/:文档注释
其中文档注释会被解释成程序的正式文档,并能够包含进如javadoc工具生成的文档中,用以说明该程序的层次结构及其方法。
标识符和关键字
标识符和C/C++定义大体类似,只是“$”符号在JAVA中存在特殊意义,不要使用。
JAVA中的关键字主要有:
abstract | assert | boolean | break | byte | case | catch |
char | class | continue | const | default | do | double |
else | extends | enum | final | finally | float | for |
goto | if | implements | import | instanceof | int | interface |
long | native | new | package | private | protected | public |
reurn | short | static | synchronized | super | strictfp | this |
throw | throws | transient | try | void | volatile | while |
同时JAVA中还存在三个特殊的标记(并不算关键字):true、false、null
数据类型
JAVA中的数据类型可分为基本数据类型和引用数据类型。
基本数据类型内存由系统分配,不牵扯内存分配问题,而引用数据类型则需要由开发者为其分配空间。
基本数据类型的默认值均为0。
不过JAVA中存在两个特殊的基本数据类型:
- byte:表示字节,大小为8位,可表示范围为-128~127
- char:表示字符,大小为16位
从上面的解释来看,byte的含义更像是C/C++中的char,但是JAVA中char却采用了16位来表示,这是因为JAVA是用unicode对字符进行编码的,同时还兼容8位的ascii编码,这意味着JAVA中的char可以表示C/C++中的char之外,还可以表示其它国家的文字,比如汉字等。
那么byte和char的应用场景怎么区分:
- 如果是要实现内容传递(IO操作,网络编程等)或者是编码转换,用byte
- 如果是要处理中文或要进行字符操作,用char
而关于数据的溢出和数据类型转换等,则和C/C++类似。
此外,还存在一个String类型,不过String并不算是基本数据类型,只能算是引用数据类型的一种。因为String属于一个类,只是该类的使用比较特殊,用于表示字符串。
同时String类型中,还实现了+运算作为字符串的拼接和向String的转换:
public class Demo {
public static void main(String args[]) {
String str1 = "Hello";
String str2 = "world";
int num1 = 10;
double num2 = 1.23;
System.out.println(str1 + str2);
System.out.println(str1 + num1);
System.out.println(str1 + num2);
System.out.println(num1 + num2 + str1);
System.out.println(num1 + str1 + num2);
System.out.println(str1 + num1 + num2);
}
}
上述代码的执行结果为:
Helloworld
Hello10
Hello1.23
11.23Hello
10Hello1.23
Hello101.23
从上面可以看出:
- +可以用于两个字符串的拼接
- 若String类型和数值类型进行拼接操作,在第一个String类型前的会先进行数值的运算,然后再与String拼接,在第一个String类型后的数值类型则直接进行拼接操作
运算符
总的来说,JAVA和C/C++的运算符差不多一致,只是:
- ^:JAVA中表示位运算符,用于表示异或操作
- >>>:JAVA中表示位运算符,用于表示无符号右移
- %=:JAVA中表示简洁运算符,用于表示取模
- &,&&:JAVA中都表示逻辑运算符,但&&表示存在短路操作,建议使用&&表判断,同时 & 还表示位运算符,&&不可用于位运算
- |,||:JAVA中都表示逻辑运算符,但||表示存在短路操作,建议使用||表判断,同时 | 还表示位运算符,|| 不可用于位运算
程序逻辑控制
条件控制语句和循环控制语句大致与C/C++也差不多,这里不赘述。
方法
JAVA中的方法和C/C++中的函数类似,不过JAVA中都是使用类来管理的,因此称为方法。
方法的定义为:
public static returntype funcname(argtype arg,...) {
// statement
[return returnvalue;]
}
上面的方法定义基本与C/C++中类似。只是JAVA中方法的命名规范为:第一个单词的首字母小写,之后每个单词的首字母大写。
同时JAVA中也可以实现函数的重载:
- 方法名称相同
- 参数类型或个数不同
此时方法的调用将按照传递的参数类型和个数完成不同方法体的执行。
和C/C++类似,返回值不能作为方法是否重载的依据。