2.1运算符
算数运算符:+ , - , * , / , %
两个操作数进行计算
操作符 | 描述 |
---|---|
+ | 加、求和 |
_ | 减、求差 |
* | 乘、求积 |
/ | 除、求商 |
% | 模、求余 |
一元运算符:++ ,–
一元运算符(只有一个操作数)
操作符 | 描述 |
---|---|
++ | 递增,变量值+1 |
– | 递减,变量值-1 |
int a = 2;
int b = a++ + ++a;//a++先执行在递增,++a先递增再执行,结果:b = 6
赋值运算符:= ,+= ,-= ,*= ,/= ,%=
等号右边赋值给等号左边
操作符 | 描述 |
---|---|
= | 直接赋值 |
+= | 求和后赋值 |
-= | 求差后赋值 |
*= | 求积后赋值 |
/= | 求商后赋值 |
%= | 求模后赋值 |
int a = 1;
a += 2;//求和后再把结果赋值a,结果为:3
关系运算符:>, <, >=, <=, ==, !=
两个操作数经行比较,计算结果是boolean类型
操作运算符 | 描述 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
boolean b = 3 != 5;//true
逻辑运算符:&& , || , !
两个boolean类型的操作数或表达式惊醒逻辑比较
a.操作数为boolean类型 b.结果为boolean类型
操作符 | 语义 | 运算规则 |
---|---|---|
&& | 与(并且) | 一假则假,全真才真 |
|| | 或(或者) | 一真则真,全假才假 |
! | 非(取反) | 真是假,假是真 |
boolean a = true;
boolean b = false;
boolean c = a && b; //false
boolean d = a || b; //true
boolean e = !(a || b);//false
三元运算符:? :
根据条件选择一个结果
操作符 | 语意 | 描述 |
---|---|---|
? : | 布尔表达式 ?结果1:结果2 | 结果为真,获得结果1,结果为假,获得结果2 |
int score = 78
String res = score >=60 ? "及格" : "不及格";
System.out.println(res);
表达式:
表达式:操作符和运算符组成的一个式子。
使用运算符连接的变量或字面值,并可以得到一个最终结果。
自动类型提升:
两个操作数中有一个为double时,计算结果提升为double.
两个操作数中没有double,只有1个float,计算机结果提升为float.
两个操作数中没有float,只有1个long,计算结果提升为long.
两个操作数中没有long,只有1个int,计算结果提升为int.
两个操作数中没有int,均为short或byte,计算结果提升为int.
特殊:当 + 遇到String类型时,起字符串的拼接作用,最终的结果是一个个字符串String
控制台输入:
导包语法:import 包名.类名;//将外部class文件功能迎入到自生文件中。
使用顺序:
导入 java.util.Scanner。
声明Scanner类型的变量。
使用Scanner类种对应的函数(区分类型):
.nextInt(); | 获得整数 |
---|---|
.nextDouble(); | 获得小数 |
.next(); | 获得字符串 |
.next().charAt(0); | 获得单个字符 |
如数输入了不匹配的数据,会产生:java.util.InputMismachException
//package test;
//step1.导入Scanner扫描器
import java.util.Scanner;
//tep2.创建Scanner扫描器
Scanner sc = new Scanner(System.in);
//step3.使用sc调用对应的方达,来读取键盘的输入
int unm1 = sc.nextInt();//整数
double num2 = sc.nextDouble();//小数
String str = sc.next();//字符串
char c = sc.next().charAt(0);//字符
源文件的结构:
第一步:package的声明
第二部:导入该程序需要的包
第三步:类的声明
第四步:main函数的定义
第五步:程序需要执行的代码