学习日记31--Java基础学习--运算符和控制结构

  1. 标识符命名规则:
    1)包
    最好是域名倒过来,要求所有的字母小写
    2)类或者接口
    如果是一个单词首字母大写
    如果是多个单词每个单词首字母大写(驼峰标识)
    3)方法或者变量
    如果是一个单词全部小写
    如果是多个单词,从第二个单词首字母大写
    4)常量
    如果是一个单词,所有字母大写
    如果是多个单词,所有的单词大写,用下划线区分每个单词
  2. Java中不同进制的数据表现形式
    1)二进制的数据表现形式
    由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
    2)八进制的数据表现形式
    由0,1,…7组成。以0开头
    3)十进制的数据表现形式
    由0,1,…9组成。整数默认是十进制的
    4)十六进制的数据表现形式
    由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
    5)案例演示
    • 0b100       2进制
    • 0100       8进制
    • 100       10进制
    • 0x100      16进制
  3. 原码,反码和补码:
    原码是一个整数按照绝对值大小转换成的二进制数,第一位数表示正负.
    补码是负数在计算机中的二进制表示方法,涉及负数都用补码.
    补码是由反码得到的,而反码又由原码求得.反码只是为了求补码.
  4. 数据类型(为了合理配内存空间)

    类型取值范围占字节数备注
    byte-2^7~2^7-11
    short-2^15-2^15-12
    int-2^31~2^31-14整数默认类型
    long-2^63~2^63-1约2E98标识符为L/l
    float约-3.4E38~3.4E384(IEEE754)标识符为F/f
    double约-1.8E308~1.8E3088(IEEE754)小数默认类型
    char-0~2^16-12

    1)boolen      理论上占1个bit,但java未对它指定大小
    2)对long类型赋值时,需要加标识符L,对float赋值时,需加标识符F或f.
    3)byte类型在进行运算时,会自动提升为int类型
    4)注意 b++ 和 b=b+1的区别。++只是操作符,不会改变原数据类型,而后者会使得数据类型提升为int。

  5. a++ 与 ++a 的区别: 放在操作数的前面,先自增或者自减,然后再参与运算。放在操作数的后面,先参与运算,再自增或者自减。同理,a+=1,与a=a+1的区别.

    • &逻辑与:有false则false。
    • |逻辑或:有true则true。
    • ^逻辑异或:相同为false,不同为true。
    • !逻辑非:非false则true,非true则false。
    • 特点:偶数个不改变本身。
    • &&和&的区别?
      • &&具有短路效果。左边是false,右边不执行。
        &是无论左边是false还是true,右边都会执行
      • 最终结果一样。&&–可以提高效率,推荐使用
  6. 位运算符的基本用法
    • &,|,^,~ 的用法
    • &:有0则0
    • |:有1则1
    • ^:相同则0,不同则1
    • ~:按位取反
      • ^的特点:一个数据对另一个数据位异或两次,该数本身不变。5^10^10=5;10^5^10=5;
      • 例如:要交换变量x和y,可以用:y=x^y –> x=y^x–>y=x^y
  7. “>>,>>>,<<”的用法:

    • <<:左移 左边最高位丢弃,右边补齐0
    • >>:(有符号)右移 最高位是0,左边补齐0;最高为是1,左边补齐1
    • >>>:无符号右移 无论最高位是0还是1,左边补齐0
  8. 三元运算符

    • (关系表达式) ? 表达式1 : 表达式2;
    • 案例演示: 获取两个数中的最大值:(x>y) ? x : y
    • 注意:三元运算符是一个运算符,必须要返回结果,而不能写输出语句
  9. int a = 1; 是两句话,等同于: int a , a = 1,先声明后赋值.
  10. switch语句

        switch(表达式) {      //表达式可接受的类型:byte,short,char,int
              case1//现也可接受枚举类型,string字符串
                语句体1;
                break;
                case2:
                语句体2;
                break;
                …
                default:    
                语句体n+1;
                break;
        }
    1. 执行流程
      • 先计算表达式的值
      • 然后和case后面的匹配,如果有就执行对 应的语句,否则执行default控制的语句
    2. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
    3. 最后一个break可以省略,其他最好不要省略,否则可能出现case穿透.
    4. 适用于固定值表达式,对有范围的表达式用if语句
  11. 循环结构for语句:

    for(初始化表达式;条件表达式;循环后的操作表达式) {
        循环体;
    }
    
  12. while循环语句

    初始化语句;
    while(判断条件语句) {
         循环体语句;
         控制条件语句;  //决定了跳出循环的时机
    }
    
  13. do while 循环语句

    初始化语句;
    do {
        循环体语句;
        控制条件语句;
    }while(判断条件语句);
    
  14. 注意点:

    1. do…while循环至少执行一次循环体。而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
    2. for语句执行后变量会被释放,不能再被调用,而while循环的变量是定义在循环外的,还能被调用.
    3. 两种最简单的死循环格式
      • while(true){…}
      • for(;;){…}
  15. 控制跳转语句标号
    标号:标记某个循环对其控制
    标号组成规则:其实就是合法的标识符,

  16. return:跳出方法 break:跳出整个循环 continue:跳出当前循环

  17. java方法的格式:

            修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
            方法体语句;
            return 返回值; 
            }    
    
  18. 方法重载:

    • 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

    • 参数列表不同:

      • A:参数个数不同
      • B:参数类型不同
      • C:参数的顺序不同(算重载,但是在开发中不用)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值