运算符的基本概念以及常用Scanner、随机数Random、选择结构的初步了解
运算符
分类
算术运算符
位运算符
关系运算符|比较运算符
逻辑运算符
条件运算符
赋值运算符
其中优先级顺序从上到下,可以记忆口诀:单目乘除位关系,逻辑三目后赋值
操作数: 运算符左右两边的数 表达式: 运算符连接操作数整体叫做表达式 语句: 分号代表语句的结束
单目|一元运算符: 操作数为1个 +号 ++ --
双目|二元运算符: 操作数为2个 + - * /
三目|三元运算符: 条件运算符
算术运算符
+号:
正号(可省略)
加法运算
字符串的连接
如果+左右两边有字符串的出现"",+就是作为字符串的连接符使用,把两边的内容拼接成为一整个字符串使用
-号:
符号
减法运算
此外,还有* / %
% 模以,取模,求余数
++ --
++,--操作自己 无论++在前还是在后,自己加一 无论--在前还是在后,自己减一
++,--操作别人 ++在前,先自己加一在参与运算 ++在后,先参与运算在自己加一 --同理
赋值运算符
基础赋值运算符
= 是java中唯一一个自右向左运算的符号优先级最低
扩展赋值运算符
+= a+=b; ==> a=a+b;-=同理
a=b; ==> a=ab; /=、%=同理
推荐使用扩展赋值运算符 优点: 执行效率高 缺点: 不直观
关系运算符
符号:> < >= <=
可以参与运算的类型:byte short int long float double char
符号:== !=
可以参与运算的类型:基本数据类型、引用数据类型
关系运算符最终得到的结果:boolean类型的结果
逻辑运算符
& 与:一个false就是false,两个都为true,才为true
| 或:一个为true就是true,两个都为false,才是false
! 非:取反 !true->false !false->true
^ 异或:相同为false,不同为true
短路: 如果第一个操作数就能够决定最终的结果,第二个操作数位置不执行。
&& 短路与、|| 短路或
推荐使用短路
所有的逻辑运算符的操作数都为值为boolean类型的表达式。
条件运算符|三目运算符|三元运算符
条件表达式?值1:值2;
条件表达式:值为boolean类型的表达式
执行流程:
1.条件表达式 ,最终会得到一个boolean结果
2.如果结果为true,整个条件表达式最终的结果为值1,否则执行值2;
条件运算符最终肯定会得到一个结果
位运算(仅做了解)
先把操作数转为二进制,根据运算符的逻辑进行操作,最终得到的结果再转为十进制
& : 同一位置的两个数,如果一个为0就是0,两个都为1才是1 | : 同一位置的两个数,如果一个为1就是1,两个都为0才是0 ^ : 同一位置的两个数,相同为0,不同为1 位移运算符
左移 第一个操作数转为2进制,第二个操作数是移动位数 ,向左移动指定的位数,空位补零,例如:
8<<2 1000左移2位 1000 00 -> 转为十进制 32
右移 第一个操作数转为2进制,第二个操作数是移动位数 ,向右移动指定的位数,想象数据的右边有一条分水线,右侧的内容砍掉,只保留左侧的数据,转为十进制,例如:
8>>2 1000 右移2位 10->转为十进制 2
右移相当于/2 8>>3 8/2^3 左移相当于*2 8<<3 8*2^3
位运算符比直接使用* /效率高
运算符的优先级: (),.优先级是最高的
常用类
Scanner
注意:不要让你的类名与java中已有的类名一致
引用数据类型: 引用数据类型 变量名|引用 = new 引用数据类型();
使用功能: 变量名|引用.功能名字();
Scanner : 接收键盘输入的内容
1.导包 import 导入 + 权限命名(报名+类名);
位置: 类的上面导包
2.创建这个类型的引用
Scanner sc=new Scanner(System.in);
3.使用功能:
引用.功能名字();
sc.nextInt(); 接收用户键盘输入的整数类型的数据 sc.nextLong(); 接收用户键盘输入的长整数类型的数据 sc.nextByte(); 接收用户键盘输入的字节类型的数据 sc.nextShort(); 接收用户键盘输入的短整数类型的数据 sc.nextFloat(); 接收用户键盘输入的单精度类型的数据 sc.nextDouble(); 接收用户键盘输入的双精度类型的数据
sc.next() 从有效字符开始接收,空格不算,接收用户输入的字符串内容,知道遇到空格,tab,就接收不到数据,但是功能没有停止,遇到enter功能结束 sc.nextLine() 接收一整行的数据
从第一个字符开始接收,知道遇到enter结束
系列next功能不能接收enter,遇到enter结束,nextLine可以接收enter
4.关闭
引用.close() 关闭了之后就不能再次使用,就算是重新打开也不好用
Random随机数
产生随机数 1.导包 import java.util.Random; 2.创建类型的引用 Random ran=new Random(); 3.使用功能: 引用.nextInt(); 产生一个int范围内的随机整数 引用.nextInt(整数n); 产生一个 [0,n) 随机整数 [0,max) ran.nextInt(max); [0,max] ran.nextInt(max+1); [min,max] ran.nextInt(max-min+1)+min; [min,max) ran.nextInt(max-min)+min; 引用.nextDouble() [0.0,1.0)之间的随机小数
流程控制
顺序结构: 从上到下从左到右 选择结构: 满足条件才能执行 循环结构: 重复执行某些代码
选择结构
if_else
if结构:
单选择|单分支:
if(条件表达式){
满足条件才执行的语句体;
}
条件表达式:值为boolean类型的表达式
执行流程:
1.执行条件表达式,如果结果为true,就执行语句体
2.如果结果为false,就跳过if结构
双选择|双分支:
if(条件表达式){
语句体1;
}else{
语句体2;
}
执行流程:
1.执行条件表达式,如果结果为true,就执行语句体1
2.如果结果为false,就执行语句体2
多选择|多分支:
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}
.....
else{
以上条件都不满足,就执行else中的内容 语句体n
}
执行流程:
1.计算条件表达式1,如果结果为true,执行语句体1,如果结果为false
2.执行条件表达式2,如果结果为true,执行语句体2,如果结果为false
....
果以上条件都不满足,执行else中的语句体n
注意:如果语句体只有一句,前后的{}可以省略, 如果一个if语句中如果存在接盘侠else,肯定有结果。
if与条件运算符之间的区别:条件运算符肯定有结果,if不一定 能使用条件运算符的就推荐使用条件运算符,结构简单,效率较高
switch
定值判断 switch 区间判断 if 能用switch肯定能用if,能用if的不一定能用switch
switch(表达式){
case 值1 :
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
......
default:
以上值都不满足,执行default中的内容
break;
}
表达式: 只能为byte,short,int,char,字符串(1.7),枚举(1.5) 一般使用变量
case: case后的定值与表达式的结果进行判断是否相等,对应执行不同的语句体 break: 结束switch语句,如果没有break,会发生case穿透,从现在执行完的语句体开始,如果没有break,下面的case无论是否相等,都会执行对应的语句体,直到遇到下一个break或者switch语句的结束而结束 default: 接盘侠,相当于else,以上值都不满足,执行default中的内容
可写可不写,default位置可以改变
执行流程: 1.计算表达式 2.那值与case后的值比较是否相等,如果相等就执行对应的语句体,如果不相等就向下继续比较
运算符的基本概念以及常用Scanner、随机数Random、选择结构的初步了解的更多相关文章
- Linux的几个概念,常用命令学习
Linux的几个概念,常用命令学习---------------------------------设备名装载点// 通过装载点访问设备-------------------------------- ...
- Python常用模块-随机数模块(random)
Python常用模块-随机数模块(random) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用方法举例 #!/usr/bin/env python #_*_coding: ...
- composer 基本概念与常用命令总结
目录 composer 基本概念与常用命令总结 基本概念 软件安装 linux/mac安装 windows 配置镜像 如何使用 常用命令 全局参数 初始化 init 初始化参数 依赖安装 instal ...
- Java常用API(Scanner,Random)匿名对象
API:即Application programming Interface,应用编程接口. Java中封装了许许多多的API供用户使用,Scanner与Random便是其中之一,API实际就是类,已 ...
- 织梦(dede)底层模板概念、常用底层模板字段
织梦(dede)底层模板概念.常用底层模板字段 一.底层模板的概念以及调用方式: 1. 什么是底层模板? 底层模板不是一个模板! 他就是在实际页面当中所要显示的具体内容: 2. 底层模板的应用: 调用 ...
- 常用API - Scanner、Random、ArrayList
API 概述 API(Application Programming Interface),应用程序编程接口. Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档. 这些类 ...
- 03_Java基础语法_第3天(Scanner、Random、流程控制语句)_讲义
今日内容介绍 1.引用类型变量的创建及使用 2.流程控制语句之选择语句 3.流程控制语句之循环语句 4.循环高级 01创建引用类型变量公式 * A: 创建引用类型变量公式 * a: 我们要学的Scan ...
- Java基础(Scanner、Random、流程控制语句)
第3天 Java基础语法 今日内容介绍 u 引用数据数据类型(Scanner.Random) u 流程控制语句(if.for.while.dowhile.break.continue) 第1章 引用数 ...
- Java运算符及顺序、选择结构
:运算符(掌握) ()算术运算符 A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和- ...
随机推荐
- Redis探索之路(一):Redis简介
一:NOSQL NotOnlySQL 反SQL运动,非关系型数据库(区别于Mysql关系型书库). 随着Web2.0兴起,“高性能”,“高并发”成为主流. NoSQL以key-value形式存储数据, ...
- Bootstrap快速入门并且建立常用模板
对于移动端,能够快速搭建网站,操作相对简单 ,更容易掌握,这篇文章就介绍一下BootStrap 一 什么是Bottstrap 一个前端开发的框架,Bootstrap,来自 Twitter,是目前很受 ...
- 好久不见的博客咯!——没有可持久化的可持久化treap
每每想要去了解可持久化treap这个好写好调的东东,然后就发现网上只有一个人的——SymenYang的!在此我必须得把他批判一番——写方法不贴代码是什么心态!而且写出来的是有问题的呀!害人不浅! 好吧 ...
- vmware压缩磁盘空间的方法, linux怎么卸载vmware
家里笔记本40G,可用空间怎么挤都只剩7G,从单位copy回来的linux虚拟机要10G,经检查实际使用空间5.7,也就是其他都是空余空间,可以释放掉.(只适合independent.Persiste ...
- detours编译与windows下makefile学习
1.编译 windows环境命令行编译很少用,detours需要使用命令行编译,刚好试试,过程如下: 1.为了能够在所有目录中使用nmake命令,需要设置环境变量Path D:\Program Fil ...
- sklearn数据集划分
sklearn数据集划分方法有如下方法: KFold,GroupKFold,StratifiedKFold,LeaveOneGroupOut,LeavePGroupsOut,LeaveOneOut,L ...
- pip修改官方源为豆瓣源
参考地址: https://www.jianshu.com/p/10a23d6a93c6 1.临时修改 pip install pythonModuleName -i https://pypi.dou ...
- 与960 Grid System相关的那些问题
为什么是960px? 一直以来,网页设计师都希望寻找一个理想的页面宽度值,既能适应大部分屏幕,又尽可能的在一行显示更多的信息. 我们首先会考虑的是全屏自适应,但这并非一个好的解决方案.一方面,需要做一 ...
- sql 保存,性能高
INSERT INTO TABLE( Id, Name) VALUES ( 4, 'A'), ( 5, 'P' ),( 6, 'U') ; INSERT INTO TABLE( Id, Name) S ...
- [JZOJ3400] 【GDOI2014模拟】旅行
题目 题目大意 给你一个图,让你选择权值和最小的边,使得\(1\)和\(n\),\(2\)和\(n-1\),--,\(K\)和\(n-K+1\)联通. \(K\leq 4\) 思考历程 一看到这题就觉 ...