1. 变量字节大小及有效值范围
byte占用一个字节,-2^7~(2^7)-1(byte给char需要强制类型转换)
short占用两个字节,-2^15~(2^15)-1
int占用四个字节,-2^31~(2^31)-1
long占用八个字节,-2^63~(2^62)-1 5L
float占用四个字节,f/F,如11f
double占用八个字节 5.2d
char占用两个字节
boolean占用四个字节
byte(short)加、减(及其他操作)byte(short)值会提升类型成为int,赋值时不能越界。byte类型不能用b=b+1,但可以用b++。
byte类型加、减short结果为short
string s=a+b+c+"abc"+a+b;//字符串前按数值类型算,之后按字符串算,后边加括号可改变优先级。
2.命名规则
类名首字母大写;
并且多个单词情况下,每个单词首字母大写;
public类名必须与文件名相同
3.基本运算:+、-、*、/、%、++、--
求模运算的符号与被取模的数符号保持一致(整数不能[报错]模0,浮点数可以结果为non[不知道])
自增和自减只可以操作变量,不可以操作常量。错误:++5、5++
^运算符:相同为false,不同为true
|| 、&&: 与&和|相比有短路的特点
/:除法:int/int=int ,整数不能除0;浮点数可以除0,结果为无穷大
==:==对对象进行处理时,同一对象为true,否则为false
? : :例 int a=12>15?10:10L【L表示为long类型】会编译出错,返回值类型为两个中较大的类型
byte b=12>15?10:20 编译出错,但 byte b=12>15?10:(byte)20 通过,因为里边的10可视为通过int赋值的byte
如果两个可能选项为对象类型,则返回类型应为最小公共父类
s = 6+b+"abc"+x+y;//编译出错,因为加法是左结合性。
float f = 5*2.0;//编译出错,浮点数(2.0)若无特别强调默认为double类型
加法可用于数字和字符串的连接,被赋值的应为字符串常量
字符串可以和任意类型串联(+)
---------------------------------------------------------------------
逻辑运算符:
boolean b1 = f&&(x++>10); // *&&、|| 与&和|相比有短路的特点,即x++不再执行。
---------------------------------------------------------------------
位运算符:&、|、^、~:把数字变换成二进制后再进行相应位的运算
&两个都为1才为1
两个都为0才为0
^相同为0
~取反
正数的原码、反码、补码均相同
负数的反码:为符号位不变,其余各位取反
负数的补码:反码加1
------------------------------------------------------------------------
移位运算符:(算数左右移)<<、>>、(无符号右移)>>>
<<1相当于除2(int类型<<32结果不变)
>>1相当于乘2
>>>1高位补0,低位舍去。