Educoder/头歌JAVA实训——JAVA入门:运算符和表达式

第1关:算数运算符

相关知识

在我们的生活中,我们会经常碰到两个数的加,减,乘,除,取模运算,那么我们如何在计算机当中,通过计算机语言,让计算机来代替我们来完成此项功能呢?跟着我的步骤来一步步命令计算机完成此任务吧!

什么是算术运算符

算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。 Java 中常用的算术运算符:

++和--运算符的使用

其中,++--既可以出现在操作数的左边,也可以出现在右边,但结果是不同的,如:

 输出的结果:a:6  \n  b:6

  输出的结果:a:6  \n  b:5

除法运算符的用法

Java当中的除法运算相比较其他运算符来说有点特殊,在这里将分为两种情况依次说明其用法,当两个操作数是int类型时的相除,当两个操作数是float或者double类型时的相除,下面请看具体示例: 用法如下:

  1. int i=11/2;//结果是5,因为i是整数,所以除法运算的结果会省略后面的小数点
  2. int i=10/2;//结果是5
  3. //当两个操作数是float或者double类型时,就是正常的除法运算,如:
  4. double i=9.8;
  5. double j=3.2;
  6. double result=i/j;
  7. System.out.println(result);//此时result的值为3.0625

取模运算符的用法

也叫求余数,求余的字面意思就是求被除数除以除数,整除后还余下多少? 用法如下:

  1. int i=11%2;//这里i=1;表示11被2整除5次还余1.
  2. //求余的正负号说明:主要是取决于前面一个数是正数还是负数,不管后面数。如下:
  3. int i=-11%2;//这里i=-1
  4. int i=10%2;//这里i=0;就是10被2刚好整除5次,没有余数。

编程要求

start-end区域定义两个变量ab,然后使用上一章节学到的扫描仪(Scanner)获取程序输入的数据并赋值给ab变量。

package step1;
import java.util.Scanner;

public class Cal {
	public static void main(String[] args) {
		/*********start*********/
        Scanner input = new Scanner(System.in);
		System.out.println("请输入第一个整数");
        int a = input.nextInt();
        System.out.println("请输入第二个整数");
		int b = input.nextInt();
        System.out.println("两数相加的结果为:"+(a+b));
        System.out.println("两数相减的结果为:"+(a-b));
        System.out.println("两数相乘的结果为:"+(a*b));
        System.out.println("两数相除的结果为:"+(int)(a/b));
        System.out.println("两数取余数的结果为:"+(a%b));
		
		/*********end*********/
	}
}

第2关:关系运算符

相关知识

生活中,我们经常会判断两个数的关系,如哪个数大,哪个数小,两个数是否相等的情况,同理,在我们的编程世界中,这种现象更是频繁,所以,此节,我们主要来学习一下Java当中的一些常见的一些关系运算符。

常见关系运算符

下表为Java支持的关系运算符。 表格中的实例整数变量A的值为10,变量B的值为20:如图:

如何使用关系运算符

为了加强程序的交互性,你可以创建一个扫描仪接受用户随机的输两个数进行比较,如图:

 

 输出效果图,如图:

package step2;
import java.util.Scanner;

public class Relative {
	public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        /*********start*********/
		
		System.out.println("a==b="+(a==b));
        System.out.println("a!=b="+(a!=b));
        System.out.println("a>b="+(a>b));
        System.out.println("a<b="+(a<b));
        System.out.println("b>=a="+(b>=a));
        System.out.println("b<=a="+(b<=a));
		
		/*********end*********/
	}
}

第3关:逻辑运算符

相关知识

生活中,我们常常会遇到这样的问题,如我们在报驾校的同时,先要满足两个条件,一个是年满18周岁,另一个是不能是色盲,要同时满足这两个条件,我们才能报名。像诸如此类的现象就是今天我们所要讲的逻辑运算符。

什么是逻辑运算符

逻辑运算符用于测试两个操作数之间的逻辑关系,且这两个操作数必须是布尔类型的(如关系表达式),得到的结果也是布尔类型的,通过逻辑运算符连接的结果为boolean类型的变量或表达式叫做逻辑表达式。

