一、运算符
概述
可以进行数据运算的符号,就是运算符
分类
1.算术运算符
+ - * / % ++ –
++ , – 在前,先自己,后别人
++ , – 在后,先别人,后自己
2.赋值运算符
= += -= *= /= %=
注意事项:
复合的赋值运算符,有强制类型转换的能力,byte,short,char在进行算术运算的时候,会自动提升为int类型,然后再进行算术运算,赋值运算符的左边必须是变量
3.比较运算符
< > >= <= == !=
运算的结果一定是boolean类型
4.三元运算符
格式:
数据类型 变量名 = 条件表达式?结果1:结果2
执行流程:
结果1:当表达式为true的时候,结果1生效
结果2:当表达式为fasle的时候,结果2生效
5.逻辑运算符
&& || !
短路:
当&&或||在一定条件下,会发生短路现象;(就是只运算左边,不运算右边,这就是短路现象)
当&&的左边是false的时候,会短路
当||的左边是true的时候,会短路
二、Scanner
概述
java编写的一个类,存在java.util包下,属于引用数据类型
作用
让用户在程序执行的时候,使用键盘输入数据
使用步骤
1.导包
把需要使用的类,所在的包拿到程序中来;导包语句必须写在类的上面
代码格式:
import java.util.Scanner;
2.创建对象
给Scanner起个名字,目的是为了方便我们使用
代码格式:
Scanner 对象名 = new Scanner (System.in);
3.调用方法
①.如果希望用户输入整数,调用nextInt();
格式:
int 变量名 = 对象名.nextInt();
②.如果希望用户输入字符串,调用next();
格式:
String 变量名 = 对象名.next();
三、if语句
格式1 if语句
仅判断一种情况,满足就执行,不满足就跳过
格式
if (关系表达式) {
语句体;
}
执行流程
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
格式2 if…else语句
格式
if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
格式3 if…else if…else语句
格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1
被 /* */ 包括起来的都调用了Scanner
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
int a = 5, b = 13;
char d = 'a';
// 基本运算符
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println((double) a / b);
System.out.println(b % a);
System.out.println("----------");
// int c=(double)a+b;
// 错误 double + int = double
// char c =d+a;
// 错误 char + int = int
// 字符串"+"操作
System.out.println("啦啦啦" + 666);
System.out.println("啦啦啦" + 6 + 66);
// 先执行6+66在执行字符串"+"操作
System.out.println(6 + 66 + "啦啦啦");
System.out.println("-----------");
// 赋值运算符
int e = 10;
e %= 2;
System.out.println(e);
byte f = 10;
f *= 2;
System.out.println(f);
// 需要强转 不推荐
// f=(byte)(f*2);
// System.out.println(f);
System.out.println("-----------");
// 自增自减运算符
// ++,-- 在前 先执行++,--,再执行语句
// ++,-- 在后 先执行语句,再执行++,--
int w = 5;
w++;
System.out.println(w);// 6
w--;
System.out.println(w);// 5
System.out.println(w--);// 5 语句执行完毕后,w再减 1
System.out.println(++w);// 5 先进行w加 1 ,再执行打印输出语句
System.out.println("-----------");
// 关系运算符
// == 不要误写成 =
int q = 10, r = 20, z = 10;
System.out.println(q == z); //true
System.out.println(q == r); //false
System.out.println(q != z); //false
System.out.println(q != r); //true
// 短路逻辑运算符
int t = 10, y = 20, u = 30;
System.out.println(t > y && t > u);//false
System.out.println(t < y && t > u);//false
System.out.println(t > y && t < u);//false
System.out.println(t < y && t < u);//true
System.out.println(t > y || t > u);//false
System.out.println(t < y || t > u);//true
System.out.println(t > y || t < u);//true
System.out.println(t < y || t < u);//true
System.out.println(!(t > y && t > u));//true
// && 和 & 的区别
// &&遇到false就停,&遇到false不停直至把语句执行完
System.out.println("-----------");
// 三元运算符
double i = 1.5, o = 1.8;
double min1 = i < o ? i : o; // 取最小值
System.out.println(min1);
System.out.println("-----------");
// 小老虎比体重
int tigerOne = 180, tigerTwo = 200;
boolean bestWeight = tigerOne == tigerTwo ? true : false;
System.out.println(bestWeight);
System.out.println("-----------");
// 三个和尚比身高,找最低身高
int heightOne = 150, heightTwo = 170, heightThree = 210;
int minHeight, tempHeight;
tempHeight = heightOne < heightTwo ? heightOne : heightTwo;
minHeight = tempHeight < heightThree ? tempHeight : heightThree;
System.out.println(minHeight);
System.out.println("-----------");
// 数据输入Scanner
/*Scanner sc1 = new Scanner(System.in);
int getData = sc1.nextInt();
System.out.println(getData);
System.out.println("-----------");
// 三个和尚比身高进阶版,寻最低身高
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入第一个和尚的身高");
int getDataOne = sc2.nextInt();
System.out.println("请输入第二个和尚的身高");
int getDataTwo = sc2.nextInt();
System.out.println("请输入第三个和尚的身高");
int getDataThree = sc2.nextInt();
int monkOne = getDataOne, monkTwo = getDataTwo, monkThree = getDataThree;
int tempHeightTwo, leastHeight;
tempHeightTwo = monkOne < monkTwo ? monkOne : monkTwo;
leastHeight = monkThree < tempHeightTwo ? monkThree : tempHeightTwo;
System.out.println("最低的身高是:" + leastHeight);
System.out.println("-----------");*/
// if语句
String g = "我爱Java", h = "我爱Java";
if (g == h) {
System.out.println("相同");
}
if (g != h) {
System.out.println("不相同");
}
System.out.println("-----------");
// if else语句
String j = "中国", k = "爱您";
if (j == k) {
System.out.println("相同");
} else {
System.out.println("不相同");
}
System.out.println("-----------");
// 判断奇偶数(用if else语句判断)
/*Scanner sc3=new Scanner(System.in);
int num=sc3.nextInt();
if(num%2==0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
System.out.println("-----------");*/
// if...else if...else格式
/*Scanner sc4 = new Scanner(System.in);
System.out.println("键入一个数字");
int num1 = sc4.nextInt();
if (num1 == 7) {
System.out.println("今天星期日");
} else if (num1 == 1) {
System.out.println("今天星期" + num1);
} else if (num1 == 2) {
System.out.println("今天星期" + num1);
} else if (num1 == 3) {
System.out.println("今天星期" + num1);
} else if (num1 == 4) {
System.out.println("今天星期" + num1);
} else if (num1 == 5) {
System.out.println("今天星期" + num1);
} else if (num1 == 6) {
System.out.println("今天星期" + num1);
} else {
System.out.println("数据错误,再次运行重试");
}
*/
}
}