运算符、if语句
算数运算符
/*
算数运算符
运算符:对变量或常量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以叫做表达式
*/
public class Demo01{
public static void main(String[] args){
int a = 10;
int b = 3;
System.out.println(a+b);//13
System.out.println(a-b);//7
System.out.println(a*b);//30
System.out.println(a/b);//相除得到的是商 3
System.out.println(a%b);//取余得到的是除剩下的余数 1
}
}
字符“+”操作
/*
字符的“+”操作
当表达式中有多种数据类型参与运算的时候,整个算术表达式的数据类型会被自动提升
*/
public class Demo02{
public static void main(String[] args){
int a = 10;
char b = 'A',c = 'a',d = '0';
System.out.println(a+b);//75
System.out.println(a+c);//107
System.out.println(a+d);//58
//char ch = a + b; 错误:b的类型会被提升成int
}
}
字符串的“+”操作
/*
字符串的“+”操作:字符串连接符
在“+”操作中如果出现字符串,就是连接运算符,否则就是算术运算
*/
public class Demo03{
public static void main(String[] args){
String a = "it";
String b = "heima";
System.out.println(a + b);//itheima
System.out.println(a + b + 666);//itheima666
System.out.println(a + b + 66 + 6);//itheima666
System.out.println(1 + 99 + a + b);//100itheima 连续出现“+”操作,从左到右逐个执行。
}
}
赋值运算符
/*
赋值运算符:=
扩展的赋值运算符:+= -= *= /= %=
*/
public class Demo04{
public static void main(String[] args){
int a = 10,c = 10,d = 10, e = 10,f = 10;
a += 3;
c -= 3;
d *= 3;
e /= 3;
f %= 3;
System.out.println(a);//13
System.out.println(c);//7
System.out.println(d);//30
System.out.println(e);//3
System.out.println(f);//1
short b = 10;
b += 20;//b = (short)(b + 20) 扩展的赋值运算符,隐藏了强制类型转换的功能
System.out.println(b);
}
}
自增、自减运算
/*
自增、自减运算
只要某个变量使用了 ++ 或 --,这个变量最终都会加1或减1
注意:
单独使用 ++ -- 在前在后无所谓
混合使用 ++ -- 在变量前时,++ -- 会先执行,然后这个变量再参与其他运算
++ -- 在变量后时,++ -- 会后执行,变量会先加1或减1
*/
public class Demo05{
public static void main(String[] args){
int a = 2;
int b = 3;
System.out.println(a);//2
System.out.println(b);//3
System.out.println("===========");
int i = 2;
int j = 3;
j = i++; //先赋值,i 再 ++,所以此时 j = 2
System.out.println(i);//3
System.out.println(j);//2
System.out.println("===========");
int m = 2;
int n = 3;
n = ++m; //m 先 ++,再赋值给 n,所以此时 n = 3
System.out.println(m);//3
System.out.println(n);//3
System.out.println("===========");
System.out.println(m++);//3 //先输出 m,然后 m 再 ++
System.out.println(++m);//5 //先 ++,后 输出m
}
}
关系运算符
/*
关系运算符
*/
public class Demo06{
public static void main(String[] args){
int i = 10;
int j = 20;
System.out.println(i == j);
System.out.println(i < j);
System.out.println(i <= j);
System.out.println(i > j);
System.out.println(i >= j);
}
}
逻辑运算符
短路逻辑运算符
/*
短路逻辑运算符
*/
public class Demo07{
public static void main(String[] args){
int i = 10;
int j = 20;
int k = 30;
int m = 10;
int n = 20;
int p = 10;
int q = 20;
//&& 有false则false
System.out.println((i > j) && (i > k));
System.out.println((i < j) && (i > k));
System.out.println((i > j) && (i < k));
System.out.println((i < j) && (i < k));
System.out.println("==========");
//|| 有true则true
System.out.println((i > j) || (i > k));
System.out.println((i < j) || (i > k));
System.out.println((i > j) || (i < k));
System.out.println((i < j) || (i < k));
System.out.println("==========");
//&&和&
System.out.println((i++ > 100) & (j++ > 100));
System.out.println("i:" +i);
System.out.println("j:" +j);
System.out.println("==========");
System.out.println((m++ > 100) && (n++ > 100));
System.out.println("m:" +m);
System.out.println("n:" +n);//逻辑&&当左边为假时,右边将不再执行
//||
System.out.println("==========");
System.out.println((p++ < 100) || (q++ > 100));
System.out.println("p:" +p);
System.out.println("q:" +q);//同理逻辑||当左边为真时,右边将不再执行
}
}
三元运算符
/*
三元运算符
格式: 关系表达式 ? 表达式1 : 表达式2;
执行流程:
先计算关系表达式的值
值为true,表达式1就是运算结果
值为false,表达式2就是运算结果
*/
public class Demo08{
public static void main(String[] args){
double i = 1.2;
double j = 2.1;
double min = i < j ? i : j;
System.out.println("最小值:" + min);
}
}
两只老虎
/*
两只老虎:一只体重180KG,另一只200KG,比较两只老虎体重是否一样。
*/
public class Tiger{
public static void main(String[] args){
int tiger1 = 180;
int tiger2 = 200;
boolean weight = tiger1 == tiger2 ? true : false;
System.out.println("两只老虎体重是否相同:" + weight);
}
}
三个和尚
/*
三个和尚:求三个和尚的中,最低和尚的身高是多少(150、210、165)
*/
public class Three{
public static void main(String[] args){
int height1 = 150;
int height2 = 210;
int height3 = 165;
int height = height1 < height2 ? height1 : height2; //三元运算符
int min = height < height3 ? height : height3;
System.out.println("三个和尚的中最低和尚的身高是:" + min);
}
}
数据输入
/*
数据输入:Scanner
导包:
import java.util.Scanner;
创建对象:
Scanner 变量名1 = new Scanner(System.in);
接收数据:
int 变量名2 = 变量名1.nextInt();
输出数据:
System.out.println(变量名2);
*/
import java.util.Scanner;
public class Demo09{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int i = sc.nextInt();
System.out.println("你输入的整数是:" +i);
}
}
三个和尚高级版
/*
三个和尚高级版:输入三个和尚的身高,然后求三个和尚的中,最低和尚的身高是多少
*/
import java.util.Scanner;//导包
public class Demo10{
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 height = height1 < height2 ? height1 : height2; //三元运算符
int min = height < height3 ? height : height3;
System.out.println("三个和尚的中最低和尚的身高是:" + min);
}
}
顺序结构
分支结构
if语句
/*
if 语句
格式:
if(关系表达式){
语句体;
}
执行过程:
1.计算关系表达式的值
2.如果关系表达式的值为true就执行语句体
3.如果关系表达式的值为flase就不执行语句体
4.继续执行其他语句内容
*/
public class Demo11{
public static void main(String[] args){
int a = 9;
int b = 8;
if(a == b){
System.out.println("a和b相等");
}
System.out.println("a和b不相等");
}
}
if else语句
/*
if else 语句
格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行过程:
1.计算关系表达式的值
2.如果关系表达式的值为true就执行语句体1
3.如果关系表达式的值为flase就不执行语句体2
4.继续执行其他语句内容
*/
import java.util.Scanner;
public class Demo12{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄:");
int i = sc.nextInt();
if(i >= 16){
System.out.println("你要是犯罪就要负刑事责任了");
}else{
System.out.println("你暂时不用负刑事责任");
}
System.out.println("结束");
}
}
奇偶数
/*
奇偶数:输入一个整数,判断这个整数是奇数还是偶数,并输出
*/
import java.util.Scanner;
public class Demo13{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int i = sc.nextInt();
//运用%运算符,判断这个数除以2取余是否为0,为0即为偶数,否则就是奇数
if(i%2 == 0){
System.out.println("这是一个偶数");
}else{
System.out.println("这是一个奇数");
}
System.out.println("结束");
}
}
if else if语句
/*
if else if 语句
格式:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
....
else{
语句体n+1;
}
执行过程:
1.计算关系表达式1的值
2.如果关系表达式1的值为true就执行语句体1;如果关系表达式1的值为flase就计算表达式2的值
3.如果关系表达式2的值为true就执行语句体2;如果关系表达式2的值为flase就计算表达式3的值
.......
4.没有一个表达式的值为true,就执行else内的语句体;
*/
import java.util.Scanner;
public class Demo14{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数:");
int i = sc.nextInt();
if(i == 1){
System.out.println("星期一");
}else if(i == 2){
System.out.println("星期二");
}else if(i == 3){
System.out.println("星期三");
}else if(i == 4){
System.out.println("星期四");
}else if(i == 5){
System.out.println("星期五");
}else if(i == 6){
System.out.println("星期六");
}else if(i == 7){
System.out.println("星期日");
}else{
System.out.println("输入有误");
}
}
}
考试奖励
/*
考试奖励:输入小明的分数,根据分数判断小明应该获得怎么样的奖励或者惩罚
奖励:95-100 山地自行车一辆
90-94 游乐场玩一次
80-89 变形金刚玩具一个
80以下 胖揍一顿
*/
import java.util.Scanner;
public class Demo15{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("输入小明的分数:");
int number = sc.nextInt();
if(95 <= number && number <= 100){
System.out.println("山地自行车一辆");
}else if(90 <= number && number < 95){
System.out.println("游乐场玩一次");
}else if(80 <= number && number < 90){
System.out.println("变形金刚玩具一个");
}else if(0 < number && number < 80){
System.out.println("胖揍一顿");
}else{
System.out.println("输入分数有误");
}
}
}