当前位置:文档之家› java基础总结

java基础总结

第一章初识java一、java语言的历史●第一代java语言:Oak二、java语言的现状⏹Java SE:主要用于桌面程序的开发。

⏹Java EE:主要用于网页程序的开发。

⏹Java ME:主要用于嵌入式系统程序的开发。

(安卓)三、java语言的特点●跨平台(不同的操作系统都可运行)●简单(没有直接使用指针)●面向对象(世间万物皆为对象)●半编译半解释(java文件---class文件----虚拟机)●分布式(多个客户端访问、通过服务器的配置分发到不同的服务器)●健壮(异常的处理)●安全(任何语言都具备、虚拟机沙箱原理)●多线程、高性能、动态四、java语言与C、C++语言的不同与区别●自动内存管理:Java对于内存的分配是动态的,并具有垃圾回收机制。

●不在类外定义全局变量。

●Java中将不再使用goto语句。

●Java中取消了指针。

●运行时系统对类型转换进行类型相容性检查●Java不支持头文件,使用import与其它类通讯。

●Java中不包含结构和联合;所有的内容都封装在类中。

●Java中不支持宏,它通过final 关键字来声明一个常量。

●Java不支持多重继承,可以通过Java中的接口实现多重继承的功能。

●CC++ 一般情况下都是偏硬件的,java一般偏软件(应用、基于浏览器)●(补充).net、php (网页制作比较快捷)、在安全级别要求高的企业一般使用java(银行、政府系统)五、环境的搭建1、默认路径如下●C:\Program Files\Java\jdk1.6.0_02:提供编程中需要的api包●C:\Program Files\Java\jre1.6.0_02:虚拟机文件所在的位置2.安装后各个文件夹代表的含义3.Bin包下:●Javac.exe:编译java文件-------class●Java.exe:运行将class文件加载到虚拟机上运行()代码运行原理:java文件被编译成class文件(二进制字节码的文件),系统会实例化一个虚拟机实例、然后将class 文件加载到虚拟机上,虚拟机会根据底层操作系统的不同把class文件转换成机器码。