常见逻辑运算符

我们可以从“投票选举”的角度理解逻辑运算符:

  1. 与:要求所有人都投票同意,才能通过某议题;
  2. 或:只要求一个人投票同意就可以通过某议题;
  3. 非:某人原本投票同意,通过非运算符,可以使其投票无效;
  4. 异或:有且只能有一个人投票同意,才可以通过某议题。

逻辑与运算符的用法

用法如下:

  1. boolean a = false,b = true;
  2. System.out.println(!a);
  3. System.out.println(a&&b);
  4. System.out.println(a||b);
  5. System.out.println(a^b);

输出结果: true false true true

结合算数运算符:

  1. int a = 10 , b = 5;
  2. System.out.println( !(a-b > 6) );
  3. System.out.println( (a-b==5)&&(a+b>15));

输出结果: true false

package step3;
import java.util.Scanner;
public class testLogic {
	public static void main(String[] args) {        
		Scanner sc=new Scanner(System.in);
  		boolean a=sc.nextBoolean();
        boolean b=sc.nextBoolean();
        boolean c=sc.nextBoolean();        
		/*********start  *********/

        System.out.println(a&b);
        System.out.println(c&b);
        System.out.println(a&c);
        System.out.println(a|b);
       
		/*********end  *********/
	}
}

第4关:三元运算符

相关知识

什么是三元运算符

因为三元运算符的操作数有三个,所以称为三元运算符,三元运算符又称条件运算符,是“?”和“:”符号组合,根据条件执行两个语句中的其中一个。它的语法如下: 语法:

  1. 条件表达式 ? 条件为真返回的结果 : 条件为假返回的结果

使用三元运算符

结果为:

4 5

较为复杂的使用方式:

  1. boolean result;
  2. int a = 4,b=10;
  3. result = (a%4==0)&&(b/2==1) ? true : false;
  4. System.out.println(result);

结果为:

false

编程要求

start-end区域中补充代码,使用三元运算符判断输入的year变量是否为闰年,为了完成判断是否为闰年,你需要首先了解闰年的判断公式是什么,在这里给出闰年的判断公式如下: 1.年份能被400整除。 2.年份能被4整除,但不能被100整除。 所以,在这里你还需要注意逻辑关系运算符的运用。

package step4;

import java.util.Scanner;

public class TestYear {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
        int year=sc.nextInt();
        boolean result;
        /********start********/
        
        result=((year%400==0)|(year%4==0 && year%100!=0))?true:false ;       
        System.out.println(year + "年是否为闰年:" + result);
        
        /********end********/
	}
}

 第5关:运算符的优先级

相关知识

生活中,我们经常会遇到算数运算符的混合运算,如在我们的数学当中加减乘除混合运算时,我们则会根据混合运算的规律,先算乘除,在算加减,有圆括号的则先算圆括号里,同理,在我们Java当中,也有同样的优先级运算。

Java中运算符的优先级

Java中常见的运算符的优先级:

 级别为 `1` 的优先级最高,级别 `11` 的优先级最低。譬如,`x = 7 + 3 * 2 ` 得到的结果是 `13` “先乘后加”嘛!

PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如:

分析:小括号优先级最高,因此。 1、 执行 a + 18 ,结果为 30 2、 执行( a + 18 ) % 4 取模,结果为 2 3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24`

package step5;
import java.util.Scanner;

public class TestDemo5 {
	public static void main(String[] args) {
			Scanner sc=new Scanner(System.in);
		System.out.println("输入:");
		int m=sc.nextInt();
		int n=sc.nextInt();		
		System.out.println("输出:");        
		/*****start*****/		
		System.out.println( (m+n)*2 );        
		System.out.println( (m-n)%3 );		
		System.out.println((m-n)/2 + (m+n)*2);
		
		/*****end*****/
	}
}

 第6关:选择自测题

 ​​​​​​​​​​​​​​​​​​​​​

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆小玖

您的鼓励是我的不竭动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值