基本变量:
char-16 16数值位;
byte-8 short-16 int-32 long-64 1+(n-1)=符号位+数值位;
float-32 1+8+23 符号+幂指位+数值位;
double-64 1+11+52 同上;
\u4e2d \u56fd 中国;
在jdk7.0 可以直接进行二进制赋值 int num=0b1011;
java类型有无数种或者两种(基本类型和引用) 引用可以说成无数种......;
n%m 结果的符号看n的符号 所以判断奇数 用n%2!=0 n&1!=0 因为在负数中 n%2==1这样判断错误;
一个数%2的n次方 等价 n&2的n次方-1;
对于public static void main(String [] args) public是1 static是8 累加是9(这是主方法必须成立的,就是只要前面加起来是9都行)
所以 static public void main(String [] args) 这么写不会报错;
^异或运算符可以容易实现两个数交换不要第三者......a=a^b b=a^b a=a^b 交给成功;
JVM 中有1:类加载器 2:字节码效验器 3:解释执行器
类:具有相同特征的一类事物集合 是创建对象模板;
引用是称呼对象的一个名字而已;
方法是对象的功能 属性书对象所有的;
在环境配置汇总 path:是给os用 是用于快速周到程序
classpath:是给jvm用 找.class文件
在权限模板中用到&
比如权限是1 2 4 8
要想知道一个权限数值是否包含某个权限 可以 15&8!=0 说明有
一个权限数值取消一个一个权限 可以 15&(~8) 取消8的权限
想要得到两个权限的和 用 | 7|9 得到所有7 9有的权限
想要在一个很多数据的数组中找打一个数 是否 存在 比如 5个数 可以蒋每个数%4 &3 得到余数为0 1 2 3这几类数 然后将要寻找的数也%4 这样在从每类数中区寻找 数据量很大的 这样效率高很多 hashtable中就是运用这个.....;
类的开打应该具有高聚合(独立完成功能的能力) 低耦合(模块与模块之间的依赖关系很低)
框架的的建立就是降低耦合.....
封装:就是不必要暴漏的东西隐藏 仅仅提供相应的接口....
继承:得到存在的 新增独特 对于父类的私有属性 其实子类中是存在其存储空间 只是子类不能使用罢了....
多态: 1:静态多态 编译时多态 重载
2:动态多态 运行时多态 父类 =new 子类 这时编译看父类 运行看子类
java 程序的编译过程 把源文件(.java)通过javac 形成字节码文件(.class) 这时编译期
然后jvm的类加载器会加载这个.class文件 然后字节码效验器工作 最后有解释执行器 执行