欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaSE—— 运算符、键盘录入、选择语句

程序员文章站 2024-03-24 16:18:28
...

逻辑运算符的基本用法

逻辑运算符:
&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)

  • 逻辑运算符一般用于连接boolean类型的表达式或者值。
    在Java中我们要表示一个数大于n并且小于m ,不可以写成n<x<m,应该写成 x>n & x<m 。
  • 表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
    算术表达式:a + b (运算符)
    关系表达式:a == b (逻辑等于符)
  • &&和& ||和|
    1. 最终结果一样。
    2. &&具有短路效果。左边是false,右边不执行。||同样具有短路效果,左边是true,右边不执行。
    3. 开发中常用(效率高)
    &&, ||, !

三元运算符的基本用法

三元(三目)运算符的格式
(逻辑关系表达式) ? 表达式1 : 表达式2;
例:

	    int a=(10>20)?30:50; //定义a等于(10大于20吗)?大于输出30:否则输出50;
	    a=50 //输出 a=50
  • 三元运算符的执行流程
    计算关系表达式的值,
    如果为true, 运算后的结果是表达式1;
    如果为false,运算后的结果是表达式2;

    可以做一个比较大小的简单例子:
    JavaSE—— 运算符、键盘录入、选择语句

键盘录入数据

如何实现键盘录入

  • 导包
    格式:
    import java.util.Scanner;
    位置:
    在class上面。
  • 创建键盘录入对象
    格式:
    Scanner sc = new Scanner(System.in);
  • 通过对象获取数据
    格式:
    int x = sc.nextInt();

eg键盘录入2个整数,并输出到控制台。


import java.util.Scanner;
class scanner 
{
	public static void main(String[] args) 
	{
		Scanner sc=new Scanner(System.in);

		System.out.println("请输入第一个整数");
		int a=sc.nextInt();
		
		System.out.println("请输入第二个整数");
		int b=sc.nextInt();

		System.out.println("您输入的第一个整数是"+a);
		System.out.println("您输入的第二个整数是"+b);
	}
}

JavaSE—— 运算符、键盘录入、选择语句

流程控制语句

  • 流程控制语句的分类:
    顺序结构 (即最基本的流程控制,按照代码的先后顺序,依次执行)
    选择结构 (if语句、switch语句)
    循环结构 (for循环、while循环 )

if语句

  • if语句的格式1:
    if (比较表达式或者是boolean类型的值) {
    语句体;
    }
    执行流程
    先计算比较表达式的值,看其返回值是true还是false。
    如果是true,就执行语句体;
    如果是false,就不执行语句体;

eg: 判断两个数据是否相等
JavaSE—— 运算符、键盘录入、选择语句

  • if语句的格式2
    if(比较表达式) {
    语句体1;
    }else {
    语句体2;
    }
    • 注意事项:else后面是没有比较表达式的,只有if后面有。

执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;

eg: 判断一个数是奇数还是偶数,并输出是奇数还是偶数
JavaSE—— 运算符、键盘录入、选择语句

  • if语句的格式3:
    if(比较表达式1) {
    语句体1;
    }else if(比较表达式2) {
    语句体2;
    }else if(比较表达式3) {
    语句体3;
    }

    else {
    语句体n+1;
    }
    执行流程
    首先计算比较表达式1看其返回值是true还是false,
    如果是true,就执行语句体1,if语句结束。
    如果是false,接着计算比较表达式2看其返回值是true还是false,

    如果是true,就执行语句体2,if语句结束。
    如果是false,接着计算比较表达式3看其返回值是true还是false,

    如果都是false,就执行语句体n+1。

    • 注意事项: 当只要有一个条件满足时,if语句结束。else是可以省略,但是不建议省略。

eg: 键盘录入x的值,计算出y的并输出。

    x>=3	    y = 2x + 1;
	-1<=x<3	    y = 2x;
	x<-1		y = 2x – 1;
import java.util.Scanner;
class if3 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入X的整数值");
		int x=sc.nextInt();
		int y=0;

		if(x>=3){
		y=2*x+1;
		}else if(x>=-1&&x<3){
		y=2*x;
		}else if(x<-1){
		y=2*x-1;
		}
		
		System.out.println("y="+y);
	}
}

JavaSE—— 运算符、键盘录入、选择语句

switch语句

  • switch语句的格式
    switch(表达式){
    case 值1:
    语句体1;
    break;
    case 值2:
    语句体2;
    break;
    case 值3:
    语句体3;
    break;

    default:
    语句体n+1;
    break;
    }
  • switch语句的格式解释
    • switch表示这是switch语句
      表达式的取值:byte、short、int、char、String、枚举
    • case后面跟的是要和表达式进行比较的值
    • 语句体部分可以是一条或多条语句
    • break表示中断,结束的意思,可以结束switch语句
    • default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似

执行流程
先计算表达式的值
然后和case后面的匹配,如果匹配成功就执行对应的语句,遇到break就会结束,否则执行default控制的语句

eg: 键盘录入月份,输出对应的季节

import java.util.Scanner;
class switch1 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入12个月份");
		int month=sc.nextInt();

		switch(month){
			case 3:       //没有break会出现穿透现象,匹配到3后一直执行3下的语句到下一个break
				
			case 4:
				
			case 5:
				System.out.println("春季");
			    break;
			case 6:
				
			case 7:
				
			case 8:
				System.out.println("夏季");
			    break;
			case 9:
				
			case 10:
				
			case 11:
				System.out.println("秋季");
			    break;
			case 12:
				
			case 1:
				
			case 2:
				System.out.println("冬季");
			    break;
			default:
				System.out.println("你输入的不是12个月");
			    break;

		}
		
		
	}
}

JavaSE—— 运算符、键盘录入、选择语句