各种语言都拥有这些性质
javaSE(java初始自带的核心)
java生态:大批大牛的进入和完善
java EE:java外部 网站系统开发(java web)
java ME:安卓开发
SDK:第三方开发提供的一个调用样例 (调用文档和调用代码)
java编程软件不要用最新版本 有bug不完善,应该用稳定的版本
————————————————————————
java命名规范(面试点)
小驼峰命名:每个单词的首字母大写
类名:大驼峰
变量名,文件名,方法名:小驼峰
文件夹名字:全部小写
常量名字:所有字母大写
————————————————————
java基本数据类型
整数:
byte - 8bit(1bit就是一个二进制的0、1) =1B
short - 16
int -32
long - 64
小数:
float - 32
double - 64
字符:
char - 根据编码决定
浮点:
boolean - 32
同一个类型占据的大小和数值无关和类型有关
——————————————————————
对于正数,计算机内部也需要用补码表示,但是正数的补码就是源码本身
short int long 方式是一样的
每一个像素点需要坐标(x,y)光学三原色比例(红绿蓝),亮度组成
每次读取一个像素点需要消耗56bit(16 + 16 = 32 bit x,y)(8+8+8 = 24bit 三原色)1,2,3即代表颜色也代表亮度 数字越大 像素点越浅 越亮
char编码 每一个数字字母都有与其对应的编码 将其映射在屏幕上
记事本显示原理 存的是编码 每次读对应长度 事先有编码和形状的库 每次显示在库中一一对应
——————————————————————————————
被final修饰的类不可以被继承
被final修饰的方法不可以被重写
被final修饰的常量 常量不可以第二次赋值
final防止指令重新排序保障多线程下的安全(面试点)
final修饰的常量 所有字母大写
————————————————————
要想计算一个数值的平方根, 可以使用 sqrt 方法: double x = 4; double y = Math.sqrt(x); System.out.println(y); // prints 2.0
——————————————————————
double y = Math.pow(x, a);将 y 的值设置为 x 的 a 次幂( xa)
如果一个变量等于自己++的话 那这个变量的值不变
int a = 0; 只有这种情况下a的值等于0
a = a++;
a=0
a= ++ a没有问题
N进制向左移动M位u, 相当于这个数乘以N^M
40bit------- 最多有40个1-----> 最多拆分成40个数字相加
——————————————————————
多进制转十进制方法
多进制转二进制
十进制转N进制 一直除以N
N进制转M进制-----》 N进制先转10进制,10进制转M进制
——————————————————————————
不可变字符串指的是字符串不可变不能在原地址进行修改
==的含义 对于基本类型来说==对比的是值是否相等 对于(面试点)
引用类型由于其值不断的发生变化无法确定预先给他分配多大空间,所以他的句柄和值不能在一起,只能在使用时动态分配空间,引用类型需要动态分配,基本类型都是预分配的(面试点)
字符串比较值的相等只能用qeuals(面试点)
System.out.println(str.equals(str4));
如果重写equals()方法一定要重写hashcode()方法 原因在于hashmap(面试重点 面试频率前10)
_________________
replace把某些字符替换为某些字符
获取长度 inx = str.length();
根据”=“进行切割 String[] arr = str.split("=");
--------------------
常用的一些字符串语句(红箭头标注)
————————————————
(重要面试点)StringBuffer内部原理同StringBuilder一样,是多线程下的安全版本,以为加锁了,稍微慢一点相对于StringBuiler
凡是类名带Buffer的内部实现都是基本类型数组
——————————————————————
电脑读任何数据之前 先把地址指令发过去
存储单元的存储容量越大他的速度越快 (缺点单个存储单元越大空间浪费越严重)
存储单元越小 速度较慢 空间利用更充分
一个存储单元至少消耗4kb这是由操作系统决定的
数组比较节省空间 打算法用数组更方便一些
可以使用下面的调用方式找到路径的位置: String dir = System.getProperty('user.dir"):
记事本显示原理 存的是编码 每次读对应长度 事先有编码和形状的库 每次显示在库中一一对应(面试重点)
编程语言操控文件就是操控他的编码 如word文档 txt
有规律的计算用数学公式 不要盲目的用for循环
switch击穿:在Switch语句中,如果case控制的语句体后面不写break,将会出现穿透现象,在不判断下一个case值得情况下,向下运行,直到遇到break,或者整体switch语句结束。
switch可选类型:
•类型为 char、byte、 short 或 int 的常量表达式。 •枚举常量。 •从 Java SE 7开始, case 标签还可以是字符串字面量(面试题)
break只能打断一层循环不能打断多层
数组是引用类型 不是基本类型
多维数组
引用类型的”=“相当于把自己的指向换掉一维数组和二维数组是一样的(C和C++指针也一样)
一维二维数组效果图
Arrays.sort(); 排序 打算法时用经常用到