4.环境变量●Path:表示当前java 运行api方法所调用的exe在什么文件夹下●JA V A_HOME: jdk所在的路径(%JA VA_HOME%)●Classpath:java文件编译成class文件后class文件存放的位置六、java语言的编码规范●工程、类、包名字不能使用中文或者特殊符号(“”,$ #)●一定不能直接将类文件放在缺省包下●包的名字一定是小写的、类名第一个字母大写,有意义的英文开头字母大写●类名字与文件中class 后面的名字一致●类文件中可以用多个class、只能有一个前面用public ●一个类文件可以有内部类或者匿名内部类●一个类中只能有一个main函数七、注意点●由于在Windows系统中软件默认安装到ProgramFiles文件夹中,这个路径中包含了一个空格,通常建议将JDK安装到没有空格的路径下。

●使用DOS界面操作java文件时,千万要注意扩展名;●使用javac命令编译时文件是有扩展名,而使用java命令时不用写出扩展名●创建java文件时要保证文件名和你命名的类名大小写完全相同第二章java语言基础一、标识符(变量)的书写规范⏹Java语言的标识符由字母、数字、下划线和美元符号组成,第一个字符不能为数字。

⏹Java语言中区分大小写。

⏹标识符不能是Java的关键字与保留字。

⏹Java语言使用Unicode标准字符集,最多可识别65535个字符二、关键字1.关键字有哪些?2.在命名标识符时的注意点虽然const和goto不是java的关键字,但也不能使用。

三、变量3.1 什么是变量?存储信息、传递信息3.2变量怎么写?语法格式:变量类型变量标示符= 值3.3 变量类型(8+2)8=8种基本数据类型2=引用类型+Object类型(是所有类的父类)3.3.1 整型3.3.2 浮点型◆float(=char(‘1’,‘a’)、1.0F、1.9f)◆double(科学计数法)注意点:在对float类型进行赋值时在结尾必须添加‘F’或‘f’,如果不加,系统默认是double类型。

3.3.3 字符型(char 占2个字符,一个汉字也是2个字符)3.3.4 布尔类型在java中布尔类型的值只有true或false3.3.5 引用数据类型(和8种数据类型匹配对应):扩展了基本数据类型的功能int-→Integerchar-> Charactershort ---→Shortbyte---→ Bytelong →Longdouble →Doublefloat →>Floatboolean →BooleanString不是引用数据类型3.3 变量怎么用?◆成员变量:在整个类体都有效◆局部变量:只在方法体中有效注意点:局部变量可与成员变量的名字相同,此时成员变量将被隐藏。

即这个成员变量在此方法中失效。

如果想调用成员变量,需要使用“类名.静态变量”调用。

3.4 变量的规则●变量名必须是一个有效的标识符。

●变量名不能重复。

●应选择有意义的单词作为变量名。

3.5 变量有什么特点?3.5.1 强制转换(高精度的转换成低精度的)3.5.2 double在做加减乘除的时候,如果数值小于1/10、结果是不准确的。

因此使用BigDecimal(大整数类型替代)举例:double a =0.00001;double b = 0.131;BigDecimal a1 = BigDecimal.valueOf(a); BigDecimal a2 = BigDecimal.valueOf(b);System.out.println( a1.add(a2).doubleValu e());3.6 注:1、面试题byte bNum+=1; Xint aNum = 1;X2、++ 算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符(运算符的执行顺序)举例:int a = 3;a=(3+(a++));System.out.println(a);打印:63、断点调试:F6:一行一行跟踪F5:进入某一个函数方法看起底层代码F8:直接跳转到下一个断点4、instanceof:语法判断前一个参数是不是后一种数据类型(引用数据)的实例化对象(需要一个明确的地址)int id =3;Integer id1 = null;System.out.println(id1instanceof Integer);| |变量引用类型四、常量4.1 什么是常量?在程序运行过程中一直不会改变的量称为常量。

4.2 常量怎么写?final 数据类型常量名称[=值]五、运算符5.1 一元运算符自增和自减运算符:‘++’、‘--’逻辑运算符:‘!’(非)5.2 二元运算符赋值运算符:‘=’算术运算符:‘+’、‘-’、‘*’、‘/’(除号)、‘%’(取余)比较运算符:‘>’、‘<’、‘==’、‘>=’、‘<=’、‘>=’、‘!=’逻辑运算符:‘&&’(逻辑与)、‘||’(逻辑或)位运算符:5.3 三元运算符5.4 运算符的优先级注:如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理。

第四章流程控制一、控制语句1.1 控制语句有哪些?●If●For(两种写法)·第一种(常见的那种)·第二种for ( 数据类型变量:循环的值(数组、集合、迭代器))◆do while(do while 至少执行一次)◆switch:(1、case 后面一定要写break;switch()中 int、short、byte、Integer、char可以)1.2 使用循环语句时注意点只有循环条件表达式的值为false时,才能结束循环。

有时,我们想提前中断循环,要实现这一点,只需要在循环语句块中添加break或continue语句1.2.1 循环语句的中断1.3 注:常见面试题举例:1.3.1关于for循环的执行顺序:public class TestControl {public static int b =0;public static void main(String[] args) {for(add(1);add(2);add(3)){add(4); 1->2->4->3->2->4->3->2 }}public static boolean add(int a){b++;System.out.println(a);return b<6;}}第五章数组一、什么是数组?数组是具有相同数据类型的一组数据的集合。

二、怎么写一个数组?变量类型变量名+”[]” =new 变量类型+”[数组大小]”举例:int[] goodArray = new int[6];| | | 保存的是新开辟地址的首地址【0】开辟一个新的地址开辟的新地址数注:数组中每一个地址里都保存一个默认值(int:0 ;char:0;boolean:false;Integer:null)三、数组怎么用?遍历:一般使用for进行查询显示举例:for(int i =0;i<goodArray.length;i++){System.out.println(goodArray[i]);}四、数组有什么特点?1.int a[] = new int[4]; a 放在堆、数组中的每一值信息保存在栈中2.数组创建后立即拥有默认值。

3.索引从0开始。

4.连续分配五、数组的复制六、数组的排序第六章函数一、什么是函数(方法)?一个可以被调用的代码块。

二、函数怎么写?语法:权限访问控制符[修饰] 返回类型(8+2、void:不返回任何信息)函数名(参数。

){函数体[return 返回类型相同的值]}三、函数怎么用?3.1 参数传值专题◆基本数据类型:(每一个作用域下的变量都有自己的一值栈)、结构传值不会随另一个作用域的修改而改变◆引用类型:同上◆String类型:同上◆Object类型:object 其地址一般是保存在堆,传值的时候穿的是当前对象的地址,其他任何对这个地址的操作,都会影响原对象内容◆数组:数组是保存在堆中的,所以在传递过程中,传递的是地址四、函数的注意点第七章类与对象一、什么是类与对象◆类:具有相同行为和属性的一类实体被称为类。

◆对象:类抽象出来的一个实例。

二、类怎么写?三、构造函数3.1构造函数做什么?初始化3.2 什么时候写构造函数?一个类调用另一个类对象的时候与 new 配套使用3.3 构造函数的特点1.具有与类相同的名称2.不含返回值类型3.不能在方法中用return语句返回一个值4.一般访问权限为public5.每一个类在调用的时候默认存在一个没有参数的构造函数、前提是当前类没有其他有参数的构造函数存在6.和继承的关系:1)在任何一个构造函数的第一行默认存在super(),这个会自动调用父类的构造函数注:匿名对象: new FcuntionAction(); 只能使用一次、this表示本类或者当前类。

相关主题