目录
键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数
定义一个int类型的变量,初始化值为123,求这个数的个位,十位,百位分别是多少,输出结果:123的个位是3,十位是2,百位是1
阐述
运算符和表达式的概念
运算符:连接常量或变量,对其进行操作的符号。(5类)
算数运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符
表达式:用运算符将常量或变量连接起来的式子,符合Java语法就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
流程控制语句的分类
3类:顺序结构(默认结构)、选择结构(if;switch)、循环结构(for;while;do...while)
if语句的三种使用格式及执行流程
if(关系表达式){语句体}
判断关系表达式是true还是false。如果是true,就执行语句体;如果是false,就不执行语句体。
if(关系表达式){语句体1} else {语句体2}
判断关系表达式是true还是false。如果是true,就执行语句体1;如果是false,就执行语句体2。
if(关系表达式1) {语句体1} else if (关系表达式2) {语句体2} ... else if (关系表达式n) {语句体n} else {语句体n+1}
判断关系表达式1是true还是false。如果是true,就执行语句体1;如果是false,就判断关系表达式2。依此类推。如果最后所有的关系表达式都判断为false,就执行语句体n+1。
switch语句的格式和执行流程
switch(表达式) {
case 值1 :
语句体1;
break;
case 值2 :
语句体2;
break;
...
case 值n :
语句体n;
break;
default :
语句体n+1;
}
首先计算出表达式的值,然后依次和case比较,一旦有对应的值,就执行相应的语句,遇到break就结束(没有break的话会继续向下比较)。最后,如果所有的case和表达式的值都不匹配,就执行default语句体部分,然后程序结束(不需要写break).。
课后作业
键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数
Scanner sc = new Scanner(System.in);
System.out.println("请输入整数");
int a = sc.nextInt();
// System.out.println(a % 2 == 0 ? "偶数" : "奇数");
System.out.println(a & 1 == 0 ? "偶数" : "奇数");
拓展知识:
如果键盘录入中文,可以在创建Scanner对象的时候指定编码 new Scanner(System.in, 指定编码)
位运算
&与 两个都为1,结果才为1
|或 两个都为0,结果才为0
^异或 相同为0,相异为1
~取反 0变1,1变0
<<左移 高位丢弃,低位补零(*2)
>>右移 高位补零,低位丢弃(/2)
定义一个int类型的变量,初始化值为123,求这个数的个位,十位,百位分别是多少,输出结果:123的个位是3,十位是2,百位是1
int b = 123;
System.out.println("个位:" + b % 10);
System.out.println("十位:" + b % 100 /10);
System.out.println("百位:" + b % 1000 /100);
求平均值
*Java没有自带的求和方法和求平均值方法,只能自己写。
如果数据少,就直接加起来然后除以个数
如果数据多,就放在数组里,用for循环遍历求和,然后除以数组长度。
伪代码描述:sum(array)/array.length
伪代码(Pseudocode)是一种算法描述语言,是描述思路但是不能在程序上运行的代码。