Android学习总结————Java程序设计技巧与开发实例(朱福喜)

本文档详细介绍了Java开发环境的搭建步骤,包括环境变量配置、Eclipse与Android SDK的绑定等;概述了Java的基本语法要点,如条件语句、循环控制及字符串处理等;深入探讨了面向对象的概念,如封装、继承、多态等;并讲解了数组使用技巧、垃圾回收机制及抽象类与接口的设计原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部分   记于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 微博:http://weibo.com/khanwl

                                                                         如有转载,请说明出处:http://blog.youkuaiyun.com/u010577125

                                                                                                 嵌牛学苑:http://school.2embed.com/


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值