书接上文
9、运算符与优先级
逻辑运算符:
用于对boolean型结果的表达式进行计算,运算结果总是boolean型,后面结合条件机构讲解。
运算符 | 描述 | 示例 | 结果 |
& | 与 | false&true | false |
| | 或 | false&true | true |
^ | 异或 | true^false | true |
! | 非 | !true | false |
&& | 短路与 | false&&true | false |
|| | 短路或 | false||true | true |
在计算机中,非0即真,0为假。
逻辑或:或1则1;
逻辑与:全1则1;
异或:若两值不同则1,相同则0.
对比:&:在逻辑运算时分别计算表达式两边结果,再做与(&)运算;在做位运算时表示按位与。&&:先计算左边表达式,如果结果是false,直接返回false,若是true,再计算右边表达式,如果右边表达式为true,结果为true,否则为false。|与||相同道理,在此不再赘述。所以,用$$或||比用$或|效率高。
---------------------------------------------------------------------------------------------------------------------------
例题:通过键盘输入声明初始化一个圆柱体的高h和底面半径r,pi是3.14,求圆柱体的体积并显示。体积:pi*(r^2)*h
import java.util.Scanner;
public class a
{
public static void main(String[] args)
{
double pi = 3.14;
Scanner input = new Scanner(System.in);
System.out.println("请输入圆柱体的半径:");
double r = input.nextDouble();
System.out.println("请输入圆柱体的高:");
double h = input.nextDouble();
System.out.println("圆柱体的体积是:"+(pi*(r*r)*h));
}
}
例题:定义一个五位整数,求各个位上的和
import java.util.Scanner;
public class b
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("请输入一个五位整数:");
int n = input.nextInt();
int w = n /10000 , q = (n - w * 10000) / 1000 , b = (n - w * 10000 - q * 1000) / 100 , s = (n - w * 10000 - q * 1000 - b * 100) / 10 , g = (n - w * 10000 - q * 1000 - b * 100 - s * 10);
System.out.print(w + q + b + s + g);
}
}
例题:根据天数计算周数和剩余的天数,天数是通过键盘输入
import java.util.Scanner;
public class c
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("请输入天数:");
int days = input.nextInt();
System.out.println("周数是:"+(days / 7));
System.out.println("剩余天数是:"+(days % 7));
}
}