java基础学习笔记03

比较运算符,运算结果是boolean型。

instanceof  也是比较运算符的一种。用于对象判断。

&符号:
true & true = true
true & false = false
false & true = false
false & false = false

|符号:
true | true = true
true | false = true
false | true = true
false | false = false

^异或:
true ^ true = false
false ^ false = false
true ^ false = true
false ^ true = true
结果相同为假,不同为真。

!非:
!true = false;
!false = true

&& || 短路运算


位运算符:二进制位运算符
<<左移 3<<2 = 011<< 2 = 01100 = 12 左移几位就是*几个2。左移可以完成2的次幂运算。
>>右移 6>>1 = 0110>>1 = 0000011 = 3 右移相当于除2的几次幂。最高位是什么,就拿什

么补空位。
>>>无符号右移 算术右移。当数右移动的时候,无论高位是什么,都用0补充。

6|3 = 110|011=111 = 7  特点是:保留有效位。
&与符号 6&3=110&011=010=2  与运算可以取某一个数字的后几位或者前几位,与111...,

用来取数据中的某一段,或者八进制或者16进制。
^异或 6^3=110^011=101=5  6^3^3 = 6 一个数异或同一个数两次,仍然是这个数。适用加密。
~反   ~6=~00000110=11111001(取反后,符号位保留,其他位取反在加1)=10000110+1=10000111 = -7



反码是将其2进制数每一位按位取反。
即1改为0,0改为1.
补码则不同。
正数的补码是其源码本身
负数的补码是其除符号位以外其他每一位按位取反再加一,符号位不变。

练习:用最有效的方式算出2*8=?
      2= 010 010<<3   = 2*2(3)=2*8;
      对两个整数变量的值进行互换,不需要第三方变量介入。
      int a = 2;
      int b = 3; 
      a = a^b;  a=a+b;(如果两个整数过大,会引起精度丢失,不建议使用)
      b = a^b;  b=a-b;
      a = a^b;  a=a-b;


三元运算符: 三元运算符就是if else 的简化形式


int max = (a>b)?a:b;
int mMax = (max>c)?max:c;


程序流程控制:
if(x>1)
if(x<2)
System.out.println("yes"); 等价于
if(x>1){
if(x<2)
{
System.out.println("yes"); 
}


}单条语句,不等价于单行语句。


if(true); 无控制体的控制语句。


sitch语句一执行,那么case 内的东西都加进内存中。byte short int char 
无论default 放在什么位置,首先执行的是第一个case 语句。
break 可以结束switch语句。
int x=0;
switch(x){
default:
system.out.println("default");
case 1:
system.out.println("case 1");
case 2:
system.out.println("case 2");
case 3:
system.out.println("case 3");
break;
case 4:
system.out.println("case 4");
break;


}
输出结果为:default case 1 case 2 case 3  效率相对高一点。


循环:
int x = 1;
do{
System.out.println(x);
x++;
}while(x<3);


int sum = 0;
while(i<=10)
{
sum +=i;
i++;
}
System.out.println(sum);///累加思想。定义变量。然后按照某种规律变化。


for循环
for(System.out.println("a"),System.out.println("aa");x<3;System.out.println


("c")){
System.out.println("d");
x++;
}


内存的问题。while和for的区别:主要增量的范围区间问题。
循环,主要是对多次使用的时候,考虑用循环。
无限循环:while(true){}
for(;;)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值