java学习的第二天
运算符
运算符和表达式
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合Java语法的式子
举例:
int a=10;
int b=20;
int c=a+b;
算术运算符
符号 | 名称 | 说明 |
---|---|---|
+ | 加 | 加法 |
- | 减 | 减法 |
* | 乘 | 乘法 |
/ | 除 | 不是除法,而是得到商 |
% | 取余 | 得到除法的余数 |
注意
- 整数操作只能得到整数,要想得到小数,必须有浮点数参与
- /和%的区别
赋值运算符
符号 | 名称 | 说明 |
---|---|---|
= | 等于 | 赋值表达式 |
+= | 加后赋值 | a+=b,a=a+b |
-+ | 减后赋值 | a-=b,a=a-b |
*= | 乘后赋值 | a *=b,a=a * b |
/= | 除后赋值 | a/=b,a=a/b |
%= | 取余后赋值 | a%=b,a=a%b |
扩展:在进行赋值运算时默认强制类型转换
short c=10;
c=c+10//会报错,由于赋值操作导致运算中的c变为int类型,而将int类型赋值给short类型会损失精度
c+=10//c=(short)(s+10)
自增自减运算符
符号 | 名称 | 说明 |
---|---|---|
++ | 自增 | a++,a=a+1 |
– | 自减 | a–,a=a-1 |
TIP(建议)
- 单过程时++和–在变量的左右边所造成的结果都一样,都是加一或者减一的结果
- 但是当有操作存在时,++或–在右边,为先将变量参与操作,在进行++或–
- 相反当++或–在变量左边时,为先进行++或–,在进行操作
关系运算符
符号 | 名称 | 说明 |
---|---|---|
== | 判别等于 | 其结果为Boolean类型,符合为true,否则为false |
>= | 大于等于 | 其结果为Boolean类型,符合为true,否则为false |
<= | 小于等于 | 其结果为Boolean类型,符合为true,否则为false |
> | 大于 | 其结果为Boolean类型,符合为true,否则为false |
< | 小于 | 其结果为Boolean类型,符合为true,否则为false |
逻辑运算符
符号 | 名称 | 说明 |
---|---|---|
& | 与 | a&b,只有当a和b都为true时才为true,否则为false |
| | 或 | a|b,只有a,b都为false时才为false,否则为true |
^ | 异或 | a^b,a和b结果不同时为true,相同时为false |
! | 非 | !a,结果与a相反,a为true则!a为false |
短路逻辑运算符
符号 | 名称 | 说明 |
---|---|---|
&& | 与(短路与) | 与&这个含义相同 |
|| | 或(短路或) | 与|这个含义相同 |
区别:
- 逻辑与&,无论左边真假,右边都要执行
- 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行
- 逻辑或|,无论左边真假,右边都要执行
- 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行
三元运算符
三元运算符通常用于比较大小方面
关系表达式?表达式1:表达式2
含义:
关系表达式的值只有两个,其值为true或false,若有其值为true,则用表达式1,否则用表达式2
int a=10;
int b=20;
int c=a<b?a:b;
数据的输入
做到一下3步
- 导包Scanner
import java.util.Scanner;
- 创建对象,创建Scanner对象
Scanner sc=new Scanner(System.in);
//创建一个sc对象,用来接收用户输入
- 接受用户数据
int i=sc.nextInt();
double m=sc.nextDouble();
流程控制语句
流程控制语句的分类
- 顺序结构
- 分支结构
- 循环结构
顺序结构
顺序结构是最简单的最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,一次执行
选择结构
选择结构中最常见的if语句
- if语句1
if(关系表达式){
语句体1;
}
- if语句2
if(关系表达式){
语句体1;
}else{
语句体2;
}
- if语句3
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...n
else{
语句体n+1;
}