1-Java基础语法总结,上

1.byte
    byte b1=3,b2=4,b; 
    b=b1+b2;
    b=3+4;

存在默认转换,byte,short,char类型参与运算时会先转换为int类型。

2.byte练习

        System.out.println('a');                      //a
        System.out.println('a'+1);                  //98
        System.out.println("hello"+'a'+1);      //helloa1
        System.out.println('a'+1+"hello");     //98hello
        System.out.println("5+5= "+5+5);    //5+5= 55
        System.out.println(5+5+" =5+5");    //10 =5+5

3.运算符

         整数相除只能得到整数,若是想要得到小数,可以*1.0

4.short

    short s=1,s=s+1;    //Type mismatch: cannot convert from int to short
    short s1=1,s1+=1;    //ok

5.位运算符

    <<   //左移 3<<2=12 ----> 3*2*2         空位补0,被移除的高位丢弃

    >>   //右移 3>>1=1   ----> 3/2        被移位的二进制最高位是0,右移后空缺位补0; 最高位是1,最高位补1

    >>> //无符号右移 3>>>1=1 ---->3/2        被移位二进制最高位无论是0或者是1,空缺位都用0补

    &     //与运算 6&3=2  ---->110&011        任何二进制位和0进行&运算,结果是0; 和1进行&运算结果是原值

    |       //或运算 6|3=7  ----->110|011        任何二进制位和0进行 | 运算,结果是原值; 和1进行 | 运算结果是1

    ^      //异或运算 6^3=5  ----> 110^011        任何相同二进制位进行 ^ 运算,结果是0; 不相同二进制位 ^ 运算结果是1

    ~     //反码 ~6=-7  ---->~110   

    计算机中数据的存储和运算都是采用补码进行。

    数据的有符号表示法:

      原码:正数为正常的二进制;负数为符号为一的二进制

      反码:正数和原码相同;负数符号位不变,数值位取反

      补码:正数和原码相同;负数反码+1

6.不使用临时变量将两个整数变量交换:

    a=a^b;   

    b=b^a;      //b=b^a=b^(a^b)=a^b^b=a^0=a;

    a=a^b;      //a=a^b=(a^b)^a=b^a^a=b^0=b;

7.三元运算符

    三元运算符可以使用if语句改进,反之不成立。

    原因是当if语句控制的语句体是一条输出语句的时候,就不成立。 因为三元运算符是一个运算符,必须要求有一个结果返回。 而输出语句却不能作为一个返回结果

8.switch语句

    switch表达式取值:byte,short,int,char;jdk5之后支持枚举,jdk7之后支持String

    case语句后只能是常量,不能是变量,且多个case后面值不能重复

    switch语句结束条件为遇到break或执行到程序末尾

9.for和while

    使用区别:控制条件语句中所控制的变量,for循环结束后,不能再被访问,while循环结束后仍可继续访问。

你可能感兴趣的:(java基础)