学习笔记-12.01--基本语法

来源:互联网 发布:多多软件站解压密码 编辑:程序博客网 时间:2024/04/28 00:10

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],第几列就写几



0 0