JAVA基础1-12
new knowledge
- 位(bit):computer数据储存中最小的单位
- 字节(byte):computer数据储存中数据处理的基本单位(用B表示)
- 字符:computer中使用的字母,数字,字和符号(只能写一个不能两个以上连写)
- 1bit show 一位
- 1byte show 一个字节 1B(byte,字节)=8b(bit,位)
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
- 1024G=1TB
最基本的八大数据类型
整数:1.int 2.byte 3.short 4.long
小数(浮点数):1.float 2.double
字符:1.char
布尔值:1.boolean
数据类型扩展(面试题讲解)
-
整数拓展:二进制(0b)八进制(0) 十六进制(0x)十进制
-
浮点数拓展:银行业务how to do?不可以使用float 和 double(because浮点数表现的是有限的离散的 并且含有误差 大约 and 接近但不等于)
所有用BigDecimol(数学工具类)
-
字符拓展:可通过强制转换把字符转换成其代表的数字,因为所有字符的本质都是数字。并且char中有编码表,表中某一字母某一字都有其对应的数字代码。如97=a 65=A
-
转义字符:点击跳转到
-
布尔值拓展新手老手不同的写法(Demo03)
类型转换
byte,short,char,int,long,float,double(从低到高,string不参与因为它是类不是数据类型)
- 强制转换 (从高到低)
- 自由转换 (从低到高)
注意点:
- 不能对布尔值进行转换(布尔是按位的)
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换(加括号是强制转换的规则)
- 转换时可能会存在内存溢出,或者精度问题(例如浮点数转为整数小数点后可能没有了这属于精度问题)
变量常量作用域
java变量
it 是程序中最基本的存储单元,包括变量名(a,b等变量的名称),变量类型(八大基本类型byte-double),作用域
- 变量类型可分为基本类型(八大基本类型)和引用类型(String字符串为引用类型)。
- 变量名必须是合法的标识符。
- 每一句必须用“;”结束。
- 定义变量时:变量类型+变量名称+变量值
- 变量作用域:类变量,实例变量,局部变量
-
类变量:变量类型前须加一个类“static”(从属于类 与实例变量位置一致)在方法里面可以直接输出
-
实例变量:不需要加static关键词(在类的里面,方法的外面)如果不自行初始化也就是不自行赋值的话,会输出这个类型的默认值–七大基本数字类型默认值为0,整数为0小数为0.0–布尔值类型默认值为false—除了基本类型以外其余的默认值都是null。
-
局部变量:在方法里面(该方法为class类下的不同方法当中。 例如main方法【public static void main(){}】 add方法【public void add(){}】等)。其有效期只在每个方法的{}中起作用
- 注: 局部变量必须声明(为一句声明,带有;的)和初始化(将变量赋一个值如a=10)
java常量
it是不会变动的量,且需要一个关键词final
使用:final 常量名=常量值(常量名一般用大写字符)
变量名前的全部为修饰符(修饰符不存在先后顺序)
表示类变量时需要加static
-
变量命名规范:1.局部变量:首字母小写和驼峰原则 2.类成员变量:首字母小写和驼峰原则
3.常量:大写字母和下划线MAX_VALUE 4.类名:首字母大写和驼峰原则(Demo)
5.方法名:首字母小写和驼峰原则
基本运算符
-
算数运算符:(+)(-)(*)(/)(%)–取余(模运算)(++) (–)
-
赋值运算符:(=)
-
关系运算符:(>)(<)(>=)(<=)(==)(!=)(instanceof)(不等于)
-
逻辑运算符:(&&)【与】(||)【或】(!)【非】(用的是布尔值来判断正误的)
-
位运算符: (&)(|)(^)(~)(>>)(>>>)(了解即可)
-
条件运算符:(?)(:)
-
拓展赋值运算符:(+=)(-=)(*=)(/=)
-
快捷键:Ctrl+D(复制当前行到下一行)
-
二元运算符至少要有两个元素参与运算
-
一元运算符自己一个元素就可以完成自增和自减 符号主要为(++)(–)
注:1.多种运算中只要有一个操作为long/double变量类型(元素) 该操作输出的最终结果仍未其变量类型。只要没有long/double 则输出结果均为int 类型(详情见idea-operator-Demo01)
2.关系运算反映出来的结果为布尔值(true/false)(详情见idea-operator-Demo01)
-
one of the most important of the operators——(++)(–)
-
a++:表示先赋值输出再自增 ++a:表示先自增再赋值输出
-
主要靠理解 详情见idea-operator-Demo02(自增自减)
拓展:幂运算用工具Math(详情见oD02)
逻辑运算符和位运算符
- 逻辑运算:与或非三种
- 位运算:详情见oD03
&:与 同一对应位均为1则为1,其余全为0
|:或 同一对应位均为0则为0,其余全为1
^:取反异或:同一对应位相同则为0,否则为1
~:取反:完全相反
拓展:<< >>的使用(箭头指向哪往哪移)
<<:左移——左移几位相当于乘几次二 >>:右移——右移几位相当于除以几次二
例如:(2<<3):表示2向左移三位即乘三次二 so it=2 ×2×2×2=16