操作数

python浓缩(5)数字

大兔子大兔子 提交于 2019-12-09 14:15:13
详细介绍每一种数字类型,适用的各种运算符, 及用于处理数字的内建函数。 5.1 数字类型 数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。 Python 支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。 如何创建数值对象并用其赋值 anInt = 1 如何更新数字对象 通过给数字对象(重新)赋值, 您可以“更新”一个数值对象。实际上你并没有更新该对象的原始数值。因为数值对象是不可改变对象。Python的对象模型与常规对象模型有些不同。更新实际上是生成了一个新的数值对象,并得到它的引用。 在Python 中, 变量更像一个指针指向装变量值的盒子。 对不可改变类型来说, 你无法改变盒子的内容, 但你可以将指针指向一个新盒子。每次将另外的数字赋给变量的时候,实际上创建了一个新的对象并把它赋给变量.(不仅仅是数字,对于所有的不可变类型,都是这么回事) 如何删除数字对象 你无法真正删除一个数值对象, 你仅仅是不再使用它而已。如果你实际上想删除一个数值对象的引用, 使用 del 语句(参见3.5.6 小节)。如果试图使用一个已经被删除的对象引用, 会引发NameError 异常。 del anInt del aLong, aFloat, aComplex 5.2 整型 Python 有几种整数类型。布尔类型是只有两个值的整型

js之运算符(算术运算符)

怎甘沉沦 提交于 2019-12-09 12:50:57
  Javascript中的运算符大多是由标点符号少数由关键字表示。可以根据其操作数的个数进行分类.大多数运算符是一个二元运算符,将两个表达式合成一个比较复杂的表达式。还有需要注意的一点是运算符的优先级,它控制着运算符的执行顺序,优先级高的运算符的执行总是优先于运算符低的运算符。进行以下大致的分类: 一、算术运算符   算术运算符包括一元算术运算符和二元算术运算符两种。   1、一元运算符     一元算术运算符包括一元加法(+)、一元减法(-)、递增(++)和递减(--)。只对一个表达式执行操作,并产生一个新值。   +/-:一元加减运算符     一元加法运算符把操作数转换为数字或者是NaN(用函数Number());     一元减法运算符它会根据需要把操作数转换为数字,然后改变运算结果的符号。      所以可以看出一元的加和一元减运算符主要用于基本的算术运算,也可以用于转换数据类型 <script> var a=25; var b='1.1'; var c=false; var d=1.1; var e=NaN; var f=undefined; a=+a; b=+b; c=+c; d=+d; e=+e; f=+f; a1=-a; b1=-b; c1=-c; d1=-d; e1=-e; f1=-f; console.log(a,b,c,d,e,f);//25 1.1 0

Java字节码简介(Introduction to Java Bytecode)

二次信任 提交于 2019-12-08 14:11:29
本文为译文,原链接地址 Introduction to Java Bytecode ,首先感谢原文作者。 跟随本篇文章深入研究JVM内部结构和java字节码,你将会知道如何分解你的文件进行深入检查。 对于一个经验丰富的开发人员阅读java字节码也是非常枯燥的事情。首先我们要弄清楚我们为什么需要知道如此底层的东西?上周有一个能应用简单的场景:很早以前我作了代码修改,编译至jar包中并部署到服务测试一个潜在的性能问题。不幸的是修改的代码从未保存在版本控制系统,无论什么原因,本地修改的代码已消失的无影无踪。在几个月后,我再次需要原格式的修改的代码,但我已找不到了! 幸好编译后的代码还保存在服务器上,长舒一口气,我获取服务器的JAR并使用反编译工具打开。。唯一的问题:反编译工具GUI不是完美的,JAR中的许多类,只有我想反编译的那个特定类,UI打开时引起了bug,反编译器直接崩溃了! 绝望时孤注一掷,还好我属性原字节码,我宁愿再花些时间手动反编译一些代码而不去完成代码,再去测试它们。至少我还记得去哪儿查看代码,读字节码帮助我精确的找出修改的地方,把它们转换成源代码格式。 一旦你学会了字节码的语法,它可以应用到所有支持java的平台上——因为它是代码的中间的表现,不是最终通过底层cpu执行的代码。而且由于JVM结构相当的简单,字节码也比机器码简单,因此也是简化的指令集合

Java Day3

