黑马程序员_java运算入门

来源:互联网 发布:阿国网络随笔风水资料 编辑:程序博客网 时间:2024/06/05 20:03

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

        今天我8点半起来啊,晨跑30分钟,9点开始学习,可是搞网银搞了好久,10点菜开始,以后不能这样了。好了,学习开始了...

1 十进制》》》二进制:

除2运算;再由下往上读取:


2   二进制 》》》十进制
乘以2的过程 

3  其他进制的转换的简便方法
     转成二进制再转成对应的进制
 举例:
(1)0101  1010转换成16进制
 0101=5  
1010=10=A
所以: 
0101  1010=0x5A 
(2) 90转成8位
90=0101 1010 = 01 011 010
01=1
011=3;
010=2;
 所以90=0132   前面加0代表八进制
 

 4 负数的二进制
是原正数的二进制取反+1
 举例:6=110=0000 0000  0000 0000  0000 0000 0000 0110
所以-6=1111 1111  1111 1111  1111 1111  1111 1001+1
          = 
1111 1111  1111 1111  1111 1111  1111 1010
结论:负数的最高位都是1,(取反而来的)
 

5  变量(不确定的数据的存储,需要在内存开辟空间,这就是变量)

定义变量:
1  明确数据类型  (char int long )
2  变量名称
3  和初始数据

(1) 整数类型(byte, short, int, long)
(2) 浮点类型(float, double)
(3)字符型(char)
(4)布尔型(boolean )

6 类型转换

 
/*
b原来是byte型  4个八位,进行运算后b+2提升为32个八位即int型
*/
 // byte b = 3;
 // b = (byte)(b+2);   //需要强制类型转换
    System.out.println((char)('a'+1));

7  算术运算符

public static void main(String[] args) 
{
int a=3, b;
        b = a++ ;
System.out.println("a ="+a);
System.out.println("b ="+b);
//思考答案 a=4 ,b =3   
//方法 ,把赋值给b当作出去玩,a++当作吃饭则上面是我先出去玩儿,再吃饭,所以a=4,b在a++前被赋值

} 

8 字符串拆分
    //字符串拆分:字符串和任何数据使用+都是相连接,最终会编程字符串
System.out.println("hahaha"+"haahahah");
System.out.println("5+5="+(5+5));
9.  字符转译

/*
转义字符:通过\ 来转变后面字母或者符号的含义。
\n:换行。
\b:退格。相当于backspace。
\r:按下回车键。window系统,回车符是由两个字符来表示\r\n.
\t:制表符。相当于tab键。
*/
 
10  逻辑运算符
& 与
|  或
^  异或
! 非
&& 与(短路)
||  或(短路)
 
重点掌握:
/*
 &与   && 与(短路)比较 
 |与   || 或(短路)   比较
*/
if((x>3)&(x<6))   //  两边都运算,效率低一点
if((x>3)&&(x<6))   //  如果第一个条件不成立,则肯定为假,后面不必运算,效率高一点
//| 和 ||一致

11  位运算  
<<  左移  低位补0(负数补1)   3<<2=12 乘以2的2次方
>> 右移   高位补0 
(负数补1  3>>2=1 除以2的2次方
>>> 无符号右移    无论正负都都补0

重点掌握:>>和>>>的区别
>>右移后最高位补什么由最高位确定
若最高位是0,右移后补0;
 
若最高位是1,右移后补1;
>>>,无论最高位是什么,右移后都补0;
 
^ 7^4^4=7
一个数字异或同一个人数字两次结果还是原来拿个数字,可以用于加密算法。
 
(1) 以最有效的方式算2*8是多少?(位运算)
2*8,左移3位效率更高,答案:2左移3位
(2) 把m=3 , n=8 互换的程序

 12  if switch 的使用

/*
switch的结束方式  遇到:break 或者大括号结束
举例子:
*/
int num = 2;
switch(num)
{
  case 1: 
  System.out.println("a");
        break;
  case 2: 
  System.out.println("b");
        break;
          case 3: 
  System.out.println("c");
        break;
  default: 
  System.out.println("d");
}
/*
if和switch很像如果具体数值不多,而是符合byte int short char死忠类型。
虽然两个都可以使用,建议使用switch语句,效率稍高

其他情况:区间判断,对于结果为boolean布尔型判断,使用if,if的使用范围广
*/ 

0 0
原创粉丝点击