林夕笔记林夕笔记
首页
关于我
首页
关于我
  • 后台笔记

    • Java

      • Java语法
    • MySQL

      • MySQL基础
      • MySQL高级
    • 企业微信开发

      • 开发环境搭建

Java语法

数据类型占用空间及取值范围备注
boolean1 byte (true和false)
byte1 byte (8位,-128~127)
short2 byte (16位,-32768~32767)short a = 1; s = s + 2;编译失败,s + 2 计算结果是int。s += 2可以编译并执行因为赋值时会强转
int4 byte (32位,大约±21亿)
long8 byte (64位, 大约±900万万亿)
char2 byte (16位,Unicode字符)与整数相加先转为整数后计算,计算结果为整数 char ch = '\n'是可以编译的n被转译成了换行符
float4 byte (32位,大约±3.4E38精度6位)
double8 byte (64位,大约±1.7E308精度15位)

+: 任何数据与字符串使用+都会转成为字符串拼接

/:两个整数类型计算结果也是整数类型【3 / 1 = 1】,只要有一个是小数类型则计算结果为小数类型【3.0 / 2 = 1.5】

%:计算结果取决于前面那个数正负【1 % -2 = 1; -1 % 2= -1; -1 % -2 = -1】

^: 两边相同为false,两边不同为true

<< >>: 左移乘以2的移动位数次幂 。右移就是除以2的移动位数次幂,高位补最高位一样数字

// 获取最低四位
int 数据 = 60;
int 低四位 = 60 & 15 
/*
    0000-0000-0011-1100   60
 &  0000-0000-0000-1111   15
-----------------------------------
    0000-0000-0000-1100   12
*/
// 获取高四位
int 中间参数 = 60 >> 4
/*
    0000-0000-0011-1100   60
 >> 4
-----------------------------------
    0000-0000-0000-0011   3
*/
int 高四位 = 中间参数 & 15
/*
    0000-0000-0000-0011   3
 &  0000-0000-0000-1111   15
-----------------------------------
    0000-0000-0000-0011   3
*/
// 如需取所有四位值需要用>>> 然后判断是否位移到最后,移到最后所有都是0

<<< >>>: 与<< 计算方式一致,右移最高位只给补0

&: 0为false 1为true 结果遵循逻辑运算符

|: 0为false 1为true 结果遵循逻辑运算符

^: 0为false 1为true 结果遵循逻辑运算符【一个数制异或同一个数两次结果还是 同一个数】

~: 0与1互换, 负数为整数取反加一 -1 = ~1 + 1

构造方法是给对应对象初始化

构造代码块是给所有对象进行统一初始化,优先于构造方法

this 代表调用对象,谁在调用this坐在方法this就代表哪个对象

this方法只能放在构造方法第一行,只能用于调用别的构造方法,一个构造方法只能调用一个构造方法

static 只能用于修饰成员变量,成员函数可被类名. 调用,随着类的加载而加载,优先于对象存在被所有对象共享。类一加载进内存就执行static代码块,只有真的用到类中方法包括构造方法才会加载进内存中,User u = null 不会把User加载进内存

new 对象时,先判断是否已经加载进内存中,没有加载就用“应用程序加载器”把类加载到内存中,如果类中有static修饰符代码块就立即执行static修饰符代码块,分配堆内存,执行非 static修饰符代码,执行构造方法

还要先看有没有继承类和实现接口,有的话先加载相应的父类或接口