Java基础语法
1代码注释
2数据类型
Java是一种强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用,更安全,但速度会有些下降。
Java的数据类型分为两大类
-
基本数据类型
-
整数类型:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)
-
浮点类型:float(4个字节)、double(8个字节)
-
字符类型:char(2个字节)
-
boolean类型:占“一位”,其值只有true和false两个
注意:long类型要在数字后面加L;float类型要在数字后面加F;String不是关键字,它是一个类。
位与字节
-
位(bit):是计算机内部数据存储的最小单位
-
字节(byte):是计算机中数据处理的基本单位,习惯上用大写的B来表示
-
-
引用数据类型
-
类
-
接口
-
数组
-
-
整数拓展
-
有些进制有特定的表示方法
-
二进制前面加0b、十进制正常、八进制前面加0,十六进制前面加0x
-
10—>10 ; 010—>8 ; 0x10—>16
-
-
浮点数拓展
-
有限的、离散的、具有舍入误差的特性、大约性,不要用于比较
-
![]()
-
对于上面的f和d,看似一样,比较后却为false,所以不要用浮点数进行比较,经典的银行用什么来表示钱的问题,用一个类BigDemical。
-
-
字符拓展
-
![]()
-
所有的字符本质还是数字,Unicode的编码:2字节—>65536
-
![]()
-
上面这个\u为转义字符中的一个,将后面的十六进制数字通过某些方法找到其对应的符号,上面这个最后会输出字母“a”。
-
3类型转换

-
转换过程,强制转换(高到低—>再高的前面加个括号并加低级的关键字)如:
![]()
-
打印后却发现i为128,b为-128,该现象的原因为内存溢出。
-
-
当是低到高时,为自动转换,不需要在前面加个括号并加关键字。
-
不能对布尔值进行转换,毕竟是位
-
JDK7新特性,数字之间可以用下划线进行分割,如:
-
10000000=10_000_000,且输出的时候,下划线并不会被输出。
-
-
![]()
-
溢出的问题使得乘积为负数,且记
-
4变量
变量顾名思义是可以变化的量,可以将其理解成空间(内存),当你定义了一个变量,就拥有了一个空间,这个空间想放什么都可以,只要符合一定的规则。
变量的命名:使用首字母小写和驼峰原则,如:lastName
类名:使用首字母大写和驼峰原则,如DemoTest01
方法名:首字母小写和驼峰原则
变量分为三种类型:
1. 局部变量:必须声明和初始化值,只在所包含于的中括号中有效
2. 实例变量:从属于对象;可以不初始化,如果不自行初始化,则会为默认值;所有的数值类型默认值为0或0.0,布尔类型为false,除了基本类型,其它默认值都是null
3. 类变量:跟实例变量一样,不过这个变量之前加了一个static,从属于类,跟着类一起出来,一起消失
5常量
初始化后不能再改变值!不会变动的值。
注意:static final和final static一样,修饰符不存在先后顺序。
一般常量名的字母都用大写字母表示。
6基本运算符
注意:
由上可知,操作数中,如果里面有long类型,结果为long类型,如果没有,不管里面有没有int类型,结果都为int类型;同理,有double则结果为double类型。
注意:幂运算的特殊处理
Java中不能用2^3这种写法,而需要调用数学类Math,其中2^3写为Math.pow(2,3)。
7位运算

&—>与、|—>或、^—>异或、~—>非(取反)
一道面试题:

用位运算符号(<<;>>)与底层直接打交道,速度极快,直接运算出来
另外一道面试题:

假设上面的a为10,b为20。
实际的答案为:上面一条输出1020,下面一条输出30。
两个规则:
-
从左到右运算。
-
如果输出打印过程中出现了string类型,则其它后来的也转成string输出。
8三元运算符

9包机制





浙公网安备 33010602011771号