Java面向对象编程-笔记

Written by joky on 三月 17th, 2012. Posted in Java

Written by joky 转载请注明出处

→ 代码编写规范:
(1)规范要求类名必须用public修饰!
(2)一行只写一条语句。
(3)用{}括起来的部分通常表示程序的某一层次结构,
“{” 一般放在这一结构开始行的最末,
“}” 与该结构的第一个字母对其,并独占一行。
(4)低一层次的语句或注释应该比高一层次的语句或注释缩进若干格后书写(一般情况下缩 进一个TAB键 – 4个空格),
使程序更加清晰,增加程序的可读性。

→ 常见问题
① Public修饰的类的名称必须与Java文件同名;
② main方法中的void不可少;
③ Java对大小写敏感;
④ 在Java中,一个完整的语句都要以”;”结束;
⑤ 输出的字符串必须用引号引起来,而且必须是英文的引号

→ 变量名命名规则
① 变量可以包括数字,但不能以数字开头;
② 变量必须以字母 下划线”_”或”$”符号开头;
③ 除了”_”或”$”符号以外,变量名不能包含任何特殊字符;
④ 不能使用Java语言的关键字,比如:int,class,public等;

→ 程序调试主要方法
程序调试是帮助我们解决程序错误的工具和方法的总称
主要方法包括:设置断点,单步执行,观察变量
通过调试解决程序问题的步骤如下:
→ 分析出错位置,设置断点
→ 启动调试单步执行
→ 观察变量
→ 发现问题
→ 修正代码,重新运行
→ 解决问题

→ 循环语句总结
① 循环结构由循环条件和循环操作构成,只要满足循环条件,循环操作就会反复执行
② 编写循环结构程序的不真实:分析循环条件和循环操作,套用语法写出代码,检查循环是否成了死循环
③ 编写循环结构代码时注意:循环变量的初始,循环操作中队循环变量值的改变和循环条件三者的关系
确保循环次数的正确,确保不要写成死循环
④ while循环的特点是先判断,后执行,do-while循环的特点是先执行,后判断
⑤ 拆半循环,循环条件永远为真,当满足停止某个条件时,使用break跳出循环;

→ 控制流语句总结
分支语句:分支语句根据表达式和变量的不同状态选择不同的分支
实现:if
if – else
if – else if – else
switch
循环语句:循环语句使程序重复执行某个程序块或语句
实现:while
do – while
for
跳转语句:跳转语句允许程序跳跃执行
实现:break
continue

