直接将代码用{}的方式包裹起来,俗称代码块,其可以分离作用域,即实现同名变量间不相互干扰。可以用在类体和方法体。方法体中{}包裹起来的代码按照正常流程执行,类体(即方法外部/类内部)中{}包裹起来的代码,在该类被实例化时执行,加static表示静态代码块,在类加载时执行。
专注于为中小企业提供做网站、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业襄汾免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
例如:
package jobs;
public class XXX {
{
int a = 2;
System.out.println(a);
}
static {
int a = 1;
System.out.println(a);
}
public static void main(String[] args) {
new XXX();
{
int a = 3;
System.out.println(a);
}
{
int a = 4;
System.out.println(a);
}
}
}
1、表达不同
源代码是源代码。字节码称为字节码。它是源程序文件生成的类文件,在通过Java编译器后使用扩展名java生成。它的扩展是类。
2、角色是不同的
字节码是包含可执行程序的二进制文件,该可执行程序由一系列操作码/数据对组成。字节码是一种中间代码,它比机器代码更抽象,需要翻译器转换成机器代码的中间代码。无论硬件环境如何,字节码主要用于实现特定的软件操作和软件环境。字节码的实现是通过编译器和虚拟机实现的。
这是我们根据Java语言规范编写的源程序文件,扩展名为java。
3、用法不同
字节码是中间状态(中间代码)的二进制代码(文件)。您需要将解释器转换为机器代码。写入运行操作(WORA)实际上是由字节码实现的。
通常它已经编译,但它与特定的机器代码无关。字节码通常不像源代码那样可读,而是一系列编码数字常量,引用,指令等。
Java 1.02 250个类,主要包括AWT(抽象窗口工具包,用来构建图形用户界面),但运行龟速,bug很多。
Java 1.1 500个类,增加了事件处理,功能更强,更好用。开始受到欢迎,比较适于开发图形界面,但速度依然较慢。
Java 2(版本1.2~1.4) 2300个类
增加了swing和集合框架。有时候可以达到平台原始(native)的速度,可以用来书写正规的企业级应用程序或移动应用程序。有3种版本Micro Edition(J2ME)、Standard Edition(J2SE)以及Enterprise Edition(J2EE)。
Java 5.0(版本1.5及以上) 3500个类,运行速度很快。最重要的版本,推出了很多新特性,比如泛型、枚举、注解、foreach、自动拆装箱等。
Java 6.0 改名为JavaSE、JavaEE、JavaME
注意:学习过程中,主要使用Java 8.0;
C语言是经典的面向过程的编程语言,编程入门一般都学C语言以了解编程以及锻炼逻辑思维能力,在一些跟硬件比较紧密的编程中也经常用到。\x0d\x0a\x0d\x0aC++是在C语言的基础上加入了面向对象的概念,成为混合型面向对象语言,功能强大,但难度也大。\x0d\x0a\x0d\x0aJava是在C++的基础上进行改进的,摒弃了一些C++的不足之处,语法跟C++很像,它是运行在Java虚拟机上,所以可以跨平台,一处编译,到处执行。\x0d\x0a\x0d\x0a编程都是易学难精,哪个都好学,哪个又都不好学。都有很好的发展前景,就看是什么方向了。底层的C、桌面应用程序、游戏等等C++、嵌入式,网页,Java。
那个不是汇编。。。是反编译工具无法识别的字节码(bytecodes,java中间代码),因为无法识别,自然只能直接把字节码打出来给你看了。
你多试几种反编译工具,并不是所有的都会出的,也不是所有的都在同一个地方出。这个取决于反编译工具的作者对字节码的理解。