程序名称:由26个字母大小写组成,数字0到9,还有2个特殊字符"_,$"。
包名:全小写;
类名,接口名:首字母大写;
变量名,函数名:第一个单词全小写,(多单词时)其他首字母大写;
常量名:全大写,多单词用下划线隔开(AAA_BBB);
进制的基本转换:
十转二,二转十:十进制转二进制,除以2取余数。
二进制转十进制,乘以2取幂数。
负数的二进制表现形式:对应的正数二进制取反加1。
取反:将二进制的1变成0,0变成1。
负数最高位都是1。
什么时候定义变量:
当数据不确定的时候,需要对数据进行存储时。
类型转换
所有的byte型,short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型;
如果需要得到自己想得到的类型只需要在结果前加上你想要的类型:
如:byte b=3;
//b=b+2;会报错
b=(byte)(b+2);
运算符:
+ - * /;自增++自减--,取模%(取余数,左小右是左,左等于右是0,右边1结果是0,左负数或右负数只看左)
b=a++与b=++a的差别:
第一先赋值给b,a再自行递增;
第二a先自增,再赋值给b;
字符串数据和任何数据使用+都是相连接,最终会变成字符串。
转义字符:
\n:换行。
\b:退格。相当于backspace。
\r:按下回车键。window系统,回车符是由\r\n表示
\t:制表符。相当于tab键。
赋值运算符:
+=,*=,/=,-=,%=
把左右两边的和赋值给左边(x=3,x+=3;x=6)
/*
short s =3;
s=s+2;
s+=2;
区别s=s+2编译失败,因为s会被提升int,没强转无法赋值给s,
s+=2编译通过,因为+=运算符再给s赋值时,自动完成了强转。
*/
比较运算符:
==,!=,<,>,<=,>= , instanceof(检查是否是类的对象:"holle"instanceof String 返回true)
比较运算符的结果都是boolean型,也就是要么true,要么false。
==不能写成=(=是赋值不是比较)
逻辑运算符:
& , |, ^, !, &&, ||
&:两个true才true
|:有一个true就true
^:两个true或两个false 就false 其他true
!:就是判断另一面。!true(非真也就是假)
&&:一个false,右边不运算。($两边都运算)
||:一个true,右边不运算。(|两边都运算)
位运算符:
<<:左移,相当于乘以2的倍数,3<<2(3*2*2=12)
>>:右移,相当于除以2的倍数,3>>1(3/2=1)(最高位是1就补1,是0就补0)
移n位,就是乘以或者除以2的n次幂。
>>>:无符号右移,3>>1(3/2=1)(最高位是0是1,都用0补)
&(与运算6&3=2) 6=110 &:110 |:110 ^:110 (1代表true,0代表false)
|(或运算6|3=7) 3=011 011 011 011 (是以它们的2进制来运算的)
^(异或运算6^3=5) 010 111 101 (010=2,111=7,101=5)
//一个数异或一个数两次,结果还是那个数。(5^4^4=5)
~反码(减1取反)
三元运算符:
(条件表达式)?表达式1:表达式2
如果条件为true,结果就是表达式1
如果条件为false,结果就是表达式2