@(Java知识点总结)[Java, Java基本语法]java
@(Java开发)[Java基本语法]express
[toc]编程
简单天然
平台可移植性
支持函数式编程
JIT 编译
更好的并发编程
健壮安全数组
编译:将源代码(.java)处理成字节码(.class)
解释:将字节码加载到JVM中执行(JIT编译)安全
package:方便管理类,避免命名冲突
import:除java.lang包 其余包中的内容须要先导入
class/interface/enum/@interface:多线程
1. 被public修饰的类/接口/枚举/注解最多只有一个 2. 建议:一个源文件中只写一个类/接口/枚举/注解
注释:并发
1. 行注释 // 2. 多行注释(块注释) /* xxx */ 3. 文档注释 /** xxxx */ @author @since @param @return @throws @see @deprecated
关键字
关键字:有特殊含义的单词
byte、short、int、long、float、double、char、boolean
class、interface、extends、implements、abstract、final、package、import、this、super、new、instanceof、strictfp
return、void、native、static
public、protected、private
if、else、switch、case、default、while、do、for、break、continue
try、catch、finally、throw、throws
synchronized、volatile
transient、Java 5+、assert、enum
const、goto
标识符
标识符:给类型(类、接口、枚举、注解)、包、方法、属性、变量等起的名字 1. 字母(Unicode字符)、数字、下划线、$、数字不能开头 2. 不能使用关键字作标识符 3. 大小写敏感 4. 见名如意 5. 驼峰命名法 命名类型时每一个单词首字符大写 命名方法、变量时第一个单词小写,从第二个单词尅是每一个单词首字母大写 命名包是全小写 命名常量是全大写
运算符
(1)算术运算符 + - * / %:任何整数模2,不是0就是1,因此只要改变被模数就能够实现开关运算符 ++:自增 --:自减 (2)赋值运算符 = += -= *= /= %= (3)比较运算符 ==:运算完的结果,要么是true,要么是false != < <= > >= (4)逻辑运算符 &:两边只要有一个为false,结果就是false |:两边只要有一个true,结果就是true &&:短路与,只要右边是false,左边就再也不参与运算了,结果为false ||:短路或,只要右边是true,左边就再也不参与运算了,结果为true ! (5)位运算符 & | ^ ~ << >> >>>:无符号右移 (6)其余运算符 x?y:z; : 三元条件运算符。先计算x的值,若是x为true,则整个三目运算的结果为y,不然为z。常常用来代替简单的 if...else... 判断 +:字符串链接符。System.out.println("5"+4); // 54 new instanceof ():强制类型转换 []:下标运算符
变量与常量
常量:是在程序中的不会变化的数据 变量:其实就是内存中的一个存储空间,用于存储数据。只要是数据不肯定的,就定义变量。 做用:方便于运算。由于有些数据不肯定,因此肯定该数据的名词和存储空间 特色:变量空间能够重复使用 做用域:从变量定义的位置开始,到该变量所在的那对大括号结束。 生命周期:变量从定义的位置开始就在内存中活了,变量到达它所在的做用域的时候就在内存中消失了;
数据类型
boolean byte、char、short(这三个平级)——>int——>float——>long——>double
自动类型转换:从低级别到高级别,系统自动转的 强制类型转换:把一个高级别的数据类型赋给一个级别比它低的变量或者表达式中类型提高(计算结果超出范围)
表达式中类型提高问题:函数式编程
数组、类、接口
程序逻辑
从上至下执行
if....else.... switch....case....default....
(1)switch只能作等值判断
(2)switch后面的小括号中的变量只能是int,以及自动转为int的byte、char、short;JDK7之后可使字符串
(3)default能够写在switch结构中的任意位置,若是写在第一行,无论expression与case中的value是否匹配,程序会从default开始执行,直到第一个break出现。
(4)当判断固定个数的值的时候,可使用if,也可使用switch。建议使用switch,效率相对较高。 switch(变量){ case 值:要执行的语句; break; ...... default:要执行的语句; } 执行过程:小括号中的变量的值依次和case后面的值进行比较,和哪一个case的值相同了,就执行哪一个case后面的语句,若是没有相同的,则执行default后面的语句; 注意:break是能够省略的,若是省略了就一直执行到遇到break位置(case穿透);
(5)当判断数据范围,获取判断运算结果boolean类型,须要使用if。
(6)当某些语句须要执行不少次,就使用循环结构 while和for能够进行互换。 区别在于:若是须要定义变量控制循环次数。建议使用for。由于for循环完毕,变量在内存中释放。
(7)break、continue,return区别 break: 做用于switch时,再也不执行下面的语句。 做用于循环语句时,表示跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起个名字便可,这个名字称之为标号。 continue: 只做用于循环结构,继续循环用的。表示结束本次循环,继续下次循环。 return: 结束当前执行的方法
循环结构
while
do....whiel
for(初始条件;循环控制条件;循环控制条件)
for-each函数