学习Java day1

1.位运算

“<<”左移  “>>”右移  “>>>”无符号右移  “&”与运算  “|”或运算  “^”异或运算  “~”取反运算

位运算是直接对整型的二进制进行的运算

<<:在一定范围内,每向左移1位,相当于*2

>>:在一定范围内,每向右移一位,相当于/2

例:最高效方式的计算2*8?  2<<3 或   8<<1

<<  空位补零 被移除的高位丢弃,空缺位补零

>> 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1

>>> 被移位二进制最高位无论是1还是0,空缺位都补0

&二进制位&进行&运算,只有1&1时结果是1,否则是0

|  二进制位进行 | 运算,只有0 | 0 时结果是零,否则是1

^ 相同二进制位进行 ^ 运算,结果是零;1^1=0,0^0=0;不同二进制位^运算结果是1  1^0=1,0^1=1

~ 正数取反,各二进制码按补码取反;负数取反,各二进制码按补码取反

练习:交换两个变量的值

int num1 = 10;

int num2 = 20

//方式一:

int temp= num1;

num1 = num2;

num2 = temp;

System.out.println("num1 = " + num1 + ",num2 = " + num2);

方式二:

num1 = num1+num2;

num2 = num1  + num2

num1 = num1 -  num2

方式三:

num1 = num1 ^ num2;

num2 = num1^ num2;

num1 = num1^  num2;

2.三元运算符

(条件表达式)?表达式1:表达式2

条件表达式的结果为boolean类型

根据表达式真或假,决定执行表达式1还是表达式2

如果表达式为true,则执行表达式1

如果表达式为false,则执行表达式2

获取两个整数的较大值

int m =12;

int n = 5;

int max = (m>n)?m : n;

System.out.println:(max);

表达式1和表达式2要求是一致的

凡是使用三元运算符的,都可以用if--else,反之不成立

3.运算符的优先级

() 

4.流程控制

 顺序、分支、循环结构

if-else 结构

第一种:

if (条件表达式){

              执行表达式

}

第二种:

if(条件表达式){

                执行表达式1

}else{

              执行表达式2

}

第三种:n选一

if(条件表达式){

                执行表达式1

}else if (条件表达式){

                执行表达式2

}else if(条件表达式3)

}

……

  else{

                执行表达式n

}

Scanner

如何从键盘获取不同类型的变量:需要使用Scanner

具体步骤

导包:Import java.util.Scanner;

Scanner的实例化:Scanner scan = new Scanner(Systan.in);

调用Scanner类的相关方法(next()/ nextXxx()),来获取指定类型的变量

注意:需要根据相应的方法,来输入指定类型的的值。如果输入的数据类型与要求的类型不匹配时会报异常导致程序终止。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值