馋奶兔 提交于 2019-12-08 05:17:00
Java Day3 1.关于Java文件的命名: 2.基础知识学习——运算符和表达式 2.1算数运算符和算术表达式 用于+,-,*,/ 双目:5个,除法运算—整数相除,结果取整。 单目:自增++,自减–,负-。 例题练手: 2.2关系运算符和条件运算符 关系运算符用于比较数据大小,结果是boolean型,即为true 或false。 例题:新建String类型的两个变量为s,t,他们的内容相同,但“s t”的输出结果为false。 解释:“ ”字符串用于判断字符串时并非比较两个字符串的内容,而是比较这两个对象是否出自同一个引用。 条件运算符: ?:(三目运算符) 表达式1?表达式2:表达式3 解释:若表达式1的结果为真,则返回表达式2的结果,否则返回表达式3的结果。 2.3逻辑运算符与逻辑表达式 逻辑运算符用于判断组合条件是否成立,有4个: &&条件与, ||条件或, !非, ^异或(两个值相同时取false,两个值不同时取true) 2.4位运算符与表达式 位运算符是对整数类型的操作数按照二进制的位进行运算,结果仍未整数类型。包括: ~位反(0取反位1,1取反为0)、 &位与(两个操作数相应位置上的值进行与运算)、|位或(两个操作数相应位置上的值进行或运算)、^位异或、 <<左移位(a<<b,a向左移动b位,空位补0)、>> 右移位(右移,空位补符号位,正数补0,负数补1)、

JVM

