Java面试(2)-- Java算数表达式
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算数表达式的更多相关文章
- [Java面试二]Java基础知识精华部分.
一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...
- Java面试大纲-java面试该做哪些准备,java开发达到这样的水平可以涨工资
Java培训结束,面临的就是毕业找工作.在找工作时,就要针对性地做充分的面试准备.准备不充分的面试,完全是浪费时间,更是对自己的不负责. 上海尚学堂Java培训整理出Java面试大纲,其中大部分都是面 ...
- Java面试系列--java基础
Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64 ...
- Java面试之Java基础问题答案口述整理
Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用 ...
- java面试2(java技术栈和Hollis面试内容分享)
1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...
- java面试:java基础、Io、容器
1.java基础 1.JDK 和JRE有什么区别 JDK:java开发工具包,java开发运行环境.包含了JRE. JRE:java运行环境,包含java虚拟机,java基础类库. 2.jav ...
- java 面试,java 后端面试,数据库方面对初级和高级程序员的要求
本内容摘自 java web轻量级开发面试教程 对于合格的程序员,需要有基本的数据库操作技能,具体体现在以下三个方面. l 第一,针对一类数据库(比如MySQL.Oracle.SQL Server等 ...
- 【JAVA面试】java面试题整理(4)
版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779 ...
- 【Java面试】java基础篇
总结个人的面试经历以及一些网上的的面试题,以供以后面试与巩固java基础. 1.String.StringBuilder和StringBuffer的区别 String用于存储不可变字符串的类,Stri ...
- 【Java面试】Java有几种文件拷贝方式,哪一种效率最高?
"Java有几种文件拷贝方式,哪一种效率最高?" 这个问题是京东一面的时候,针对4年经验的同学的一个面试题. 大家好,我是Mic,一个工作了14年的Java程序员. 关于这个问题的 ...
随机推荐
- Win7 64位命令行编译cuda及设置Windows显卡响应时间
在开始菜单中找到Visual Studio 2013 >> Visual Studio Tools 选择86或64版本的VC命令提示符环境,我用的 VS2013 x86 Native To ...
- loadrunner监控linux服务器
参考http://www.cnblogs.com/yangxia-test/archive/2012/11/27/2790771.html http://www.cnblogs.com/candle8 ...
- Java程序,取随机数的两种实现方法
1.随机数的第一种程序(取0-9的整型随机数) public class random_1 { public static void main(String[] args) { Random r=ne ...
- Java:switch语句例子
1.输入一个名次,第1-4名,分别称为冠军.亚军.季军.殿军,5名及5名以上,称为其他名次. import java.util.Scanner; public class switch1 { publ ...
- armv6, armv7, armv7s的区别
ARM是微处理器行业的一家知名企业,arm处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有手机都是使用它的. armv6, armv7, armv7s是ARM CPU的不同指令集,原则上是 ...
- hdu 4982 Goffi and Squary Partition
Goffi and Squary Partition Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Subm ...
- linux ssh config
Host code.engineering.redhat.com HostName code.engineering.redhat.com Port 29418 User jiall ...
- 【转】【Linux】 临界区,互斥量,信号量,事件的区别
原文地址:http://blog.itpub.net/10697500/viewspace-612045/ Linux中 四种进程或线程同步互斥的控制方法1.临界区:通过对多线程的串行化来访问公共资源 ...
- nginx日志格式来分析网站访问速度与瓶颈
参考地址:http://www.ttlsa.com/nginx/nginx-modules-ngx_http_log_request_speed/ 查看nginx 安装模块和配置 /usr/local ...
- 定时自动关闭messagebox
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...