第二节 运算符
1.算数运算符
1.1运算符和表达式
-
运算符:对常量或者变量进行操作的符号
-
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。
1.2算数运算符
public class OperatorDemo01{
public static void main(String[] args){
//定义两个变量
int a = 6;
int b = 4;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);
//除法得到的是商,取余得到的是余数
//整数相除只能得到整数,要想得到小数,必须有浮点数的参与
System.out.println(6.0/4);
}
}
1.3字符的“+”操作
public class OpentorDemo02{
public static void main(String [] args){
//定义两个变量
int i = 10;
char c = 'A';//'A'的值是65
c = 'a';//'a'的值是97
c = '0';//'0'的值是48
System.out.println(i +c);
}
}
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
提升规则:
-
byte类型,short类型和char类型将被提升到int类型
-
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char->int->long->float->double
1.4 字符串的+操作
public class OperatorDemo03{
public static void main (String [] args){
System.out.println("int"+"char");
System.out.println("ibt"+666);
System.out.println(666+"ibt");
System.out.println("ibt"+66+6);
System.out.println(66+6+"ibt");//先做加法运算在连接字符串
}
}
2.赋值运算符
2.1赋值运算符
public class OperatorDemo{
public static void main(String [] args){
//把10赋值给int类型的变量i
int i = 10;
System.out.println("i:"+i);
//+=把左边和右边的数据做加法运算操作,结果赋值给左边
i += 20;
//i = i +20;
System.out.println("i:"+i);
//注意:扩展的赋值运算符底层隐含了强制类型转换
short s = 10;
s += 20;
// s =(short)(s + 20);
System.out.println("s:"+s );
}
}
注意事项:
扩展的赋值运算符隐含了强制类型转换
3.自增自减运算符
3.1 自增自减运算符
public class OpentorDemo{
public static void main(String [] args){
// 定义变量
int i = 10;
System.out.println("i:"+i);
//单独使用
//i++;
//++i;
//System.out.println("i:"+i);
//参与操作使用
int j =i++;
System.out.println("i:"+j);
System.out.println("j:"+j);
}
}
4.关系运算符
4.1关系运算符
public class OpentorDemo{
public static void main(Stringp[] args){
//定义变量
int i =10;
int j =20;
int k = 10;
//==
System.out.println(i == j);
System.out.println(i == k);
//!=
System.out.println(i != j);
System.out.println(i != k);
//>
System.out.println(i > j);
System.out.println(i > k);
//>=
System.out.println(i >= j);
System.out.println(i >= k);
//<
System.out.println(i < j);
System.out.println(i < k);
//<=
System.out.println(i <= j);
System.out.println(i <= k);
}
}
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”。
5.逻辑运算符
5.1 逻辑运算符
5.2短路逻辑运算符
6.三元运算符
6.1三元运算符
- 格式:关系表达式?表达式1:表达式2
- 范例:a>b ? a : b
public class OperatorDemo{
public static void main(String[] args){
//定义两个变量
int i = 10;
int j = 20;
//获取两个数据中的的较大值
int max = a < b ? a : b;
//输出结果
System.out.println("max:"+max);
}
}
案例
两只老虎
public class OperatorDemo{
public static void main(String[] agrs){
//定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可
int weight1 = 180;
int weight2 = 200;
//用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false。
boolean b = weight1 == weight2 ? ture : false;
//输出结果
System.out.println("b:" + b);
}
}
三个和尚
public class OperatorDemo{
public static void main(String[] args){
//定义三个变量
int height1 = 150;
int height2 = 165;
int height3 = 210;
//用三元运算符获取前两个和尚的比较升高值,并用临时升高保存起来。
int tempHeight = height1 > height2 ? height1 : height;
//再次利用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。
int maxHeight = tempHeight > height 3 ? tempHeight : height3;
//输出结果
System.out.println("tempHeight:"+maxHeight);
}
}
数据输入
1.1数据输入概述
1.2 Scanner使用的基本步骤
-
导包
-
创建对象
- 接收数据
/*
导包
import java.uti1.Scanner;
创建对象
Scanner sc = new Scanner(System.in);
接收数据
int x = sc.nextInt();
*/
import java.uti1.Scanner;
public class ScannerDemo{
public static void main(String[] args){
//创建对象
Scanner sc = new Scanner(System.in);
//接收数据
int x = sc.nextInt();
//输出数据
System.out.println("x:" + x);
}
}
三个和尚升级版
import java.util.Scanner;
public class ScannerText {
public static void main(String[] args){
//身高未知,采用键盘录入现实。首先导包,然后创建对象。
Scanner sc = new Scanner(System.in);
//键盘录入三个身高分别赋值给三个变量
System.out.Println("第一个和尚的升高:");
int height1 = sc.nextInt();
System.out.Println("第二个和尚的升高:");
int height2 = sc.nextInt();
System.out.Println("第三个和尚的升高:");
int height3 = sc.nextInt();
//用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。
int tempHeight = height1 > height2 ? height1 : height2;
//用三元运算符获取临时身高值和第三个和尚身高比较高值,并用最大升高变量保存。
int maxHeight = tempHeight > height3 ? tempHeight : height3;
//输出结果
System.out.Println("maxHeight" + maxHeight);
}