Java中的表达式运算

1、问题背景

   以下代码运行的结果为:

   A、a的值:8   b的值:7           B、a的值:8  b的值:8

   C、a的值:9   b的值:7           D、a的值:9  b的值:8

/**
 *
 */
package com.you.model;

/**
 * @author YouHaidong
 *
 */
public class AB
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		int a = 8;
		int b = 7;
		if(!(a==b) && (a==1+b++))
		{

		}
		System.out.println("a的值:" + a + "\n" + "b的值:" + b);
	}

}

2、分析问题

   由于!(a==b)执行完后,还得执行a==1+b++,最终b是要加1的,故a=8,b=8 

3、分析结果

   答案选择:B

Java中的表达式运算

时间: 2024-10-17 08:32:44

Java中的表达式运算的相关文章

Java中Lambda表达式的使用

简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能.本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)Lambda表达式是Java SE 8中一个重要的新特性.lambda表达式允许你通过表达式来代替功能接口. lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块

Java中Lambda表达式的使用(转)

https://www.cnblogs.com/franson-2016/p/5593080.html 简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能.本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)Lambda表达式是Java SE 8中一个重要的新特性.lambda表达式允许你通过表达式来代替功能接口. lambda表达式

java中的位运算

刚才在imooc看php基础发现一个特别容易让我们理解的描述[关于异或运算的] 之前学习java的时候 位运算有4种,当时是这样记录的: &  按位与 (and) 两个对应二进制都为1则为1,其余全为0 |   按位或(or) 两个二进制数有一个为1则为1,只有两个0才为0 ~  按位非(NOT) 二进制中取反 ^  按位异或(XOR) 两个二进制中相同为则为0,不同则为1             其实最难以理解的就是这个异或运算. 直接搬过来(原网址点我): 我们可以从投票的角度来理解逻辑运算

Java中lambda(λ)表达式的语法

举一个排序的例子,我们传入代码来检查一个字符串是否比另一个字符串短.这里要计算: first.length() - second.length() first和second是什么?他们都是字符串.Java是一个强类型语言,所以我们还要指定他们的类型: (String first, String second) -> first.length() - second.length() lambda表达式就是一个代码块,以及必须传入代码的变量规范. 你已经见过Java中的一种lambda表达式形式:参

Java中&&和?表达式结合时会出现的坑

首先是背景,刚放假回家比较闲,就把以前写了一些算法题的一个项目拿出来继续写,想把其中的插入排序修改成支持升序和降序的,然后就出现了这个坑,具体是这样的: 先把插入排序的代码摆出来吧. /** * 插入排序 * @param arr 输入数组 * @param order 顺序 1为升序 0为降序 */ static void insertionSort(int arr[],int order){ for (int i = 1; i < arr.length; i++) { int get = a

java中lamda表达式的应用

lamda表达式主要是为了解决匿名内部类的繁琐过程 范例:简单的lamda表达式 此处使用匿名内部类 package com.java.demo; interface IMessage{ public void print();//抽象方法 } public class TestDemo{ public static void main(String args[]){ //使用给匿名内部类实现print()方法 fun(new IMessage(){ public void print(){ S

Java中关于位运算的面试题

位运算的效率是最高的,因为位位运算是直接对二进制进行操作 位运算只能应用于整型和char类型(char类型可以看做是特殊的无符号的整形) 面试题: a: 判断一个数是否是奇数 a & 1 == 1; b: 对2 ^ n 取余. a & (2^n - 1); c: 如何判断一个数是否是2^n a & (a-1) == 0: d: 两个整数之间的交换: e: 用最有效率的方式求2 * 8的值 2 << 3; a: 判断一个数是否是奇数 a & 1 == 1; /*

java中通过位运算实现多个状态的判断

通过 <<  |  & ~ 位运算,实现同时拥有多个状态 通过 << 定义数据的状态 public interface LogConstants { /** * 消耗标记 */ short COST_ASSET = 1 << 0; short COST_GOLD = 1 << 1; short COST_BINDGOLD = 1 << 2; short COST_SOPH = 1 << 3; short COST_STRSOU

java中的位运算及移位运算

为了方便对二进制位进行操作,Java给我们提供了以下四个二进制位操作符: &    按位与 |     按位或 ^    按位异或 ~    按位取反 Java中有三个移位运算符: 左移:<<                        丢弃最高位,0补最低位:num << 1,相当于num乘以2 带符号右移:>>               符号位不变,左边补上符号位:num >> 1,相当于num除以2 无符号右移:>>>