黑马程序员-自学第2天

 ---------------------- android培训,java培训、期待与您交流! ----------------------

 

一:标识
       0-9
       26个英文字母大小写
       _ $

  定义合法标识符规则:
       1.不能以数字开头
       2.不可以使用关键字
       3.java严格区分大小写

java中的命名规范
       包名: 多单词组成时 所有字母都小写
       类名和接口名: 多单词组成时 所有单词首字母大写
       变量名和函数名:第一个单词首字母小写,后面单词首字母大写
       常量名:所有字母大写,多单词时每个单词用下划线连接

 

二:变量与常量
        java中的常量:
           1.整数常量(int):所有的整数
           2.小数常量(double/flot):所有小数
           3.布尔型常量(boll):只有两个数值:true false
           4.字符常量(char):将一个数字字母或符号用单引号('')标识
           5.字符串常量(string):讲一个或多个字符用双引号(" ")标识
           6.null常量:只有一个数值:null

      java中整数的三种表现形式:
          十进制:0-9, 满10进1
          八进制:0-7, 满8进1,用0开头表示
          十六进制:0-9,A-F,满16进1,用0x开头表示

     八进制: 3个二进制位代表一位
     十六进制:4个二进制位代表一位
     进制越大,表现形式越短

    十进制-->二进制
           原理:对十进制除以2,每次相除的结果的余数从右往左写
           比如: 十进制:6     首先6/2得到3余数是0,接着3/2余数是1,最后剩下1不能除以二,则把1放在最前面,最后结果是110

     二进制-->十进制
           原理:二进制乘以2的过程
           简单算法:如:     二进制: 1  0  1  1  0  1
                                      十进制: 32 16 8  4  2  1
                                  从二进制右边开始计算,每个位置以2的幂增长,得到每个二进制数对应的十进制数,
                                  把二进制位是1的对应十进制位相加,所以这个二进制转十进制的值是45 

     二进制转16进制和八进制:
            由于4个二进制位是一个十六进制位所以把二进制位4个分一组,每一组像二进制转十进制的方法一样,然后把每一组组合起来,如果某一组满10,就用A表示,满20就用B表示,
以此类推.
                比如:   0010 0101 1001,从左往每组左转换成十进制是2 5 9,所以结果是259

                           由于4个二进制位是一个八进制位所以把二进制位3个分一组,每一组像二进制转十进制的方法一样,然后把每一组组合起来.
                           比如:   001 100 110 010,从左往每组左转换成十进制是1 4 6 2,所以结果是1462

 

三:数据类型:

      基本数据类型:
          数据型:byte,short,int ,long,从左往右,数据存储变大,byte的范围是-128--127;
          字符型:float,double
         布尔型:boolean

      应用数据类型:
          类:class
          接口:interface
          数组:[]

     关于缓存:
          CPU运行时中会有许多指令:需要开辟空间来执行,但是如果CPU在内存里开辟空间
          就会降低运算速度,所以CPU中有自己的空间,称之为缓存.

 

四:转义符:
          通过\来转变后面一个字母或者一个符号的含义,比如\n,这个n的含义就被转变了,
          如:System.out.print(" 你好! ");
          要给上面的输出语句输出带双引号的 你好,则可以这样:
          System.out.print(" \"你好!\" ");
          这样以来,转义符后面的引号就不在是字符串标识了,

          换行转义符:\n
          退格转义符:\b
          按下回车键:\r
          制表符:    \t

 

五:逻辑运算符

         ^(异或):  true^true=false     结论:两边相同为假,两边不同为真
         true^false=true
         false^true=true
         true^true=false

 

六:位运算符:二进制位的位移

          <<:左位移: 如:3<<1=6  3<<2=12  3<<3=24   结论:结果就是原数据*2的移动的位数次幂, 依次就是3乘以2的一次幂 ,3乘以2的二次幂,3乘以2的三次幂

          >>:右位移:如6>>1=3  6>>2=1           结论:结果就是原数据/2的移动的位数次幂,依次就是3除以2的一次幂,3除以2的二次幂        

          >>:最高位补什么是由原数据的最高位而定,如果最高位是0,右移后,用0补位;最高位是1,右移后,用1补位
          >>>:无论最高位是什么,右移后都用0补位

 

七:与-或-异或
            当进行与-或-异或运算时,可以把二进制码的0看成false,把1看成true

                与:                                                          或:                                                        异或:
              &:     6 & 3 = 2                                        |:  6 | 5 =7;                                           ^: 6 ^ 5 = 3
          计算    1 1 0                                                   1 1 0                                                    1 1 0
         过程:  &0 1 1                                                  |1 0 1                                                  ^1 0 1
                      ----------                                              ----------                                                ----------
                       0 1 0 =2                                              1 1 1 =7                                             0 1 1 = 3
            &:有一个为false,结果就是false         |:有一个为true,结果就是true          ^:两个相同,结果为false
            两个都为true,结果才是true                 两个都为false,结果才是false          两个不同,结果为true

             关于异或:当一个数被同一个数异或两次,结果还是原数: 如: 7 ^ 4 ^ 4=7

            位运算可以用于加密文件

 

八:三元运算符
       语法:  [自定义变量] = (条件表达式)?表达式1:表达式2
                  如果条件为true,运算后的结果是表达式1
                  如果条件为false,运算后的结果是表达式2

 

九:if

        语法: if(条件判断语句){ 执行语句 }

       当执行语句只有一条时,不用写大括号

 

十:switch

         语法:      switch(表达式)

                              { case  取值1:

                                                      执行语句;

                                                      break;

                                 case  取值2:

                                                      执行语句;

                                                      break;

                                      ......

                                         default:

                                                       执行语句;

                                                      break;

                             }

                       条件中,只能是int char short byte型数据       

        switch和if对比:

            如果判断具体数值不多,并且符合byte short int char这4中数据类型,建议使用switch,这种执行效率较高
            如果判断具体数值较多,或者不符合byte short int char 这4中数据类型,或者要进行区间判断,建议使用if

 

---------------------- android培训,java培训、期待与您交流! ----------------------

详细请查看
http://edu.csdn.net/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值