1. ! 取反 !TRUE 输出是FALSE
^ 异或 一个TRUE一个FALSE输出为TRUE,否则输出FALSE
&&和& 与,当两个都是TRUE时,结果才是TRUE;&&为简洁与,&为非简洁与,区别是&&只在左侧结果为TRUE时才运算右侧的表达式
||和| ,当运算符的两侧都为FALSE时,结果为FALSE,否则运算结果为TRUE;||为简洁或运算符,只有当左侧为FALSE时才继续运算右侧的表达式
2.二进制
正数和负数的原码都一样,只是第一位符号位不一样。例如:
+7 :0000 0111
-7 : 1000 0111
运算一般采用补码进行运算,正数补码和原码一样,负数的将这个数的绝对值求反再加1,
-7 : 1111 1001 计算机一般采用这个补码进行运算
小数用二进制位数表示:
比如说5.6
整数部分5用2进制为101
数部分0.6
有这样一个公式: 基数*2 如果<1就为0,基数=基数;大于1,就为1,基数=基数-1
0.6*2=1.2>0 那么就为1 基数=1.2-1=0.2
0.2*2=0.4<0 那么就为0,基数=0.4
0.4*2=0.8<0,那么就为0,基数=0.8
0.8*2=1.6>0 那么就为1,基数为1.6-1=0.6
:
:
:
所以5.6可以表示为:101.1001
想往下面再乘,就更精确了
3、位运算符,位运算是对操作数以二进制位单位进行的操作和运算。1相当于TRUE,0相当于FALSE
逻辑运算符:
~ 按位取反
& 按位与
| 按位或
^ 按位异或
移位运算符:
移位运算符有<<(左移,低位用0补齐),>>(右移,高位添符号位),>>>(右移,高位添0补齐,原来飞负数可能变成一个很大的正数)
4.对象运算符(instanceof)
对象标识符(对象名a) instanceof 类型标识符A 就是判断对象a是否属于类型A,是就返回TRUE,不是就返回FALSE
5、其他运算符
++ 自增
- - 自减
?: 三元运算符: 逻辑表达式 ? 表达式1 : 表达式2,若表达式为TRUE则结果为表达式1的值,否则为表达式2的值。两个表达式只会执行其中一个。
[] 用于声明、建立或访问数组的元素
. 用来访问类的成员或者对象的实例成员
6、创建字符串对象
String aa = " ";
String aa = new String ();
String aa = new String (" ");
这三种表达是一样的,都是创建一个空字符串对象(和空值是两个概念,它是实例化的字符串对象,但是不含有任何字符)
7、+ 连接字符串,用于把多个字符串连接到一起形成一个新的字符串
8、字符串操作
equals()方法是比较对象内容的,不能比较基本类型;用==比较时要求地址也相等才是TRUE
String a= "abc";
String b= "abc";
System.out.println(a.equals(b));直接比较a和b字符串是否相等
equals是区分大小写的,equalsIgnoreCase()是不区分大小写的,
startsWith()和endsWith()是用来判断字符串是否以指定的字符串开始或者结尾,也是返回Boolean型;
startsWith()的重载方法,例如 A.startsWith("aaa",3)判断字符串A的第三个字符是否以aaa开始的。
compareTo(),判断字符串大小,是根据字典顺序来判断的,如A.compareTo(B)值为-1,DcompareTo(B)值为2,相同就等于0;
length()求长度
大小写转换:toLowerCase()--把字符串全部转化成小写的;toUpperCase(),把字符串全部转换成大写的
9、indexOf()用于取指定字符在原字符串中第一次出现的位置,从0开始算的
lastIndexOf()同上,不过是取最后一次出现的索引位置
substring(2,4)取第二到第四之间的字符串,不包含第四位
trim() 去掉首尾空格的
replace(‘a','b')将a替换成b
format() 格式化字符串
10.数组
声明:数组类型[] 数组标识符 或者是 数组类型 数组标识符[] 例如:int [] months; boolean aaaa[]
创建: 可以用new 和{},数组一旦创建,它的长度就会被确定
例如:int [] months = new int[12] ,数组并没有被初始化,默认为0
boolean aaaa = {true,false,true,false};同时初始化了数组
访问:指定数组标识符和索引位置 mouth[2];
二维数组:int[] [] days = new int [3] [4];可以将二维数组看成一个3行4列的表格
boolean holidays[] [] = { {true},{true,false},{true,false,true} };每一行的列数可以不同
holidays.length() 求的是行的长度,为3。求列的长度就holidays[2],第几列就写几