Java基础知识(二)
[^]: 本文的大部分知识点都出自于SnailClimb大神,大神的github地址: https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/basis/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md#11-java-%E5%85%A5%E9%97%A8%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5%E4%B8%8E%E5%B8%B8%E8%AF%86 )
java中常见的标识符和关键字:
在java项目中,我们需要为大量的类、方法、变量取名字,而在这里我们所取得名字,便是标识符,而所谓的关键字便是java语言官方所取出的名字,例如public、void、new、static 等等。常见的java关键字如下:
访问控制 | private | protected | public | ||||
类,方法和变量修饰符 | abstract | class | extends | final | implements | interface | native |
new | static | strictfp | synchronized | transient | volatile | ||
程序控制 | break | continue | return | do | while | if | else |
for | instanceof | switch | case | default | |||
错误处理 | try | catch | throw | throws | finally | ||
包相关 | import | package | |||||
基本类型 | boolean | byte | char | double | float | int | long |
short | null | true | false | ||||
变量引用 | super | this | void | ||||
保留字 | goto | const |
自增自减运算符
在java中的自加自减运算符,即:++ 和 --。一般来说自增和自减运算符有两种用法,即a++或者++a,二者的区别是:a++先将值赋予a,再进行自增操作;而++a则是先进行自增操作,再将值赋予a。下面我们看一个小例子:
int a = 1;
int b;
for(int i = 0;i < 3;i++) {
System.out.println("i=" + i);
b = a++;
System.out.println("a =" +a);
System.out.println("b =" +a);
}
由此,我们可以发现a++的特性,即先赋值在++。此外需要注意的是,在for循环中,i++与++i并无循环结果上的区别(因为每一次的++实质上都是在执行完循环体内的所有语句后再执行的,并且曾经看过一篇文章是说,java在编译时,对于for循环中的i++都是当成++i来处理,因为++i会占用更少的内存。)
continue、break和return
continue:跳出当前这一次循环,进入下一次循环
break:结束这个循环体,继续向下执行
return:结束这个方法
== 和 equals()
对于基本数据类型(如int 、 char 等而言),我们常认为==比较的是它们的值,一般不使用equals()方法。
而对于引用数据类型(如String a = new String (“A”))而言,==比较的是其地址(所以两个比较的对象即使值相等 == 的结果也是flase),而equals()方法若经过重写,则比较的是值(必须重写equals()方法和hashCode())