→ for循环的语法格式
for(参数初始化;条件判断;参数值改变)
{ // 循环体内容 }
→ 在循环中,结束和终止循环的执行,可以使用break和continue
→ break 是跳出循环,执行循环体外的语句
→ continue 是终止本次循环,进入下一次循环

→ 类:
类是具有相同属性和共同行为的一组对象的集合
类定义了对象将会拥有的特征(属性)和行为(方法)

→ 类的属性:
对象或实体所拥有的特征在类中表示时称为类的属性

→ 类的方法
对象执行的操作称为类的方法

→ 命名类时要遵守的规则
(1)不能使用Java关键字
(2)不能包含任何嵌入的空格或点号”.”以及除下划线”_” “$” 字符之外的特殊字符
(3)不能以数字开头

→ 规范
① 每个单词首字母大写
② 应该使自己的类名简洁而富于描述,使用完整单词,避免使用缩略词

→ Java类模板
Public class {
//定义属性部分
属性1的类型 属性1;
属性2的类型 属性2;
……
属性3的类型 属性3;
//定义方法部分
方法1;
方法2;
……
方法3;
}

→ 定义一个类的步骤
→ 1.定义类名
编写类的最外层框架.
Public class 类名{
//程序体
}

→ 2.编写类的属性
我们通过在类的主体中定义变量来描述类所具有的特征(属性),在这里声明的变量称为类的成员变量.

→ 3.编写类的方法
类的方法描述了类所具有的行为,是类的方法成员.我们可以简单地把方法理解为独立完成某个功能的单元模块.

→ toString() 方法
Public String toString(){
return 自定义字符串; //方法体
}
→ 如何创建和使用对象
→ 创建对象的语法
类名 对象名 = new 类名();
e.g. School center = new School();

在Java中要引用对象的属性和方法,需要使用点操作符”.”来访问,对象名在圆点左边,而属性或方法的名称在圆点右边
→ 语法
对象名.属性 //引用对象的属性
对象名.方法名() //引用对象的方法
e.g. center.name = “joky”; //赋值
center.toString(); //调用类的方法

→ 使用类的步骤
① 定义类
② 创建类的对象
③ 访问对象的属性和方法
→ Java数据类型默认值
类型 默认值
int 0
double 0.0
char ‘\u0000′
boolean false
String null

→ 规范
一个Java源文件存储一个Java类.
→ 总结
→ 对象就是存在的具体实体,具有明确的状态和行为
→ 类是具有相同属性和共同行为的一组对象的集合,对象或实体所拥有的特征在类中表示时称为类的属性,
对象执行的操作称为类的方法.
→ 对象的行为和属性被共同封装在类中,不可分割.

→ 面向对象程序设计的有点:
(1) 便于在计算机程序中用类似的软件对象模拟现实世界中的实体
(2) 隐藏信息
(3) 增加重用性

→ 使用类的步骤
(1) 定义类:使用关键字 class
(2) 创建类的对象:使用关键字 new
(3) 使用类的属性和方法:使用点运算符”.”

→ Java中的数据类型分为两类:基本数据类型和引用数据类型
→ 定义类
类的方法必须包括以下3个部分
(1) 方法的名称
(2) 方法返回的值
(3) 方法的主体
→ 语法
Public 返回值的类型 方法名(){
// 方法的主体
}

→ 注意
(1) 由一对大括号括起来的语句是方法体,它包含一段程序代码,执行时完成一定的工作.
(2) 方法名主要用于调用这个方法时用,命名方法想命名变量、类一样,要遵守一定的规则。
具体如下:
→ 必须以字母、下划线”_”或”&”开头
→ 可以包括数字,但不能以数字开头
(3) 方法完成某个功能,并且可能在执行完后返回一个结果,在方法的主体内,如果方法具有返回类型,
则必须使用关键字return返回值
→ 语法
return 表达式;
→ 规范
通常方法名是一个动词,如果由两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写

→ 方法调用
语法
对象名.方法名();

方法可以相互调用
方法之多可以返回一个值,不能返回多个值

→ 变量作用域及常见错误
→ 在类中定义的变量称为类的成员变量
→ 在方法中定义的变量为局部变量
→ 成员变量:类里面定义的方法可以直接使用该类定义的成员变量,如果别的类的方法要访问它
必须首先创建该类的对象,然后才能通过点运算符来引用.
→ 局部变量:它的作用域仅仅在定义该变量的方法内,因此只有在这个方法中使用它
→ 成员变量 与 局部变量 的差别
(1) 作用域不同
(2) 初始值不同:对于成员变量,如果在类定义中没有给它赋予初始值,Java会给它一个默认值,
但是Java不会给局部变量赋予初始值,因此在使用一个局部变量之前必须给它赋值,即先声明并赋值后只用。
→ 在for循环、while循环、do-while循环、if块、switch块中定义的变量,作用域仅仅在这些控制语句块内
→ 包 (package)
包主要有以下3个方面的作用
(1) 包允许将类组合成较小的单元(类似文件夹),使易于找到和使用相应的类文件
(2) 防止命名冲突
(3) 包允许在更广的范围内保护类,数据和方法。可以再包内定义类,根据规则,包外的代码有可能不能访问该类
→ 创建包
要创建一个包(package),只要包含一个package命令作为一个Java源文件的第一条语句就可以了
→ 语法
Package 包名;
Package 是关键字,包的声明必须是Java源文件中的第一条非注释性语句,而且一个源文件只能有一个包声明语句
→ 规范
(1) Java包的名字通常由小写字母组成,不能以圆点开头或结尾
(2) 一个唯一的包名的前缀通常是全部小写的ASCII字母并且是一个顶级域名,com,edu,gov,net及org,
通常使用组织的网路域名的逆序。
例如:如果域名为 javagroup.net ,我们可以声明包围
Package net.javagroup.mypackage;
(3) 包名的后续部分依不同机构各自内部的规范不同而不同,这类命名可能以特定目录名的组成来区分部门,项目,
机器或注册名.
例如:
Package net.javagroup.research.powerproject;
部门名 项目名
→ 包与目录的关系
在Java中,包被设计与文件系统想对应.事实上,Java中的每个包都对应于文件系统中同名的子目录,包的嵌套反应
了文件系统中的目录层次
→ 导入包
要使用不在同一个包中的类,需要将包显式地包括在Java程序中,在Java中,使用关键字 import 告知编译器所要
使用的类位于哪一个包中,这个过程称为导入包.
语法:
import 包名.类名 ;
import 包名.* ;
import语句要在类定义之前
→ 小结
声明包的含义是:声明当前类所在的位置.
导入包的含义是:声明在当前类中药使用到的别的类所处的位置.
→ JavaDoc注释
语法规则
→ JavaDoc注释以”/**”开头,以”*/”结尾.
→ 每个注释包含一些描述性的文本及若干个JavaDoc标签.
→ JavaDoc标签一般以”@”为前缀,常用的又:
@author: 用于标明开发该类模块的作者
@version: 用于标明该类模块的版本
@return: 用于描述方法的返回值
@param: 用于描述方法中的参数

你必须非常努力,才能看起来毫不费力

Written by joky on 三月 12th, 2012. Posted in 心语

 
原文链接:http://www.douban.com/group/topic/21677906/

有一个很浪漫的故事

     有一群人,他们积极自律,每天按计划行事,有条不紊;他们不张扬,把自己当成最卑微的小草,等待着人生开出花朵的那天。他们早晨5点多起来健身,你在睡觉;7点开始享受丰盛的早餐,蛋白质维生素淀粉粗纤维样样俱全,为新的一天起了一个好头,当他们收拾妥当准备开始一整天的工作时,你还在睡觉;他们用上午的高效时间完成了一个又一个任务,甚至发现的新的商机,发现了有可能给人生带来改观的机遇,当午餐时间临近,他们伸了伸腰,准备稍作休息,此时你终于起床。他们的午餐不铺张浪费,却营养全面,他们有选择的进食,因为清楚的知道自己想要的是什么,而你也在起床之后但觉到了饿意,你早早的洗了把脸,甚至连牙都没刷,打开冰箱,拿出了昨晚跟朋友high过之后带回来的薯条以及可乐;午睡之后,他们重新积极的投入工作,而你也终于吃饱喝足,坐在了电脑前。是的,你的一天开始了。晚上回到家里,他们也打开了电脑,也许是为了完成白天没来得及做完的工作,也许是因为前两天刚报了一个网络课堂,此时你还沉浸在dota中,你发的贴子还不够有人气,你发现空老师又更新微薄了,电视剧里男女猪脚还没有最后在一起,作恶多端的女二号还没有得到应有的报应。终于,22点到了,他们停下了工作,或许去满满的书架上拿下了一本书,或许拿起了自己心爱的乐器打算练练手,或许已经上床睡觉。当然,睡之前他们会想一想,自己在这一天都做了什么,有什么收获,又有什么教训。最后,他们又重新提醒了一下自己那个埋在内心深处的梦想,然后满意的睡去了。此时的你还在等待升级,还在顶贴子,还在刷微薄,还在为了男一号女一号哭哭啼啼,你的一天才刚刚开始精彩。后半夜,你隐约感到了困意,依依不舍的关掉了电脑,身上已经很臭,你却懒得去洗一个澡。你走向了乱糟糟的床,钻进了肮脏的被窝,掏出了手机——是的,爪机党伤不起。

    你隐约知道自己的身边有那么一群“他们”,可是你却没有办法实实在在的感受到他们的存在。直到有一天,你和“他/她”终于浪漫的相见了——他/她是老总,你是普通的打工仔;他/她是主任,你是弱爆了的小职员;他/她游历各国,念着你想念的大学,拍着你想拍的照片,过着你想过的生活,他/她各种恣意的小清新,而你,是的,我知道你恨小清新,可是这又有什么关系?事实已经如此,你就是那个电脑荧光照射下的SB。

如果你再不改变的话。

 

 

 

 

 

Litestep 汉化 小白鼠测试版

Written by joky on 二月 4th, 2012. Posted in 心语

 

Litestep 小白鼠测试版 下载链接:http://115.com/file/c2b6skz7#LOSI-0.4.5.exe

已发现的问题,在windows 7 SP1下 点击右键菜单中的“关机”会导致litestep崩溃。

Litestep QQ交流群 :181196365

Rainmeter 2.2 Release

Written by joky on 一月 31st, 2012. Posted in 心语

 

期待已久的Rainmeter2.2版本终于发布了,这一版本与2.1相比在性能上没有太大的改进。该版本的一大亮点是支持了语言本地化,之前由于Rainmeter操作界面是英文,很多国人用起来很不方便。Rainmeter开发团队于1月8日发布了Rainmeter2.2正式版,该版本共包含了35个不同国家和地区的操作界面语言,其中就包括简体中文。用户可以在安装时选择安装语言,也可以在安装后,在Rainmeter管理器中随时修改操作界面语言。