class Demo02{
public static void main(String[] args){
//算数运算符 +,-,*,/,%,++,-- //例1
int a = 1;
int b = 2;
int c = 3;
System.out.println(a+b+c);
//结果 6
/*
a+b+c的执行流程
1:去内存中找a对应的数据
2:读取下一个运算符
3:读取a后面的操作数b,同事尧都区b后面的运算符,看是否先运行。
4:计算a+b的结果
5:把a+b的结果和c进行相加即可
*/ //例2
int a = 1;
int b = 2;
int c = 3;
int d = 4;
System.out.println(a+b+c*d);
//结果 15
/*
执行流程
1:先计算a+b的值
2:计算c*d
3:把a+b的值和c*d的值相加
*/ //例3
int a = 1;
int b = 2;
System.out.println((a=3)+(b=4)+a*b);
//结果 19 //例4
//面试题:请设计一个表达式,用于判断一个数据是否是奇数
//System.out.println(5%2);
//System.out.println(5%-2);
//System.out.println(-5%2);
//System.out.println(-5%-2);
//结果1,1,-1,-1
//结论:%是由前面的操作数提供运算结果的符号
return (i%2!=0) //例5
//++,--运算符
//int i = 1;
//i++; 是一个表达式,式子的值和i的值相同
//++i; 是一个表达式,式子的值是i+1以后的值
//++,--必须是一个变量
int i=1;
System.out.println(i+++i+++i+++i++);
//结果 10
// i++ + i++ + i++ + i++
// 1 + i++ + i++ + i++ i=2
// 1 + 2 + i++ + i++ i=3
// 1 + 2 + 3 + i++ i=4
// 1 + 2 + 3 + 4 i=5 //例6
int i=1;
System.out.println(i++ + ++i + i++ + ++i);
//结果12
//如果写System.out.println(i+++++i+i+++++i);编译器会报错 //例7
int i=0;
i=i++;
System.out.println(i);
//结果0
//i++作为表达式值为0,temp=0
//i=i+1; i=1;
//将temp赋值给i,i又变回为0
}
}

Java面试(2)-- Java算数表达式的更多相关文章

  1. [Java面试二]Java基础知识精华部分.

    一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...

  2. Java面试大纲-java面试该做哪些准备,java开发达到这样的水平可以涨工资

    Java培训结束,面临的就是毕业找工作.在找工作时,就要针对性地做充分的面试准备.准备不充分的面试,完全是浪费时间,更是对自己的不负责. 上海尚学堂Java培训整理出Java面试大纲,其中大部分都是面 ...

  3. Java面试系列--java基础

    Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64 ...

  4. Java面试之Java基础问题答案口述整理

    Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用 ...

  5. java面试2(java技术栈和Hollis面试内容分享)

    1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...

  6. java面试:java基础、Io、容器

    1.java基础 1.JDK 和JRE有什么区别 ​ JDK:java开发工具包,java开发运行环境.包含了JRE. ​ JRE:java运行环境,包含java虚拟机,java基础类库. 2.jav ...

  7. java 面试,java 后端面试,数据库方面对初级和高级程序员的要求

    本内容摘自 java web轻量级开发面试教程 对于合格的程序员,需要有基本的数据库操作技能,具体体现在以下三个方面. l  第一,针对一类数据库(比如MySQL.Oracle.SQL Server等 ...

  8. 【JAVA面试】java面试题整理(4)

    版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779                               ...

  9. 【Java面试】java基础篇

    总结个人的面试经历以及一些网上的的面试题,以供以后面试与巩固java基础. 1.String.StringBuilder和StringBuffer的区别 String用于存储不可变字符串的类,Stri ...

  10. 【Java面试】Java有几种文件拷贝方式,哪一种效率最高?

    "Java有几种文件拷贝方式,哪一种效率最高?" 这个问题是京东一面的时候,针对4年经验的同学的一个面试题. 大家好,我是Mic,一个工作了14年的Java程序员. 关于这个问题的 ...

随机推荐

  1. Win7 64位命令行编译cuda及设置Windows显卡响应时间

    在开始菜单中找到Visual Studio 2013 >> Visual Studio Tools 选择86或64版本的VC命令提示符环境,我用的 VS2013 x86 Native To ...

  2. loadrunner监控linux服务器

    参考http://www.cnblogs.com/yangxia-test/archive/2012/11/27/2790771.html http://www.cnblogs.com/candle8 ...

  3. Java程序,取随机数的两种实现方法

    1.随机数的第一种程序(取0-9的整型随机数) public class random_1 { public static void main(String[] args) { Random r=ne ...

  4. Java:switch语句例子

    1.输入一个名次,第1-4名,分别称为冠军.亚军.季军.殿军,5名及5名以上,称为其他名次. import java.util.Scanner; public class switch1 { publ ...

  5. armv6, armv7, armv7s的区别

    ARM是微处理器行业的一家知名企业,arm处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有手机都是使用它的. armv6, armv7, armv7s是ARM CPU的不同指令集,原则上是 ...

  6. hdu 4982 Goffi and Squary Partition

    Goffi and Squary Partition Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Subm ...

  7. linux ssh config

    Host code.engineering.redhat.com    HostName code.engineering.redhat.com    Port 29418    User jiall ...

  8. 【转】【Linux】 临界区,互斥量,信号量,事件的区别

    原文地址:http://blog.itpub.net/10697500/viewspace-612045/ Linux中 四种进程或线程同步互斥的控制方法1.临界区:通过对多线程的串行化来访问公共资源 ...

  9. nginx日志格式来分析网站访问速度与瓶颈

    参考地址:http://www.ttlsa.com/nginx/nginx-modules-ngx_http_log_request_speed/ 查看nginx 安装模块和配置 /usr/local ...

  10. 定时自动关闭messagebox

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...