什么是Java语言
一种面向对象的语言 编写程序的开始就是编写类的开始 class 用于定义类 一种平台无关的语言,必须程序运行的解释环境 真正的运行步骤为 javac编译--java解释执行 一种健壮【鲁棒性】的语言,吸收了C/C++语言的优点,但是去掉了影响程序健壮性的部分,例如 指针、内存的申请与释放等。 典型的应用场景:互联网环境
常见错误
1、使用临时变量,Java要求必须是先定义后使用,必须是先赋初值后使用 2、目前的要求:将所有的程序都必须写在方法内部,不能写在方法外 int k; Systm.out.println(k);
Java的三种核心机制
Java语言包含三种核心机制:Java 虚拟机、垃圾收集机制和代码安全检测。
Java虚拟机
JVM Java虚拟机可以理解成一个以字节码为机器指令的CPU 对于不同的运行平台,有不同的虚拟机 Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
垃圾收集机制
gc 不再使用内存空间回收——垃圾回收 在C/C++等语言中,由程序员负责回收无用内存 Java语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分 配情况,并在JVM的空闲时检查并释放哪些可被释放的存储空间 垃圾收集在Java程序原型过程中自动运行,程序员无法精确控制和干预
代码安全性检查
Java代码的目标运行环境在于网络,Java以牺牲执行性能为代价换取了高安全性 首先由类加载器classLoader负责将类文件.class加载到Java虚拟机中。通过区分本地文件系统的类 和网络系统导入的类增加安全性,可以限制任何木马程序,因为本机类总是有限被加载,一旦所有 的类都被加载完毕,直线文件的内存就固定了。 其次字节码校验器进行校验。字节码校验器不检查那些可信任的编译器生成的类文件,而是对违背 命名空间规定和java语言规则的类进行检查,并且关闭具有安全性漏洞的类文件 最后字节码校验通过后,才由Java解释器负责将类文件解释成为机器码进行执行
Java中标识符
字母(Unicode编码字符集)、数字、下划线和$符构成,不允许数字打头 严格区分大小写 ISO8859-1 GB2312和GBK【GB8030】 Unicode统一编码字符集 由于_和$有特殊含义,一般不建议用户直接使用 public class ForTest{ int res=0; for(int k=1;k<101;k++){ res+=k; } System.out.println("1+2+3+...+100="+res); } 不建议使用中文命名 不允许使用保留字(goto const)和关键字(public class static…) 长度没有限制
编码规范
类名首字母大写,大写字母分词 建议名词。例如UserName或者MingZi 方法名称首字母小写,大写字母分词 变量名称首字母小写,大写字母分词 包名称全小写,使用域名反转的方式定义 平常练习中遵循SUN的基础规范;项目开发中要求遵循ali发布的规范。进入公司首先考察公司的编码规 范
Java是一种先编译后解释执行型语言
javac Hello.java【源代码文件名称】编译,将源代码转换为虚拟机可以识别的中间性质语言,一般生成 一个同名的后缀为class的文件【二进制文件,字节码文件】,这里就是跨平台的原理 java Hello[类名称,就是源代码中class关键字后面所跟的名称]一般是解释执行字节码文件
Java语法基础
Java大小写敏感。比如HelloWorld和Helloworld是不一样的 包名Package是公司、组织、个人的域名的反转,一般是英文字母。英文字母必须是小写 包名称可以认为是一个名空间 例如蓝鸥的网址为lanou3g.com,定义包名称为com.lanou3g 类名ClassName和方法名称采用驼峰命名法,例如StudentName Java源文件的文件名必须和文件中公共public类名称一样 关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。
Java是一种自由格式的语言
可用任意个空格、制表符、换行符隔开 每个词 System. out. println ( "Counted " + count + " chars." ); 同时也允许将多行代码写在一行上,注意使用分号隔开。所有的语句末尾以分号;收尾 java中空语句 public class Hello { //公共类名称为Hello,则对应的文件名称必须为Hello.java } for(int i=0;i<10;i++)cc++; dd++;
常见的编程错误
目前的要求:将所有的程序都必须写在方法内部,不能写在方法外 使用临时变量,Java要求必须是先定义后使用,必须是先赋初值后使用