------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
由于博主有C/C++基础,因此JAVA语法的学习重点在两者不同的地方,还有就是博主稍微生疏容易遗忘的内容。
一、关键字
1.基础数据类型:C++与JAVA关键字大部分相同,JAVA有八个基础数据类型:byte、short、int、long、float、double、char、boolean;所占字节数分别为:1,2,4,8,4,8,2,1,其中还有对应包装类。
其中long类型的数据后面要带有一个L(大小写不限),float要带有一个F(大小写不限)。JAVA中字节长度与平台无关,且JAVA没有unsigned这种无符号数。
2.引用数据类型:class(类)、interface(接口);接口是JAVA部分的内容,后文将描述其用法。
3.访问权限修饰符:
private(私有的)、protected(受保护的) 、public(公有的),该部分与C++类似。
4. 用于定义类、函数,变量修饰符的关键字
abstract(抽象的)、final(最终的) 、static(静态的)、synchronized(同步的)、enum(枚举),abstract、final与synchronized为JAVA特有。
6、用于定义类与类之间关系的关键字
extends(继承)、implements(实现),JAVA特有。
7、 用于定义建立实例及引用实例,判断实例的关键字
new(建立实例) 、this(当前引用) 、super(父类引用) 、instanceof(判断对象类型),super与instance为JAVA特有
8、 用于异常处理的关键字
try(检查异常) catch(捕获异常) finally(最终执行)
throw throws:两多表示抛出异常,但使用位置不同
9、 用于包的关键字
package(创建包) import(导入包),JAVA中的包关键字,C++自然没有。
10、其他修饰关键字
native(本地)
strictfp(strict float point,精确浮点)
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)
assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)
二、变量以及内存。
三、数组。JAVA中没有指针,且自带垃圾回收机制,因此比C++更加简单方便。比如java的new不需要delete,系统会自动处理并释放寿命结束的变量的内存。
变量命名应该遵循以下规则,当然,以下规则只供参考:
包,包名所有字母都小写,比如xxxyyy;
类、接口名,所有首字母大写,其他小写,比如 XxxYyyZzz;
变量名以及函数名,第一个单词字母首小写,其余自单词首字母大写,形式如 xxxYyyZzz;
常量名,所有字母大写,并且单词直接用下划线连接。形式如XXX_YYY_ZZZ;
四、语法。JAVA对数组有越界检查,因为JAVA的数组都有一个length属性。与C++一样,数组名即数组的地址。
数组创建使用new所花费的内存在堆区,堆区的内存用户可以自由使用,但是使用不当容易造成风险,比如数组越界,内存泄露。
系统变量一般存放在栈区,静态变量与全局变量一般存放在静态内存区。
JAVA语法与C++相似,不过程序入口地址在:public static void main(String[] args);
该函数toBin功能是将十进制数转换成二进制打印出来。StringBuffer是一个类,attend与reserve是改类中的方法。public static void toBin(int num) { StringBuffer sb = new StringBuffer(); while(num>0) { sb.attend(num%2); num/=2; } System.out.println(sb.reverse()); }
从类与对象开始,博主便会重点叙述C++与JAVA的不同,并会附上相关代码。