/* 三元运算符 格式: 关系表达式 ? 表达式1 : 表达式2; 范例: a > b ? a : b; 执行流程: 首先计算关系表达式的值 如果值为true,表达式1的值就是运算结果 如果值为false,表达式2的值就是运算结果 */
public class OperatorDemo0001 {
public static void main(String[] args) {
//定义两个变量
int a = 10;
int b = 20;
int c = 30;
//获取两个数据中的较大值
int max = a >b ? a : b;
//输出结果
System.out.println("max:" + max);
}
}
出两个题目
/* 两只老虎 需求: 动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg, 请用程序实现判断两只老虎的体重是否相同。 */
public class OperatorTest01 {
public static void main(String[] args) {
//1:定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可。
int weight1 = 90;
int weight2 = 200;
//2:用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false。
//关系表达式 ? 表达式1 : 表达式2;
boolean b = weight1 == weight2 ? true : false; //false
//3:输出结果
System.out.println("b:" + b);
}
}
/* 三个和尚 需求: 一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm, 请用程序实现获取这三个和尚的最高身高。 */
public class OperatorTest02 {
public static void main(String[] args) {
//1:定义三个变量用于保存和尚的身高,单位为cm,这里仅仅体现数值即可。 格式 是n-1
int height1 = 150;
int height2 = 210; // 第一步 1和2 比较 第二部 2大 2在和3比较
int height3 = 165;
int height4 = 345;
//2:用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。
//第一步 1和2 比较 关系表达式 ? 表达式1 : 表达式2;
int tempHeight = height1 > height2 ? height1 : height2;
//3:用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。
//第二部 2大 2在和3比较 关系表达式 ? 表达式1 : 表达式2;
int maxHeight = tempHeight > height3 ? tempHeight : height3;
//4:输出结果
System.out.println("maxHeight:" + maxHeight);
}
}
/* 关系运算符 == 地址 !=取反 对是错 错是对 输出语句 数学运算 对象比较 boolean */
public class OperatorDemo001 {
public static void main(String[] args) {
//定义变量
int i = 10;
int j = 20;
int k = 10;
//==
System.out.println(i == j); //boolean true false
System.out.println(i == k);
System.out.println("--------");
//!=
System.out.println(i != j);
System.out.println(i != k);
System.out.println("--------");
//>
System.out.println(i > j);
System.out.println(i > k);
System.out.println("--------");
// //>=
System.out.println(i >= j);
System.out.println(i >= k);
System.out.println("--------");
//不小心把==写成了=
//把j的值赋值给了i,然后输出i的值
System.out.println(i = j);
System.out.println(5>6);
}
}
/* 算术运算符 */
public class OperatorDemo01 {
public static void main(String[] args) {
//定义两个变量 除法运算中 两个数据类型是int 有小数参与 解决方案 int 转 double 有双精度数据参与
int a = 6;
int b = 4;
System.out.println(a + b); //10.0
System.out.println(a - b); //2.0
System.out.println(a * b); //
System.out.println(a / b); //
System.out.println(a % b); //
//除法得到的是商,取余得到是余数
//整数相除只能得到整数,要想得到小数,必须有浮点数的参与
System.out.println(a / b); //1.5
}
}
/* 字符的"+"操作 */
public class OperatorDemo02 {
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);
//char ch = i + c;
//char类型会被自动提升为int类型
int j = i + c;
System.out.println(j);
//int k = 10 + 13.14;
double d = 10 + 13.14;
}
}
/* 字符串的"+"操作 string "" */
public class OperatorDemo03 {
public static void main(String[] args) {
System.out.println("it" + "中科");
System.out.println("it中科" + 666);
System.out.println(666 + "it中科");
System.out.println("中科" + (6 + 66)); //
System.out.println("1" + 99 + "年中科");
}
}
/* 自增自减运算符 */
public class OperatorDemos001 {
public static void main(String[] args) {
//定义变量
int i = 10;
int i1=++i;
System.out.println("i1:" + i1);
//单独使用
//i++;
//++i;
//System.out.println("i:" + i);
//参与操作使用
//int j = i++;
int j = ++i;
System.out.println("i:" + i);
System.out.println("j:" + j);
}
}
/* 赋值运算符 =赋值 ==地址 */
public class OperatorDemo {
public static void main(String[] args) {
//把10赋值给int类型的变量i 考察点 文化差异 从右到左
int i = 100;
System.out.println("i:" + i);
// += 把左边和右边的数据做加法操作,结果赋值给左边
i += 20; //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);
}
}
/* 逻辑运算符 ||短路或 |逻辑或 &逻辑与 &&短路与或 ^取反 != */
public class OperatorDemoes001 {
public static void main(String[] args) {
//定义变量
int i = 1;
int j = 2;
int k = 3;
//征兵 男 18-22 同时满足
//& 有false则false 逻辑与 全真为真 true 全假为假 false 一假一真 false
System.out.println((i > j) & (i < k)); //false &true
System.out.println((i < j) & (i < k)); //true & true
System.out.println((i > j) & (i > k)); //false & false
System.out.println((i < j) & (i < k)); //true & true
System.out.println("--------");
//| 有true则true 全假为假 有真则真 全真为真
System.out.println((i > j) | (i > k)); //false | false false
System.out.println((i < j) |(i > k)); //true | false true
System.out.println((i > j) | (i < k)); //false | true true
System.out.println((i < j) | (i < k)); //true | true true
System.out.println("--------");
}
}
/* 短路逻辑运算符 一定是2个或者多个条件 */
public class OperatorDemoes002 {
public static void main(String[] args) {
//定义变量
int i = 10;
int j = 20;
int k = 30;
//&& 有false则false
System.out.println((i < j) || (i > k)&& (i < k)); //true && false // false
System.out.println((i < j) && (i > k)); //true && false
System.out.println((i > j) && (i < k)); //false && true
System.out.println((i < j) && (i < k)); //true && true
System.out.println("--------");
//|| 有true则true | &
System.out.println((i > j) || (i > k)); //false || false false
System.out.println((i < j) || (i > k)); //true || false true
System.out.println((i > j) || (i < k)); //false || true true
System.out.println((i < j) || (i < k)); //true || true true
System.out.println("--------");
// //&&和&
// //System.out.println((i++ > 100) & (j++ > 100)); //false & false
// System.out.println((i++ > 100) && (j++ > 100)); //false && false
// System.out.println("i:" + i);
// System.out.println("j:" + j);
}
}
键盘录入
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个商品价格");
//接收数据
int x = sc.nextInt();
System.out.println("请输入第二个商品价格");
int y = sc.nextInt();
System.out.println("请输入第三个商品价格");
int z=sc.nextInt();
//输出数据
System.out.println("商品总金额"+(x+y+z)+"元");
}
}
键盘录入比较
import java.util.Scanner;
public class ScannerTest {
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 +"cm");
}
}
分支语句
/*
if语句格式1
格式:
if (关系表达式) {
语句体;
}
执行流程:
1:首先计算关系表达式的值
2:如果关系表达式的值为true就执行语句体
3:如果关系表达式的值为false就不执行语句体
4:继续执行后面的语句内容
*/
public class IfDemo {
public static void main(String[] args) {
System.out.println("开始");
//定义两个变量
int a = 10;
int b = 10;
//需求:判断a和b的值是否相等,如果相等,就在控制台输出:a等于b
if(a == b) {
System.out.println("a等于b");
}else {
System.out.println("a!=b");
}
//需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于c
int c = 10;
if(a == c) {
System.out.println("a等于c");
}
System.out.println("结束");
}
}
多分支
/* if语句格式2 格式: if (关系表达式) { 语句体1; } else { 语句体2; } 执行流程: 1:首先计算关系表达式的值 2:如果关系表达式的值为true就执行语句体1 3:如果关系表达式的值为false就执行语句体2 4:继续执行后面的语句内容 */
public class IfDemo02 {
public static void main(String[] args) {
System.out.println("开始");
//定义两个变量
int a = 10;
int b = 20;
b = 5;
//需求:判断a是否大于b,如果是,在控制台输出:a的值大于b,如果不是,在控制台输出:a的值不大于b
if(a > b) {
System.out.println("a的值大于b");
} else {
System.out.println("a的值不大于b");
}
System.out.println("结束");
}
}
多分支题目
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
System.out.println("开始");
//需求:键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数(1-8):");
int week = sc.nextInt();
if(week == 1) {
System.out.println("星期一");
} else if(week == 2) {
System.out.println("星期二");
} else if(week == 3) {
System.out.println("星期三");
} else if(week == 4) {
System.out.println("星期四");
} else if(week == 5) {
System.out.println("星期五");
} else if(week == 6) {
System.out.println("星期六");
} else if (week == 7){
System.out.println("星期日");
}else if (week == 8) {
System.out.println("星期8");
}else {
System.out.println("超出范围");
}
System.out.println("结束");
}
}
键盘录入
import java.util.Scanner;
public class IfTest01 {
public static void main(String[] args) {
//为了体现任意给出一个整数,采用键盘录入一个数据。(导包,创建对象,接收数据)
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int number = sc.nextInt();
//判断整数是偶数还是奇数要分两种情况进行判断,使用if..else结构
//判断是否偶数需要使用取余运算符实现该功能 number % 2 == 0
//根据判定情况,在控制台输出对应的内容
if(number%2 == 0) {
System.out.println(number + "是偶数");
} else {
System.out.println(number + "是奇数");
}
}
}
键盘录入题目
import java.util.Scanner;
public class IfTest02 {
public static void main(String[] args) {
//小明的考试成绩未知,可以使用键盘录入的方式获取值
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个分数:");
int score = sc.nextInt();
//数据测试:正确数据,边界数据,错误数据
if(score>100 | score<0) {
System.out.println("你输入的分数有误");
} else if(score>=95 & score<=100) {
System.out.println("优秀");
} else {
System.out.println("不优秀");
}
}
}