这篇文章主要讲解了“Java加法运算方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java加法运算方法有哪些”吧!
public class add{ public static void main(String[]args) { int a=10; int b=11; b=a+b; System.out.println(b); } }
(1)ACC_ENUM标志位
首先来看这个,如果定义了枚举类,那么JVM虚拟机就会把access_flags的第二位为1。
(2)ACC_ANNOTATION标志位
看单词的含义ANNOTAION注释,这里就是如果有注解类,KVM就会把access_flags的第三位置为1
(3)ACC_SYNTHETIC标志位
如果不是JVM编译器编译的,是用户自己的就会把第四位置为1。
(4)ACC_ABSTARACT标志位
定义某一个类的时候,JVM会把ACC_ABSTARACT标志位置为1。
(5)ACC_INTERFACE标志位
定义接口的时候,JVM会把ACC_INTERFACE标志位置为1。
(6)ACC_SUPER标志位
对于定义的类,JVM会把ACC_SUPER标志位置为1。
(7)ACC_FINAL标志位
如果类被声明了final类型,如果是,就会把ACC_FINAL标志位置为1。
(8)ACC_PUBLIC标志位
如果类被声明了public类型,JVM就会把ACC_PUBLIC标志位置为1。
javap -v name;
直接查看即可。
这里就不详细介绍,class文件是怎样转换成smali文件的方法了。详细请参考
Android逆向-java代码基础(1)
public class add{ public static void main(String[]args) { float a=1.1f; System.out.println(a+a); } }
add-float/2addr vx,vy #Adds vy to vx.
也就是说把vx和vy的值相加。
其他的语法我们都是见过的,而且在Android逆向-java代码基础(2)中非常详细的讲解过,这里就不赘述了。
.class public Ladd; .super Ljava/lang/Object; .source "add.java".method public constructor <init>()V .registers 1 .prologue .line 1 invoke-direct {p0}, Ljava/lang/Object;-><init>()V return-void.end method .method public static main([Ljava/lang/String;)V .registers 3 .prologue #start const v0,0x3f8ccccd const v1,0x4f8ccccd sget-object v2,Ljava/lang/System;->out:Ljava/io/PrintStream; add-float/2addr v0,v1 invoke-virtual {v2,v0},Ljava/io/PrintStream;->println(F)V return-void.end method
感谢各位的阅读,以上就是“Java加法运算方法有哪些”的内容了,经过本文的学习后,相信大家对Java加法运算方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。