学习内容:
1、Java语言基础
关键字(所有字母都是小写)
class//类
interface//接口
byte//字节bit:位
short//短整型 2 byte
int//整型 4 bytes
long//长整型 8 bytes
float//浮点型
double//双精度浮点.
char//字符
boolean//布尔 false true
void//空
null//空,不存在
if//如果
esel//否则
switch//分支
case//情况.
default//默认,缺省
while//当.. 循环
do//
for//for 循环
break//中断
continue//继续
return//返回
[访问权控制]
private//私有的
proected//受保护的
public//公共的
[class function modifier]
abstract//抽象
final//最终的
static//静态的
synchronized //同步
extends//扩展
implements//实现
new//新建
this//当前
super//超类,父类,
instanceof//是否是xxx实例
try//尝试
catch//捕获
finally//最终
throw//抛出
throws//定义类声明时,抛出异常
package//包
import//导入 export
native//本地的
transient//瞬时的,暂时的,临时的 persistent
asset//断言
自定义标识符的规范,注意Java中是严格区分大小写的;
注释:单行注释//、多行注释/* */、文档注释/** */(javadoc),养成编写注释的好习惯;
2、常量,不能改变的,
1,整数常量。所有整数
2,小数常量。所有小数
3,布尔(boolean)型常量。较为特有,只有两个数值。true false。
4,字符常量。将一个数字字母或者符号用单引号( ‘ ‘ )标识。
5,字符串常量。将一个或者多个字符用双引号(“ ”)标识。
6,null常量。只有一个数值就是:null.
3、整数四种进制表现形式
二进制:0,1 ,满2进1
八进制:0-7 ,满8进1. 用0开头表示
十进制:0-9 ,满10进1
十六进制:0-9,A-F,满16进1. 用0x开头表示
进制间的相互转换,权重,
负数以原码的补码形式表达,正负数相加得0,溢出最高位,正好等于0;
-128在内存的二进制为1000 0000,可由-127-1得来;
所有进制如果每位上都是1,那么其真实数据为-1;
正数也支持补码,其补码跟源码一致;
正数可以是负数的减一取反;
如何快速的通过一正数得到负数的二进制表现形式:从最低位开始取相同直到遇见的第一个1相同,后面的全部取反。
4、变量,用来不断的存放同一类型的常量,并可以重复使用
定义变量的格式:数据类型 变量名 = 初始化值
5、Java是强类型的,对于每一种数据类型都在内存中分配了不同大小的内存空间
基本数据类型
byte、short、int(正数默认)、long、float(小数默认)、double、char、boolean
引用数据类型
class、interface、[]
自动(隐式)类型转换
强制(显式)类型转换
6、运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符
java是强类型,所以其运算的结果与实际生活中是有些差异的,为了保存原内存的原样性,底层会做自动转化,舍弃高位的,只保留自己的位数;
权限计算模型:逻辑运算&、| 运用, 运算效率提升,例如liunx系统的设计
逻辑运算&、|为何不存在短路的情况:因为其转化为了二进制位运算,而位运算是需要两边都参与的。
7、程序流程控制
判断结构
if else
switch
循环结构
while
do while
for
8、函数
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
函数中只能调用函数,不可以在函数内部定义函数;
函数重载(参数个数和类型),可变参数...
需要帮助的问题:
权限计算模型还是不太明白!!!