常用格式控制符号
System.out.printf()f就是format的意思,格式化,对文字做格式化后再显示在文本模式中,格式控制符号
%d以10进制整数格式输出
%f以10进制浮点数格式输出
%e/%E以科学记号浮点数格式输出
%o以8进制的整数格式输出
%x/%X以16进制整数格式输出
%s/%S字符串格式符号
%c/%C以字符格式输出
%b/%B输出boolean值
%n输出平台特定的换行符号 (windows下会置换为"\r\n"。linux下置换为"\n",MAC OS下会置换为“\r”)
常用忽略符号
\\反斜杠\
\'单引号'
\"双引号"
\b倒退一个字符
\f换页
\n换行
\r光标移至行首
注意% 运算符,称为模数运算符,就是得到两个数的余数例如 10%3=1
逻辑运算符&& || !
对于&&来说只要左操作数为false,就会直接返回false,不会再去运算右操作数
对于||来说只要左操作室为true,就会直接返回true,不会再去运算右操作数了
ANDOR XOR
位运算& | ^(异或) ~(补码) 注意位移运算都要转换为2进制后才能运算
0&1=01&0=0 0&0=01&1=1 都是1的时候才为1
0|0=01|0=1 0|1=11|1=1 只要有一个1就为1
0^0=01^0=1 0^1=11^1=0 当两个数不同的时候才为1
大家注意,逻辑运算符号和位运算符号是很容易混淆的
在位运算符上除了上面的4种,java还提供了左移(<<) 右移(>>)
<< 会将所有的2进制位往左移动指定的位数,左边被挤出去的位会被废弃,而右侧会补0
>> 相反,会将所有的2进制位往右移动指定的位数,后边被挤出去的位会被丢弃,而左侧会补上符号位
>>> 跟右移相似,不同点在于,左侧不是补符号位,而是补0
例如
int num = 1;
num = num << 2;
System.out.println(num);
结果为4
int a = 4;
a = a >> 2;
System.out.println(a);
结果为:1
int b = -4;//10000000 00000000 00000000 00000100
b = b >>> 2;//00100000 00000000 00000000 00000001
System.out.println(b);
结果为:1073741823
注意:int类型在内存中占4个字节
java中递增,递减运算
int i=0;
i=i+1;
与i++;
哪个写法比较好呢?就简洁渡而言,使用++,--的写法比较好,但就效率而言,其实是一样的,因为,如果你写成i=i+1;编译程序会自动帮你改成i++;同样的如果你写成i=i-1;编译程序会自动帮你改成i--;
++i或者--i写在变量前,表示先将变量值加或减1,然后再返回变量值
i++或者i--写在了变量后,表示先返回变量值,然后再对变量加或减1
这里我补充一点,不管是前++或者后++,变量值都会加1
指定的简便运算符号
+=-= *= /= %= &=|= ^= <<= >>=
a%=ba= a%b;
a&=ba=a&b;
其他类似
关于类型的一点就是
System.out.println(10/3);
System.out.println(10.0/3);
前者结果为3,后者为3.333333333...
switch条件句要注意的地方
switch(变量/表达式){
case 整数(int),字符,字符串,Enum//注意这里只有这4种类型long类型不行的
}