自闭症网瘾萝莉.ら 提交于 2019-12-07 21:43:16
一、JVM一些基本概念 1、JVM和普通虚拟机 JVM:Java Virtual Machine,程序自己独立的运行环境;堆栈、寄存器、字节码指令;可以运行多种语言:Java、Scala、Grovvy; 普通虚拟机:能完整提供虚拟主机的PC,必须安装操作系统,以CPU指令运行。例如VMWare、Visual Box 2、JVM/JDK/JRE关系 JVM :(Java Virtual Machine),只认识 class文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心。 JRE :(Java Runtime Environment),Java 运行时环境。它主要包含 jvm 的标准实现和 Java 的一些基本类库。JRE = JVM + Java 类库。 JDK :(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。 显然,这三者的关系是:一层层的嵌套关系 JDK>JRE>JVM 3、JVM产品有哪些 HotSpot、Jrockit、J9 4、为什么会出现JVM Java程序编译后的文件是*.class文件,*

JVM

为君一笑 提交于 2019-12-07 21:38:30
一、JVM一些基本概念 1、JVM和普通虚拟机 JVM:Java Virtual Machine,程序自己独立的运行环境;堆栈、寄存器、字节码指令;可以运行多种语言:Java、Scala、Grovvy; 普通虚拟机:能完整提供虚拟主机的PC,必须安装操作系统,以CPU指令运行。例如VMWare、Visual Box 2、JVM/JDK/JRE关系 JVM :(Java Virtual Machine),只认识 class文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心。 JRE :(Java Runtime Environment),Java 运行时环境。它主要包含 jvm 的标准实现和 Java 的一些基本类库。JRE = JVM + Java 类库。 JDK :(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。 显然,这三者的关系是:一层层的嵌套关系 JDK>JRE>JVM 3、JVM产品有哪些 HotSpot、Jrockit、J9 4、为什么会出现JVM Java程序编译后的文件是*.class文件,*

计算机系统基础(一):程序的表示、转换和链接---第一周

做~自己de王妃 提交于 2019-12-07 18:20:36
1.以下有关冯.诺依曼结构思想的叙述中,错误的是( )。 A.程序由指令构成,计算机能自动执行程序中一条一条指令 B.计算机内部以二进制形式表示指令和数据 C.计算机由运算器、存储器、控制器和I/O设备组成 D.指令和数据都放在存储器中,两者在形式上有差别 2.以下有关指令以及指令执行过程的叙述中,错误的是( )。 A.指令中指定的操作数只能是存放在存储器中的数据 B.将要执行的下条指令的地址总是在程序计数器PC中 C.指令由操作码和操作数或操作数的地址码构成 D.CPU中的控制器对指令操作码进行译码 3.以下有关编程语言的叙述中,错误的是( )。 A.用高级编程语言编写程序比用汇编语言更方便 B.计算机不能直接执行高级语言程序和汇编语言程序 C.汇编语言和机器语言都与计算机系统结构相关 D.不能直接用机器语言(机器指令)编写程序 4.以下有关机器指令和汇编指令的叙述中,错误的是( )。 A.机器指令和汇编指令一一对应,功能相同 B.机器指令和汇编指令都能被计算机直接执行 C.汇编指令中用符号表示操作码和地址码 D.汇编指令中用十进制或十六进制表示立即数 5.以下有关使用高级编程语言编写和开发软件的叙述中,错误的是( )。 A.须程序员在应用程序中直接控制外设进行输入/输出 B.须有一个翻译或转换程序,即编译器或解释器 C.须有程序员与计算机交互的用户接口,即GUI或CUI D

JVM

大兔子大兔子 提交于 2019-12-07 12:52:28
一、JVM一些基本概念 1、JVM和普通虚拟机 JVM:Java Virtual Machine,程序自己独立的运行环境;堆栈、寄存器、字节码指令;可以运行多种语言:Java、Scala、Grovvy; 普通虚拟机:能完整提供虚拟主机的PC,必须安装操作系统,以CPU指令运行。例如VMWare、Visual Box 2、JVM/JDK/JRE关系 JVM :(Java Virtual Machine),只认识 class文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心。 JRE :(Java Runtime Environment),Java 运行时环境。它主要包含 jvm 的标准实现和 Java 的一些基本类库。JRE = JVM + Java 类库。 JDK :(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。 显然,这三者的关系是:一层层的嵌套关系 JDK>JRE>JVM 3、JVM产品有哪些 HotSpot、Jrockit、J9 4、为什么会出现JVM Java程序编译后的文件是*.class文件,*

java基础总结-运算符

梦想的初衷 提交于 2019-12-06 13:09:38
【变量的赋值与计算都离不开表达式,表达式的运算依赖于变量、常量和运算符。本节课讨论Java的表达式的构成、常量的定义、运算符的分类及应用。通过本课的学习你将掌握运用表达式和运算符完成变量赋值、条件判断、数学运算、逻辑运算等功能操作】 在讲述课程内容之前,先看一个求圆面积的问题。求圆面积的公式为; 其中S为圆面积,π为圆周率,r为半径。 假设用程序来计算圆的面积,S、π、r均为变量,省略的乘号为运算符,r的2次方可以描述为r*r。则上面的公式即为求圆面积的表达式。 结合上面的案例,本节课程分为三个小节,第一小节探讨不能修改的变量—常量;第二小节探讨表达式的组成结构及运用;第三小节探讨Java的基本运算符,包括赋值运算符、算术运算符、关系运算符和逻辑运算符。 第一小节 不能修改的变量——常量 在求圆面积的表达式中,π为圆周率,它是一个不变的量,在程序运行过程中不能被修改。常量同变量一样,也占用存储单元的空间。常量的不可修改性提高了程序的稳定性,同时也提高了程序代码的可维护性。例如,可以把π定义为常量,当程序需要π参与运算时,直接调用定义的常量π即可。 在java语言中,定义常量的语法如下: final 数据类型 常量名称 = 值; 其中,final是Java关键字,数据类型可以是Java语言支持的任何数据类型。 例如,下面的语句把圆周率定义为常量: final double Pl =

Dart编程运算符

笑着哭i 提交于 2019-12-06 12:05:32
表达式是一种特殊类型的语句,它计算为一个值。每个表达都由 操作数 - 表示数据 运算符 - 定义如何处理操作数以生成值。 考虑以下表达式 2 + 3 。在该表达式中, 2 和 3 是操作数,符号 + (加号)是 运算符 。 在本章中,我们将讨论Dart中可用的运算符。 算术运算符 相等和关系运算符 类型测试运算符 按位运算符 赋值运算符 逻辑运算符 算术运算符 下表显示了Dart支持的算术运算符。 序号 运算符和意义 1 + 加 2 - 减去 3 -expr 一元减号,也称为否定(反转表达式的符号) 4 * 乘 5 / 除 6 〜/ 除以,返回整数结果 7 % 获取整数除法的余数(模数) 8 ++ 增量 9 -- 递减 算术运算符实例 void main() { var num1 = 101; var num2 = 2; var res = 0; res = num1+num2; print("Addition: ${res}"); res = num1-num2; print("Subtraction: ${res}"); res = num1*num2; print("Multiplication: ${res}"); res = num1/num2; print("Division: ${res}"); res = num1~/num2; print("Division