Android学习总结————Java程序设计技巧与开发实例(朱福喜)
2015-01-14 21:01
190 查看
第一部分 记于2013年7月21
1.安卓开发环境的安装
(1)设置相关环境变量
a.JAVA_HOME
D:\Java\jdk1.6.0_29
b.PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;D:\Android\android-sdk-windows\tools;D:\Android\android-sdk-windows\platform-tools
c.CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(2)Eclipse 软件与 Android SDK的绑定
2.调用cmd 命令行调用java
输入:F: 即可进入F盘路径
输入:cd F:\电子实验室\project\例1.6\src
即可进入F:\电子实验室\project\例1.6\src
(1)先调用 javac *.java 文件,没有任何信息显示,代表程序能正常运行
在该目录下生成*.class文件
(2)再调用 java *(直接使用文件名即可)
3. Java 程序设计基本常识
(1)Java 语言区分大小写
(2)自增运算符++,自减运算符--
a.做变量的前缀时,首先变量进行+1或-1运算,然后所得的值在表达式中参与运算
b.做变量的后缀时,变量先参与表达式中的运算,再进行+1或-1运算
c.不管是前缀还是后缀都会对变量自身产生效果
(3)嵌套的if-else-if:仔细分析,避免条件的冗余
(4)switch 语句只能处理 int 和 char 类型的表达式
(5)switch语句与嵌套的 if-else-if 可以相互转换
(6)for 循环 :首先对用于逻辑判断的变量进行初始化,然后进行逻辑判断,若判断结果为真,则执行 for 所包含的代码段,再修改变量,最后又回到逻辑判断。
(7)while 循环
(8)do-while 循环:在每次执行一次 do 所包含的代码段后,逻辑判断一次。故循环体至少被执行一次。
(9)break 与 continue 的区别
(10) name1 == name2
name1,name2为String类型,不是Java提供的基本数据类型,这时==判断字符串的存储位置是否相同
(11)控制符\t 可以对齐输出格式
(12)System.out.flush();//每次输入完文件之后调用一次,防止缓冲区的数据并未读
4.求小于给定数的质数个数
(1) 一个正数如果只能被1和它自己整除,那么该数就是质数
(2) 如果一个数n能被primeCandidate,那么必定存在整数m,使得 n*m = primeCandidate,并且m、n 不会都大于 primeCandidate的算术平方根,因此选择除数时可以选择小于或等于 primeCandidate的算术平方根 的正整数。
(3)如果一个数不能被2整除,则它不能被所有的偶数整除,因此我们只需要用2和其他的奇数来整除该数,从而降低运算量,提高程序的运算效率
分割线
第二部分——记于7月28日
一、成员变量与局部变量
1.一个变量在类中但又不是在方法中被定义,那么这种变量是成员变量。用关键字static修饰的话,那么该类的所有方法都可以直接访问成员变量。
2.定义在方法内的变量叫局部变量。
3.在所有用static定义的方法中也要用关键字static定义成员变量。
二、变量的生命周期:变量在什么地方是有效的。
1.局部变量如果定义在循环体内部,它只在循环体内部有效,在循环体外部就不能访问。
三、利用数组计算复利(编程实例)
(1)计算每年的利息
(2)将每年的利息加入该年的结余
(3)计算平均利息
(4)显示结果
四、1.import java.text.DecimalFormat;调用库函数,十进制格式化工具
DecimalFormat formatTool = new DecimalFormat("#,###.0");
System.out.print("\tInt: " + formatTool.format(interest[i]));
System.out.print("\tAmt: " + formatTool.format(amount[i]));
System.out.println("\tAvg.Int: " + formatTool.format(avg[i]));
2.args 可以不是固定的 只是个局部变量名而已
五、面向对象程序设计的目标:创建抽象的、可以运行的软件对象,这些软件对象就像现实世界的对象一样能够使用和操作。
(1)类:基本结构,包含数据域和操作这些数据的机制。
(2)实例:实例是以类为模板创建的对象
(3)封装性:允许或禁止访问类或对象的数据和成员方法的能力
(4)重载性:允许一个成员方法有多重定义
(5)继承性
(6)多态性
六、构造方法:是类的一种特殊方法,构造方法名与类名相同。它在类实例化对象时被执行,并且没有返回值
七、析构方法:当Java的垃圾回收机制将要释放无用资源的时候,会自动调用析构方法,该方法称为finalize。其语法如下:
protected void finalize()
{/*具体实现*/}
八、封装
public: 公有成员变量、成员方法、类可以被任何类访问
protected:保护成员变量、成员方法只能被类本身、子类和同一包、目录下的所有类访问
private:私有成员变量和成员方法只能被类本身访问
无限定词:没有限定词的成员变量、成员方法或类的类型成为友员类型,它能被类本身以及同一包或目录下的所有类访问
分割线
第三部分——记于2013年8月04日
1.void java.lang.System.gc()
学会使用jdk文档,查看库函数
运行垃圾回收器。调用此方法意味着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制从方法调用中返回时,虚拟机已经尽最大努力回收了所有丢弃的对象。
名称 gc 代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用 gc 方法。
2.隐含地调用超类的构造方法
(1) 当子类被调用的时候,隐含地调用超类的构造方法,此时没有为构造方法输入任何参数,除非在子类的第一行明确地调用超类的构造方法。如果超类没有无参数的构造方法,子类又不明确地调用超类的构造方法,编译器将无法编译子类。
(2)避免隐藏地调用超类的构造方法
a.每个子类都应当明确地调用超类的一个构造方法,而且必须在第1行调用。
b.为每个可能成为超类的类提供一个无参数的构造方法,如果还有其他需要,则重载构造方法
(3)析构方法也应该注意类似的情况
3.成员方法和成员变量的覆盖
如果在子类中重新定义了一个与它的超类完全相同的一个方法(成员变量),子类的将覆盖对应超类中同名的。此时超类中该方法(成员变量)仍可在子类中使用,但要加上关键字super和原点操作符。
4.抽象方法和抽象类:
(1)抽象方法只有方法的声明,但没有方法体。可以使用限定词abstract定义一个方法为抽象类型。拥有抽象方法的类是一个抽象类,它也同样需要限定词abstract来声明。
(2)一个从抽象类扩展而来的类,如果它没有把抽象方法具体化,则它也是一个抽象类。抽象类不能实例化。
(3)在抽象类中声明抽象方法可以迫使子类实现继承而来的抽象方法。
5.最终方法和最终类:最终方法是在派生类中不能被覆盖的方法,最终类是不能被扩展的类。一个类可以含有最终方法用final声明。
6.Java的基类Object
(1)每个类继承object类的方法
(2)每个类既属于它所定义的类型,又属于Object类型
方法能使用超类的实例,就能调用其子类的实例嘛????
7.如何定义一个数组存储各种类型的元素?
答:每个Java类都是由Object扩展而来,因此,所有的类都属于Object类型,故可以通过创建一个Object类型的数组来存储任何类型的对象。 由此可以看出,要在一个数组中存储相关对象,创建一个类作为这些对象的父类,并且定义该数组为父类类型的数组即可。
(每个元素都可在数组中检索到,在instanceof的帮助下能确定其原来的类型)
8.多级继承与多重继承
多级继承:一个超类的子类被另一个类继承。Java支持多级继承。当最低级别的类实例化,每个超类依次被调用,从最高级开始。
多重继承:一个类同时继承多个超类。Java不支持多重继承。
9.接口:
接口是由一些抽象方法和常量所组成的一个集合。接口中的方法都默认为abstract,常量都默认为final。
一个类可通过关键字implements来继承一个或多个接口。
10.成员方法的调用
(1)实例化对象.成员方法
(2)new 类名().成员方法
静态成员方法(用static 修饰):还可以通过 类名.成员方法,类不需要实例化
邮箱:wlwl2812@163.com 微博:[b]http://weibo.com/khanwl[/b]
如有转载,请说明出处:http://blog.csdn.net/u010577125
嵌牛学苑:http://school.2embed.com/
1.安卓开发环境的安装
(1)设置相关环境变量
a.JAVA_HOME
D:\Java\jdk1.6.0_29
b.PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;D:\Android\android-sdk-windows\tools;D:\Android\android-sdk-windows\platform-tools
c.CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(2)Eclipse 软件与 Android SDK的绑定
2.调用cmd 命令行调用java
输入:F: 即可进入F盘路径
输入:cd F:\电子实验室\project\例1.6\src
即可进入F:\电子实验室\project\例1.6\src
(1)先调用 javac *.java 文件,没有任何信息显示,代表程序能正常运行
在该目录下生成*.class文件
(2)再调用 java *(直接使用文件名即可)
3. Java 程序设计基本常识
(1)Java 语言区分大小写
(2)自增运算符++,自减运算符--
a.做变量的前缀时,首先变量进行+1或-1运算,然后所得的值在表达式中参与运算
b.做变量的后缀时,变量先参与表达式中的运算,再进行+1或-1运算
c.不管是前缀还是后缀都会对变量自身产生效果
(3)嵌套的if-else-if:仔细分析,避免条件的冗余
(4)switch 语句只能处理 int 和 char 类型的表达式
(5)switch语句与嵌套的 if-else-if 可以相互转换
(6)for 循环 :首先对用于逻辑判断的变量进行初始化,然后进行逻辑判断,若判断结果为真,则执行 for 所包含的代码段,再修改变量,最后又回到逻辑判断。
(7)while 循环
(8)do-while 循环:在每次执行一次 do 所包含的代码段后,逻辑判断一次。故循环体至少被执行一次。
(9)break 与 continue 的区别
(10) name1 == name2
name1,name2为String类型,不是Java提供的基本数据类型,这时==判断字符串的存储位置是否相同
(11)控制符\t 可以对齐输出格式
(12)System.out.flush();//每次输入完文件之后调用一次,防止缓冲区的数据并未读
4.求小于给定数的质数个数
(1) 一个正数如果只能被1和它自己整除,那么该数就是质数
(2) 如果一个数n能被primeCandidate,那么必定存在整数m,使得 n*m = primeCandidate,并且m、n 不会都大于 primeCandidate的算术平方根,因此选择除数时可以选择小于或等于 primeCandidate的算术平方根 的正整数。
(3)如果一个数不能被2整除,则它不能被所有的偶数整除,因此我们只需要用2和其他的奇数来整除该数,从而降低运算量,提高程序的运算效率
分割线
一、成员变量与局部变量
1.一个变量在类中但又不是在方法中被定义,那么这种变量是成员变量。用关键字static修饰的话,那么该类的所有方法都可以直接访问成员变量。
2.定义在方法内的变量叫局部变量。
3.在所有用static定义的方法中也要用关键字static定义成员变量。
二、变量的生命周期:变量在什么地方是有效的。
1.局部变量如果定义在循环体内部,它只在循环体内部有效,在循环体外部就不能访问。
三、利用数组计算复利(编程实例)
(1)计算每年的利息
(2)将每年的利息加入该年的结余
(3)计算平均利息
(4)显示结果
四、1.import java.text.DecimalFormat;调用库函数,十进制格式化工具
DecimalFormat formatTool = new DecimalFormat("#,###.0");
System.out.print("\tInt: " + formatTool.format(interest[i]));
System.out.print("\tAmt: " + formatTool.format(amount[i]));
System.out.println("\tAvg.Int: " + formatTool.format(avg[i]));
2.args 可以不是固定的 只是个局部变量名而已
五、面向对象程序设计的目标:创建抽象的、可以运行的软件对象,这些软件对象就像现实世界的对象一样能够使用和操作。
(1)类:基本结构,包含数据域和操作这些数据的机制。
(2)实例:实例是以类为模板创建的对象
(3)封装性:允许或禁止访问类或对象的数据和成员方法的能力
(4)重载性:允许一个成员方法有多重定义
(5)继承性
(6)多态性
六、构造方法:是类的一种特殊方法,构造方法名与类名相同。它在类实例化对象时被执行,并且没有返回值
七、析构方法:当Java的垃圾回收机制将要释放无用资源的时候,会自动调用析构方法,该方法称为finalize。其语法如下:
protected void finalize()
{/*具体实现*/}
八、封装
public: 公有成员变量、成员方法、类可以被任何类访问
protected:保护成员变量、成员方法只能被类本身、子类和同一包、目录下的所有类访问
private:私有成员变量和成员方法只能被类本身访问
无限定词:没有限定词的成员变量、成员方法或类的类型成为友员类型,它能被类本身以及同一包或目录下的所有类访问
分割线
1.void java.lang.System.gc()
学会使用jdk文档,查看库函数
运行垃圾回收器。调用此方法意味着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制从方法调用中返回时,虚拟机已经尽最大努力回收了所有丢弃的对象。
名称 gc 代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用 gc 方法。
2.隐含地调用超类的构造方法
(1) 当子类被调用的时候,隐含地调用超类的构造方法,此时没有为构造方法输入任何参数,除非在子类的第一行明确地调用超类的构造方法。如果超类没有无参数的构造方法,子类又不明确地调用超类的构造方法,编译器将无法编译子类。
(2)避免隐藏地调用超类的构造方法
a.每个子类都应当明确地调用超类的一个构造方法,而且必须在第1行调用。
b.为每个可能成为超类的类提供一个无参数的构造方法,如果还有其他需要,则重载构造方法
(3)析构方法也应该注意类似的情况
3.成员方法和成员变量的覆盖
如果在子类中重新定义了一个与它的超类完全相同的一个方法(成员变量),子类的将覆盖对应超类中同名的。此时超类中该方法(成员变量)仍可在子类中使用,但要加上关键字super和原点操作符。
4.抽象方法和抽象类:
(1)抽象方法只有方法的声明,但没有方法体。可以使用限定词abstract定义一个方法为抽象类型。拥有抽象方法的类是一个抽象类,它也同样需要限定词abstract来声明。
(2)一个从抽象类扩展而来的类,如果它没有把抽象方法具体化,则它也是一个抽象类。抽象类不能实例化。
(3)在抽象类中声明抽象方法可以迫使子类实现继承而来的抽象方法。
5.最终方法和最终类:最终方法是在派生类中不能被覆盖的方法,最终类是不能被扩展的类。一个类可以含有最终方法用final声明。
6.Java的基类Object
(1)每个类继承object类的方法
(2)每个类既属于它所定义的类型,又属于Object类型
方法能使用超类的实例,就能调用其子类的实例嘛????
7.如何定义一个数组存储各种类型的元素?
答:每个Java类都是由Object扩展而来,因此,所有的类都属于Object类型,故可以通过创建一个Object类型的数组来存储任何类型的对象。 由此可以看出,要在一个数组中存储相关对象,创建一个类作为这些对象的父类,并且定义该数组为父类类型的数组即可。
(每个元素都可在数组中检索到,在instanceof的帮助下能确定其原来的类型)
8.多级继承与多重继承
多级继承:一个超类的子类被另一个类继承。Java支持多级继承。当最低级别的类实例化,每个超类依次被调用,从最高级开始。
多重继承:一个类同时继承多个超类。Java不支持多重继承。
9.接口:
接口是由一些抽象方法和常量所组成的一个集合。接口中的方法都默认为abstract,常量都默认为final。
一个类可通过关键字implements来继承一个或多个接口。
10.成员方法的调用
(1)实例化对象.成员方法
(2)new 类名().成员方法
静态成员方法(用static 修饰):还可以通过 类名.成员方法,类不需要实例化
邮箱:wlwl2812@163.com 微博:[b]http://weibo.com/khanwl[/b]
如有转载,请说明出处:http://blog.csdn.net/u010577125
嵌牛学苑:http://school.2embed.com/
相关文章推荐
- android学习一:android(java)开发环境搭建和技巧设置
- android学习一:android(java)开发环境搭建和技巧设置
- 我的Java开发学习之旅------>心得总结:Java性能优化技巧集锦
- Java开发工具 JCreator的使用技巧总结
- Logic Java阶段学习总结--猜拳游戏(面向对象实例)
- 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全
- 个人开发总结分享:Android学习及如何利用android来赚钱
- 传智播客java学习--3g开发Android2
- Java开发WebService实例--计数器的学习
- 【转载】JAVA 开发工具Jcreator使用技巧总结
- java学习笔记(一)--编程规范和技巧总结
- JAVA 开发工具Jcreator使用技巧总结 (转)
- ios学习--iphone开发笔记和技巧总结(原址持续更新)
- 黑马程序员Java培训、Android培训_Java 学习过程记录_开发前奏
- (Android开发)学习博客总结
- 【Java开发技术之程序测试】Junit4 新功能学习总结
- Java_WEB开发_struts2学习的总结_Iterate标签遍历
- Android开发学习笔记:Button事件实现方法的总结
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java