黑马程序员技术交流社区

标题: day02--java基础语法1 [打印本页]

作者: NUMONE    时间: 2015-10-28 21:08
标题: day02--java基础语法1
本帖最后由 NUMONE 于 2015-10-28 21:10 编辑

计算的运算是在内存中的。求余算法中余数的正负看第一个数的正负。
      1%-3=1;
     -1%3=-1;
字符串和任何数据相加结果都会变成字符串。
      "5+5="+5+5;        输出结果为:"5+5=55"
转义字符:\n    \b    \r    \t            linux下回车:\n
      win下回车:\r\n
      dos下回车:\n
char2个8位,char="你"。
-----------------------------------------
算术运算、赋值运算、比较运算、逻辑运算、位运算
      &: just  t&t=t;
      |:  just  f | f=f;
      ^: 同假异真
&与&&的特点:&左右都判断。&&左假右不做判断。|与||同理。
-----------------------位运算------------------
最快的运算就是位运算,局限性是只能是2的位数。在内存中4个8位。左移乘法,右移除法。
      3<<2======3*(2的2次)=12
      6>>1======6/(2的1次)=3       6>>2========6/(2的2次)=1
>>与>>>的区别:
      >>:补数看高位。
      >>>:不论高位是0,1,都拿0补。
-----------------------^运算------------------
一个数异或同一个数两次还是这个数。用于加密。加密算法有与或异或等。
      7^3^3=7

小知识:
      ~表示反码。     ~6=-7,  -6的负数表现形式为~6+1。
      Integer.toBinaryString(60)。打印60的二进制。


举个栗子:
short x=4;
s=s+5;(错,2碗水+4碗水,赋给2碗水)
s+=5;(对,只做赋值运算,内部有自动转换动作)
练习一:2*8最快的运算方法。
练习二:连个整数变量值互换,不用第三方变量。(使用第3方变量。不使用第3方变量)
  a.有局限性。如果n,m值非常大,容易出int范围。
  n=n+m;
  m=n-m;
  n=n-m;
  b.
  n=n^m;
  m=n^m;
  n=n^m;



作者: 熊金磊    时间: 2015-10-28 21:23
好像是JAVA基础
作者: NUMONE    时间: 2015-10-28 21:29
神马好像,标题不是写了。。。




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