目录
1.算术运算符
1.1 运算符和表达式
1.2 算术运算符
1.3 字符进行“+”操作
eg:执行如下程序
数据类型自动提升提升规则:
1.4 字符串进行“+”操作(字符串连接符)
2.赋值运算符
2.1 赋值运算符
3.自增自减运算符
3.1 自增自减运算符
3.2 自增自减运算符注意事项
4.关系运算符
4.2 关系运算符注意事项
5.逻辑运算符
5.1 逻辑运算符概述
5.2 逻辑运算符
5.3 短路逻辑运算符
6. 三元运算符
7. 数据输入
7.1 Scanner使用的步骤
1.算术运算符
1.1 运算符和表达式
- 运算符:对常量或变量进行操作的符号;
- 表达式:使用运算符连接常量或变量的符合Java语法的式子;不同运算符连接的表达式体现的是不同类型的表达式;
1.2 算术运算符
符号 | 作用 | 说明 |
+ | 加 | 进行加法运算;10+11=22 |
- | 减 | 进行减法运算;13-12=1 |
* | 乘 | 进行乘法运算;2*3=6 |
/ | 除 | 进行除法运算;6/2=3 |
% | 取余 | 获取两个数据做除法的余数;5%2=1 |
1.3 字符进行“+”操作
“+”运算时字符以所对应的ASIIC码值进行运算:
- 'A'=65;(A-Z是连续的)
- 'a'=97;(a-z是连续的)
- '0'=48;(0-9是连续的)
eg:执行如下程序
public class example
{
public static void main(String[] args)
{
int b=10;
char c='A';
System.out.println(b+c);
}
}
- 算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升;
数据类型自动提升提升规则:
- byte类型,short类型和char类型将被提升为int类型;
- 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型’
- 等级顺序:byte,short,char→int→long→float→double
字符串连接符)
- 字符串进行“+”操作是将字符串进行拼接接;
- 多个字符串进行“+”操作时,前面两个字符串进行“+”操作的结果再与后一个字符串进行“+”操作,依此类推;
public class example
{
public static void main(String[] args)
{
System.out.println("HelloWorld"+5);
System.out.println(5+"HelloWorld");
System.out.println("HelloWorld"+2+3);
System.out.println(4+5+"HelloWorld");
}
}
2.赋值运算符
2.1 赋值运算符
符号 | 作用 | 说明 |
= | 赋值 | a=3,将3赋值给变量a |
+= | 加后赋值 | 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 |
- 扩展的赋值运算符隐含了强制类型转换
3.自增自减运算符
3.1 自增自减运算符
符号 | 作用 | 说明 |
++ | 自增 | 变量的值+1 |
-- | 自减 | 变量的值-1 |
3.2 自增自减运算符注意事项
- ++和--即可以放在变量后面,也可以放在变量前面;
- 单独使用时,++和--无论放在变量后面还是前面,结果都是一样的;
- 参与操作时,放在变量后面,变量先参与操作运算,后进行++或--运算;
- 参与操作时,放在变量前面,变量先进行++或--运算,后参加操作运算;
4.关系运算符
4.1 关系运算符
符号 | 说明 |
== | a==b,判断a与b的值是否相等,成立为true,不成立为false |
!= | a!=b,判断a与b的值是否不相等,成立为true,不成立为false |
> | a>b,判断a是否大于b,成立为true,不成立为false |
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | a<b,判断a是否小于b,成立为true,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
4.2 关系运算符注意事项
- 布尔类型,结果要么为true,要么为false;
- 注意区分“==”与“=”;
5.逻辑运算符
5.1 逻辑运算符概述
连接关系表达式,也可以用来直接连接布尔类型的常量或变量
5.2 逻辑运算符
符号 | 作用 | 说明 |
& | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
| | 逻辑或 | a|b,a和b都是false,结果为false,否则为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | a1b,a和b结果相同为true,不同为false |
5.3 短路逻辑运算符
符号 | 作用 | 说明 |
&& | 短路与 | 作用和&相同,但具有短路效果 |
|| | 短路或 | 作用和|相同,但具有短路效果 |
- 逻辑&,无论左边真假,右边都要执行;
- 短路与&&,如果左边为真,右边执行;左边为假,右边不执行;
- 逻辑|,无论左边真假,右边都要执行;
- 短路或||,如果左边为假,右边执行;左边为真,右边不执行;
6. 三元运算符
- 格式:关系表达式?表达式1:表达式2;(eg:a>b?a:b;)
- 首先计算关系表达式的值,如果为真,运算结果为表达式1的值;如果为假,运算结果为表达式2的值;
7. 数据输入
7.1 Scanner使用的步骤
- 导包
import java.util.Scanner;//导包的动作必须出现在类定义的上方
- 创建对象
Scanner sc = new Scanner(System.in);//只有sc是变量名可以变,其他都不允许改变
- 接收数据
int i = sc.nextInt();//只有i是变量名可以变,其他都不允许改变。
示例:
import java.util.Scanner;//导包的动作必须出现在类定义的上方
public class example
{
public static void main(String[] args)
{
//创建对象
Scanner sc = new Scanner(System.in);//只有sc是变量名可以变,其他都不允许改变
//接收数据
int x = sc.nextInt();//只有i是变量名可以变,其他都不允许改变。
//输入数据
System.out.println("x:"+x);
}
}
输入10,输出x:10