2022年Java学习基础知识 .pdf
《2022年Java学习基础知识 .pdf》由会员分享,可在线阅读,更多相关《2022年Java学习基础知识 .pdf(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java 学习基础知识J2SE Java 的标准开发平台。是J2EE 和 J2ME的基础, Core Java开发基于该平台J2EE Java 的企业己开发平台,Java 的主要应用方向,大型系统的开发都是在该平台的完成,Web开发也属于其中的一部分J2ME Java 的微系统开发平台,是一个正在成长的平台,主要用于资源有限的设备上的Java 的开发,如手机,PDA等J2SE:标准开发包J2EE:J2SE标准开发包J2EE开发包运行在服务器上J2ME:J2SE标准开发包的一部分J2ME标准开发包J2ME特定设备开发包机器环境JDK5.0 Java 的环境开发名师归纳总结 精品学习资料 - -
2、- - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 48 页 - - - - - - - - - JDK:Java 开发包,包含JVM (虚拟机)、J2SE基本开发包、实用工具(编译、运行、生成文档等)三部分操作步骤:1、安装 JDK 2、设置环境变量Java_HOME:Java 开发需要的环境变量,值为JDK安装的根目录PATH:系统环境变量,在保留原来的值的基础上增加JDK安装的根目录下的bin 的目录CLASSPATH:Java开发需要的环境变量,当前值为“. ”,表示当前目录如: JD
3、K安装在 C:/j2sdk1.4.2中JAVA_HOME=C:/j2sdk1.4.2 PATH= 原来的值;JAVA_HOME%/bin Windows PATH= 原来的值: $JAVA_HOME/bin UNIX/LINUX CLASSPATH . 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 48 页 - - - - - - - - - 注意:环境变量的值WINDOWS 下大小写无关,UNIXLINUX下大小写敏感在 Windows 中先载入系统
4、变量,在载入用户变量,如果同名会覆盖系统变量Java 的优点:1. 开发效率高(相比C+ )原因:没有指针、代码中不进行内存管理、完全面向对象的语言;由 JVM和垃圾回收机制实现内存管理,代码中只使用new通知 JVM进内存分配, 其他操作全部隐式进行;C+必须考虑对C的向下兼容性,所以语言特性中包含少量过程化内容,而Java没有这个顾虑,能够实现完全面向对象的语言,从而开发中不用考虑任何过程化的思想2. 一处编写,处处运行(跨平台);主要是通过JVM特性和语言本身的特性实现3. 多线程传统的开发语言的多线程是操作系统级的多线程, Java 是唯一实现语言级多线程的操作语言,是实现跨平台的关键
5、语言特性;JVM (虚拟机)实现 Java 代码运行和跨平台特性实现的关键元素可以通过软件或者硬件实现,常用的是软件方式有多个版本, 针对不同的操作系统,上层通过相同的接口和Java 运行代码(字节码bytecode )交互,下层通过不同的接口和具体操作系统交互内部实现类似于一台真正的机器,有独立的内存、寄存器等部件(虚拟实现)垃圾回收机制名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 48 页 - - - - - - - - - 实现对象在内存中的管理
6、和回收管理主要表现在判定哪些对象具备被回收的条件(垃圾)和实现内存碎片整理垃圾对象的判定:没有任何对象的引用指向的对象称为垃圾对象垃圾回收机制启动时,会对所有垃圾对象进行回收垃圾回收底层是通过低优先级的守护线程(系统线程) 实现的, 一般在程序代码运行的间隙启动任何情况下垃圾回收不能强制执行,可以通过System.gc()和 Runtime.gc()促使其执行, 实质上是提高了垃圾回收线程的优先极Java 的执行流程:1. 源代码:文本格式,扩展名为.java 2. 目标代码(字节码):源代码编译后得到,二进制格式,扩展名为.class 特点:和具体操作系统无关,只和JVM有关3.JVM 执行
7、目标代码a、通过类加载器将class文件载入内存名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 48 页 - - - - - - - - - b、使用代码安全校验机制对class文件进行检查c、使用解释器或者即时代码编译器进行执行解释器:对字节码文件进行逐行解释执行即时代码编译器:第一次执行时解释执行,同时将解释后的目标文件(和具体平台有关的二进制文件)存储虚拟机中,之后的执行直接执行该目标文件,不再通过解释器,效率可以大大提高Java 代码的基本单位是
8、类定义格式 : 修饰符 class 类名 .public类的类名和文件名相同源文件中可以包含任意数量的类,但至多只能有一个public类源文件编译后,每个类对应一个class文件,文件名和类名相同源文件中如果没有public类,文件名任意命名*/ public class FirstPro 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 48 页 - - - - - - - - - /* 入口方法,格式固定,JVM执行该类时执行该方法*/ public
9、static void main(String args) System.out.println(Hello First!); class SecondPro public static void main(String args) 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 48 页 - - - - - - - - - System.out.println(Hello Second!); 源代码中包含的一级元素只有package 、 import和
10、 class三种,顺序必须是package 、 import 、class package 只能出现一次,import和 class可以出现多次注释:在源代码中存在,但编译是会被忽略的文本1. 单行注释: / 注释2. 多行注释: /* 注释 */ 或者 /* 注释 */ 单行注释和多行注释的文本内容任意,没有任何格式要求3. 文档注释: /* 注释 */ 有一定的语法格式要求,主要功能是对源代码功能的说明,注释完成后, 与前两种注释在代码中查看的方式不同,是通过javadoc工具将代码注释抽取后生成html 文件进行查看,所有的java标准化文档都是通过这种方式产生的名师归纳总结 精品学习资
11、料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 48 页 - - - - - - - - - 代码语法“;”是唯一表示语句结束的符号所有的空格,包括Tab、换行对代码没有影响特殊关键字1.goto const 是关键字,不能使用在标识符命名中,但没有任何语法意义,称为保留关键字2.truefalse 不是关键字,不能使用在标识符命名中,原因是作为boolean 类型的值使用Java 的数据类型:一、基本数据类型:4 类 8 种1.boolean 只有 true和 false两个
12、有效值,表示是或否2.char 字符类型,表示单个字符,使用 字符 方式表示名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 48 页 - - - - - - - - - 内部使用16 位 unicode (标准化保存方式)方式保存,中英文字符占用相同的空间注意: 字符和字符串在java 中的意义是完全不同的,字符串使用String类型保存, 表示若干个字符序列,是引用类型数据3. 整数类型,包括byte short int long四种byte :8bi
13、t short : 16bit int :32bit 默认类型long :64bit 注意:所有整数类型都是有符号的,用于存储数据的bit数是总 bit数减 1 4. 浮点数类型:包括float和 double 两种float:32byte double :64bit 默认类型注意:所有浮点数类型都是有符号的名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 48 页 - - - - - - - - - 运行结果类型的判定doublefloatlongint
14、shortbyte 通用规则:两个数进行运算时,按照大的类型决定结果类型特殊规则:如果结果类型小于int ,按照 int决定结果类型标识符命名约定1. 类/ 接口 / 其他同级语法元素每个单词首字母大写,其余小写如: Account 、MyAccount 2. 方法 / 属性 / 局部变量除第一个单词外,其余单词首字母大写如: userName、myName 3. 包全部小写如: com.briup.md01 4. 常量全部大写,单词间通过“_”分隔如: MAX_VALUE 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - -
15、 - - - - - - - - - - - - - 第 10 页,共 48 页 - - - - - - - - - 5. 除循环变量使用i 、j 、k 等字母进行命名外,其他变量都应使用有意义的名称二、引用数据类型(对象类型)类( Class ):将对象抽象化得到类,是对象的模板对象 (Object):在问题描述中的名词通常可以使用对象进行描述,对象是具体的引用(对象的引用)引用 (Reference type) (对象的引用):Java不允许直接对对象进行操作,所有对象操作都通过指向对象的引用进行注意:类可以产生任意数量的对象,这些对象之间除了类型相同外,没有任何直接的关系类的成员( Me
16、mber):属性和方法的总称类由三部分组成1. 属性定义在类中,表示类的信息格式:修饰符属性类型属性名称;2. 方法名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 48 页 - - - - - - - - - 表示类的行为3. 构造器用于创建类的对象变量的分类1、局部变量定义在方法或构造器中的变量( 方法和构造器的参数也是局部变量) 生命周期从定义开始,到相应的语法块结束终止没有默认初始值,必须先赋值后使用2、实例变量 ( 属性 ) 定义在类中,表示类
17、的信息生命周期从对象创建开始(new) ,到对象生命周期结束终止( 被垃圾回收 ) 有默认初始值,初始值如下:名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 48 页 - - - - - - - - - 数字类型 (byte 、short 、 int 、long 、float、double) :0 char :/u0000 boolean :false 所有引用类型:null null的含义是该变量没有指向任何的对象,对于值为null的变量,除了输出和
18、执行连接操作外,不能执行任何操作赋值1、一般操作:= 2、复合赋值运算符+=、-= 、*=等,表示运算加赋值如: num+=10;相当于 num=num+10; 自增 / 减: +/- 对于变量本身,+/-执行加 1 和减 1 的操作名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 48 页 - - - - - - - - - 但对于整个表达式,+/-前置和后置的效果是不同的如:int num = 10; int result1 = num+; /后置,
19、先操作后自增int result2 = +num; /前置,先自增后操作相等性判断运算符:=/!= 1、比较基本类型:值相同返回true ,不同返回false 2、比较引用类型:指向相同对象返回true ,不同返回false 如:Teacher t1 = new Teacher(1001, steven, 30, true); Teacher t2 = new Teacher(1001, steven, 30, true); Teacher t3 = t1; System.out.println(t1=t2); /false 名师归纳总结 精品学习资料 - - - - - - - - - -
20、- - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 48 页 - - - - - - - - - System.out.println(t1=t3); /true 赋值转换规则doublefloatlongintshortbyte 1、范围小的值或变量赋值给范围大的变量自然转换2、范围大的值或变量赋值给范围小的变量强制转换如:double d = 100.9; int i = (int)d; 特例1、int数赋值给byte 和 short类型变量时,在不超出类型存储范围的情况下,可以执行自然转换名师归纳总结 精品学习资料
21、- - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 15 页,共 48 页 - - - - - - - - - 如:byte b1 = 100; /正确byte b2 = 128; /错误int num = 100; byte b3 = num; /错误 (num 不是数值,是变量,所以不可以) 2、char 类型在存储中采用的方式和整数类型相同,也可以执行类型转换,和short类型进行转换时,双向赋值都需要强制转换移位操作符1、:右移在高位补入符号位移 1 位相当于执行除以2,不会影响符号位2、
22、:无符号右移在高位补入0 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 16 页,共 48 页 - - - - - - - - - 如果被移位数是负数,则会对符号进行反转,结果不再相当于除以2,使用较少3、:左移在低位补入0 左移 1 位相当于执行乘2,不会破坏符号位100 00000000 00000000 00000000 01100100 Java 使用补码表示负数负数等于正数取反后加1 如: -100 对 100 取反11111111 11111111 1
23、1111111 10011011 加 1 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 17 页,共 48 页 - - - - - - - - - 11111111 11111111 11111111 10011100 ( 100 的补码)八进制表示:0 开头十六进制表示:0X 或 0 x 开头如: 077 0 x4 位操作符:对2 进制位进行操作&:位与,操作的两个位都为1,结果为1,其余都为0 | :位或,操作的两个位都为0,结果为0,其余都为1 :位取反,
24、0=1、1=0,单目运算符:位异或,操作的两个位相同结果为0,不同为1 如:100 01100100 50 00110010 & 00100000 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 18 页,共 48 页 - - - - - - - - - | 01110110 01010110 100 10011011 逻辑操作符操作的对象是boolean 类型,结果也是boolean 类型&:逻辑与,两个操作数都是true ,结果为 true ,其余为false
25、| :逻辑或,两个操作数都是false ,结果为false,其余为 true ! :逻辑非,单目操作符,!true=false,!false=true &:短路逻辑与, 判断逻辑和逻辑与相同,区别在于当左边的操作数为false时将不执行右边的操作| :短路逻辑或,判断逻辑和逻辑或相同,区别在于当左边的操作数为true时将不执行右边的操作程序语言的执行流程1、顺序执行名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 19 页,共 48 页 - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Java学习基础知识 2022 Java 学习 基础知识
限制150内