黑马程序员技术交流社区

标题: Java第一阶段总结 [打印本页]

作者: 18333611664    时间: 2015-8-17 22:12
标题: Java第一阶段总结
JAVA基础针对自己薄弱环节总结01
java中的标识符
组成:数字、字母、下划线、美元$符号组成。
规则:不能由数字开头。
       类名:每个单词的首字母大写
       包名:全部小写
变量名、方法名:第一个单词首字母小写,后面首字母大写
常量:全部大写用下划线连接
注释
单行注释://
多行注释:/*……*/  (不能嵌套)
文档注释:/**…..*/(可以被javadoc命令解析成Html文档(说明书))
变量概述
格式一:
数据类型 变量名=初始化值;
格式二:
数据类型 变量名;
变量名=初始化值;
变量在使用前必须初始化。
java中的数据类型
整型:byte                  1字节
         Short                 2字节
         Int                     4字节
         Long                 8字节
浮点型:float               4字节
           Double           8字节
字符型:char               2字节
布尔型:Boolean
java中定义变量并使用
byte,short类型的变量进行赋值时保证在其范围内即可。(超出范围报错)
long, float 类型的变量进行赋值时后面必须加LF
数据类型转换
1) 自动类型转换(隐式转换)
              bytechar short  -- int  -- long -- float -- double
2) 强制类型转换(显式转换)
              (数据类型) 变量或者常量值;
byte b1 = 3;
byte b2 = 4;
       byteb3 = b1 + b2; // 此行会报错,因为参与运算的byte类型会自动提升为int类型, 可能损失精度.
       byteb4 = 3 + 4; // 不报错,对于字面值常量34, jvm会在编译期对其进行计算(优化), 并比较其值是否在byte范围内,如果未超出,则不报错.
算术运算符
注意:
1) 注意除运算符
       1)除数不能为0.
       2)整形与整形进行运算,结果还是整形.它会将余数舍弃.
          比如: 5 / 2 -- 结果是2
2) ++ -- 运算符原理
       ++ 为例:
              单独运算:
                     在前在后都一样,相当于把值加1
              参与运算:
                     ++在前,先加后用. ++a 相当于 a = a + 1
                  ++在后,先用后加. a++ 会产生一个临时的量, 这个量相当于a的一个副本,然后将a的值自增, 将副本的值返回.
              举例:
                     intx = 10;
                     inty = x++;
                     //结果是y = 10; x =11;
                     
                     inta = 10;
                     a= a++;
                     System.out.println(a);// 结果是10
3) 加法运算符的特殊用法:
   例如: System.out.println(3 + 4 +"hello" + 5 + 'a' + 6 + 7); // 输出结果为: 7hello5a67
逻辑运算符
       注意:
              1)java中不能写成 1 < x< 9 , 而应该写成 x > 1& x < 9
              2)& && 的区别:
                     &,左边无论真假,右边都会参与运算.
                 双&时,左边为真时,右边才会参与运算;左边为假时,右边不会参与运算,有短路功能.           
              3)| || 的区别同理: 对于双或,左边为真时,右边不会参与运算.
位运算符
      <<   左移 -- 将运算数的二进制码整体左移指定位数,左移之后的空位用0补充.
              相当于乘以2的指定次幂.
       >>   右移 -- 将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充.相当于除以2的指定次幂.
       >>> 无符号右移 -- 将运算数的二进制码整体右移指定位数,不管正负,空位全部都用0补充.
              
       注意:
              1)没有无符号左移.
              2)API中很多源码的实现都是采用了位运算符,因为效率高.但咱们开发中自己写程序一般不会用,易读性差.
      
       关于位运算的两个面试题:
              1)用最高效的方式计算2*8的结果.
                     2<< 3
              2)不使用第三个变量的前提下,交换两个变量的值.
                     int a = 10;
                     intb = 20;
                     //结果要求: a = 20;b = 10;
                     a= a ^ b;
                     b= a ^ b;
                     a= a ^ b;




作者: 郝志学    时间: 2015-8-18 09:53
可以啊,嘿嘿
作者: 放学后来我家    时间: 2015-8-18 10:25
写总结这个习惯较好
作者: iamzk    时间: 2015-8-18 11:17
总结的很好,又学习了一遍
作者: 18734903493    时间: 2015-8-18 11:26
看来需要学习你一下!
作者: 0723杜梦瑶    时间: 2015-8-18 21:05
来给你评,我好不
作者: 18333611664    时间: 2015-8-18 21:14
0723杜梦瑶 发表于 2015-8-18 21:05
来给你评,我好不

忒好
作者: burningzzy    时间: 2015-8-18 21:16
这位同学总结的很详细
作者: gaoyintong    时间: 2015-8-18 21:22
好厉害呀,我从就没总结过
作者: sunsteam    时间: 2015-8-18 21:25
看了回忆起几个小细节  特别是异或那个部分 不错
作者: 18333611664    时间: 2015-8-18 21:37
burningzzy 发表于 2015-8-18 21:16
这位同学总结的很详细


作者: 18333611664    时间: 2015-8-18 21:39
gaoyintong 发表于 2015-8-18 21:22
好厉害呀,我从就没总结过

嘿嘿,老同桌
作者: sl123    时间: 2015-8-18 21:47
写的很好,加油
作者: zhang2745387    时间: 2015-8-18 21:53
总结的好
作者: 18333611664    时间: 2015-8-20 20:32
sl123 发表于 2015-8-18 21:47
写的很好,加油


作者: 18333611664    时间: 2015-8-20 20:33
zhang2745387 发表于 2015-8-18 21:53
总结的好


作者: sl123    时间: 2015-8-20 21:50
18333611664 发表于 2015-8-20 20:32

{:2_36:}。。。。。。。。。。
作者: cemabenteng    时间: 2015-8-20 21:58
不用记,以后你不想记都能自动记住了
作者: 七了个七    时间: 2015-8-20 21:58
恩恩 楼主真棒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2