您的位置:首页 > 其它

运算符的使用 Scanner和Random的使用 if 语句, switch语句和运算符之间的区别

2020-01-15 11:41 316 查看

自增自减运算符

++ : a++ -->a=a+1;
– : a-- -->a=a-1;

操作自己|影响自己:
++放在操作数的前面还是后面,都是自身+1
–放在操作数的前面还是后面,都是自身-1

操作别人|影响别人(操作数的值是多少影响其他的结果)|参与运算符:
++|-- 放在操作数的前面,先自身+1|-1,再去参与运算
++|-- 放在操作数的后面,先去参与运算,再自身+1|-1

赋值运算符

1.可以提高执行效率
2.自动做强制类型转换

关系运算符

只能比较基本数据类型, 最终的运算结果,都为boolean类型的值

逻辑运算符

^ 相同为false,不同为true

短路情况 :
:如果第一个操作数已经能够决定最终的结果,第二个操作数不再执行
&& 两边的操作数 都是true才是true,一个为false,结果就为false
|| 两边的操作数 一个为true就是true,两个都为false才是false

条件运算符

int a=5;
int b=7;
int max=a>b?a : b;
System.out.println(max);

位运算符

先把操作数转为2进制,再去运算,得到结果转为十进制
& 同一位置的两个数如果两个都为1才是1,一个为0就是0
| 同一位置的两个数如果一个为1就是1,两个都为0才是0
^ 同一位置的两个数如果一相同为0,不同为1

位移运算符
>> 右移 先把第一个操作数转为2进制,向右移动第二个操作数个位数,想象原数据右侧有分水线,最终看左侧保留的二进制数据转为十进制;
<< 左移 先把第一个操作数转为2进制,向左移动第二个操作数个位数,空位补0,转为十进制

运算符优先级:
单目算数位关系,逻辑三目后赋值 逐渐变低

Scanner的使用

Scanner : 接收键盘输入
1.导包 告诉编译器Scanner类的位置
2.创建一个Scanner类型的引用|变量
Scanner sc=new Scanner(System.in);
3.使用功能
sc.nextInt(); 接收用户输入的int类型的数据
sc.next() 接收用户输入的字符串类型的数据 ; 从有效字符开始,遇到空格就无法接收,遇到enter结束功能
sc.nextLine() 接收String类型数据,以行为单位接收

4.关闭
sc.close(); 关闭资源
必须要等待全部使用完毕Scanner的功能才能关闭

Random的使用

nextInt() 随机产生一个int范围内的整数
nextInt(整数n) 产生一个 [0,n) 随机整数
nextDouble() 随机产生[0,1)之间的随机小数

公式:
[0,max] ------- ran.nextInt(max+1);
[min,max] ---- ran.nextInt(max-min+1)+min;
[min,max) ---- ran.nextInt(max-min)+min;
其实主要记住第2个就行了, 如果是开区间, 就不+1

if语句 switch语句和运算符之间的区别

if 可以没有结果,条件运算符肯定有一个结果
if 可以同时对多个条件进行判断,条件运算只能对一个条件判断
if 可以做区间判断,可以做定定值判断,switch只能做定值判断

注意:
case穿透: 满足条件的语句体执行之后,如果没有break,下面的case无论是否满足条件,都会执行他们的语句体,直到遇到下一个break或switch的结果而结束
default: 位置可以任意改变,break可以省略,但是如果写在switch最后,省略break没有影响,其他位置会发生case穿透

  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
Heiko_O 发布了25 篇原创文章 · 获赞 25 · 访问量 294 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