标题:[原创]课堂笔记学习java(初级)
只看楼主
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
 问题点数:0 回复次数:170 
[原创]课堂笔记学习java(初级)

见于此版是有关Java语言基础的版面,偶这学期专业课开始学习java,希望通过此贴把偶的课堂笔记与大家分享,与初学者共同从零学起,还请各位高手随时指点,引导大家把基础打好,谢谢

. 现在每周两节课,偶会随时更新的,因为板书很多,有些精彩的描述都是口述的,所以下面的笔记并不是很规范.

-------------------------------------------------------------------------------

2楼: 第一节课: Java 入门起步

9楼: 第二节课: 标识符 关键字及数据类型

17楼: 第三节课: 类和对象

25楼: 第四节课: static的用法和包

45第五节课: 继承与访问权限

52第六节课: 多态与抽象类

73第七节课: 接口

82第八节课:
一些重要的类(内部类, 匿名类, 异常类, Class类, 基本数据类型类等)

103第九节课:
字符串
--------------------------------------------------------------------------------
如果在网上翻的不方便,提供给大家偶写的手稿下载:

4mlsea7G.txt (75.13 KB) [原创]课堂笔记学习java(初级)

(更新日期为第九节课<2006.11.27>)




[此贴子已经被作者于2006-11-27 10:41:44编辑过]



bM9UQPVH.txt (25.29 KB) [原创]课堂笔记学习java(初级)



L38sE7F5.txt (36.2 KB) [原创]课堂笔记学习java(初级)



UnEhrEV2.txt (45.73 KB) [原创]课堂笔记学习java(初级)

搜索更多相关主题的帖子: java 笔记 课堂 初级 
2006-09-12 13:34
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
得分:0 

第一节课:

1. java 语言的诞生和特点(一般的教材都会有很详细的叙述,略)

2. java 学习的起步
(1)Sun公司要实现“编写一次,到处运行”(Write once,run anywhere)的目标,必须提供相应的Java运行平台,目前Java运行平台主要分为3个版本:J2SE(标准平台),J2EE(企业平台),J2ME(移动平台)

(2)学习Java必须从J2SE开始,当然得从了解在标准平台(J2SE)上是如何开发程序开始.

a.首先从源文件(以.java结尾的文件)开始----经过java编译器(javac.exe)编译----生成字节码文件----根据内文件的本质再可以再产生两种文件:java应用 程序(application) 和 java小应用程序(applet);应用程序是由于java解释器(java.exe)执行,小应用程序是由浏览器执行(如IE)

b.提到的编译器或解释器是哪来的呢?应该知道无论哪种语言的程序执行都有自身的运行环境,java语言是由SDK(software development kit也可叫jdk)平台支持,其提供了java虚拟机JVE(java virtual environment),包含运行环境和类加载器;还提供java编译器(javac.exe)和java解释器(java.exe)

c.目前Sun公司已发布了SDK的1.5
下载地址:[URL=http://www.javaresearch.org/members/jross/jdk/jdk-1_5_0-windows-i586.exe]http://www.javaresearch.org/members/jross/jdk/jdk-1_5_0-windows-i586.exe[/URL]
如果你使用的windows NT(2000,xp等)操作系统,安装完SDK后还应该正确配置系统的环境变量
如果安装路径是c:\java\里,可如下配置,右键单击我的电脑->属性->高级->环境变量,然后选择系统变量里的"新建" 设置变量名为path 变量值为
c:\java\jdk1.5\bin; 确定,再选择"新建"设置变量名为classpath 变量值为c:\java\jdk1.5\jre\lib\rt.jar; 确定则配置完毕(一个是配置JVM运行
环境,一个是配置类路径)

(3)java开发的过程和运行环境都明白了之后可以先简单的编写一个程序来运行
a.应用程序:
(a)打开记事本输入

 public class Hello
{
public static void main (String args[ ])
{
System.out.println(\"你好,很高兴学习Java\");
}
}

保存为Hello.java(注意保存的名字必须是和主类的名字一样(包括大小写),所谓主类就是包含main方法的类)

(b).按住"窗口+R"组合键打开运行窗口输入cmd进入dos界面转换盘符到刚刚java文件保存路径(例如保存在D盘,输入 D: 回车 )然有执行命令
javac Hello.java 回车.这时会发现在和Hello.java同一个文件夹下生成了Hello.class 字节码文件,因为上面是一个应用程序的格式所以可以通过
java解释器来生成应用程序.继续输入java Hello 回车.屏幕会显示"你好,很高兴学习Java"

b.小应用程序
(a)打开记事本输入

  import java.applet.*; 
import java.awt.*;
public class Boy extends Applet //entends代表Boy继承了小应用程序Applet类
{
public void paint(Graphics g)
{ g.setColor(Color.red);
g.drawString(\"我一边喝着咖啡,一边学Java呢\",5,30);
g.setColor(Color.blue);
g.drawString(\"我学得很认真\",10,50);
}
}


保存为Boy.java
(b)操作同理到生成Boy.class文件,应为程序的可是可以看出是属于小应用程序的,所以必须在浏览器中执行,众所周知浏览器只能加载网页文件(如html,xml,asp,php等 )所以要把boy.class下载网页文件中,新打开一个记事本,输入
 <html>
<applet code=Boy.class width=100, height=100></applet>
</html>

保存为以.html结尾的文件(注意上述的.java或.class或.html文件都是在一个目录下),然后打开此网页文件即可预览


总结:第一节课主要简单的介绍了java的产生背景及其特点,并且从运行原理上引导大家来如何编写并运行java程序

[此贴子已经被作者于2006-9-12 13:45:03编辑过]


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-12 13:37
yzhypieceqjm
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-8-10
得分:0 
有点意思
2006-09-12 18:56
注册麻烦
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-9-13
得分:0 

我昨天开始上课的
希望楼主可以天天发贴

这几个看起来还是比较简单的

[此贴子已经被作者于2006-9-13 8:09:55编辑过]

2006-09-13 08:08
冰山一角
Rank: 1
等 级:新手上路
帖 子:385
专家分:0
注 册:2006-9-5
得分:0 
楼主真是个热心人。

做程序员太乏味?来这里www..cn试试吧,你肯定能找到乐趣!
2006-09-13 13:32
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
得分:0 
就凭这认真劲,顶!

2006-09-13 20:18
忧伤的飞鸟
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-4-11
得分:0 
    觉得实在是很有用哦!

天天想钱,天天想赚到钱,但现在都还没钱~~
2006-09-15 13:25
fancyboy5150
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-8
得分:0 
好贴
2006-09-15 15:19
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
得分:0 

第二节课

标识符 关键字及数据类型

1.标识符: 用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列.
特点:java语言规定标识符由字母,下划线,美元符号和数字组成,并且第一个字符不能是数字字符.
java语言使用unicode标准字符集其包含65536个字符,比C和C++所使用的ASCII码多很多.

2.关键字:编程语言中已经被赋予特定意义的一些单词,不能把这类词作为名字来用,具体的关键字书上列举的很全,略.


3.数据类型

逻辑类型: boolean 用ture(真)和false(假)来赋值,没有赋值默认情况时表示false

整数类型:

(1) int型变量,内存分配4个字节的空间,即32位的空间,所以可以表示-2^31到2^31-1的整数,例如int x=10;

(2) byte型变量,内存分配1个字节的空间,范围从-2^7到2^7-1,例如byte x=127

(3) short型变量,内存分配2个字节的空间,范围从-2^15到2^15-1,例如short x=1000

(4) long型变量,内存分配8个字节的空间,范围从-2^63到2^63-1,例如long x=700000;


字符类型:

(1)常量:java使用unicode字符集,所以字符表中的每个字符都是一个字符常量,用单引号括上,例如'A','你','あ'
注意有些字符不能通过键盘直接输入到字符串中或程序中,这时就需要转意字符常量,例如:'\n'(换行),'\b'(退格),'\''(单引号)等等.

(2)变量:通过关键字char来定义字符变量
char型变量,内存分配2个字节的空间,因为是字符不存在负数的概念,所以范围从0到2^16-1(即65535),例如char name='刘',grade='A'

  • 如果要查一个字符在unicode字符集里的顺序位置,必须使用int类型转换,如(int)'A',但不可以用short型转换(范围只有一半);同样道理如果想得到一个在0到65535之间的数字在unicode字符集中所对应的字符必须使用char型转换,如(char)30000.具体含义理解如下面代码


public class Sign_Num
{ public static void main (String args[ ])
{ char chinaWord='你',japanWord='ぁ';
int p1=36328,p2=38358;
System.out.println(\"汉字\'你\'在unicode表中的顺序位置:\"+(int)chinaWord);
System.out.println(\"日语\'ぁ\'在unicode表中的顺序位置:\"+(int)japanWord);
System.out.println(\"unicode表中第20328位置上的字符是:\"+(char)p1);
System.out.println(\"unicode表中第12358位置上的字符是:\"+(char)p2);
}
}

除了char以外还要稍微介绍一下String,在C或C++中,String是一个以空为终结的字符数组,而在java中它是java.lang包中的String类来创建一个字符串变量,因此字符串变量是一个对象.String的具体介绍在后面会学习到.


浮点类型:
(1)float型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38
例float x=123.456f,y=2e20f; 注意float型定义的数据末尾必须有"f",为了和double区别

(2)double型 内存分配8个字节,范围从10^-308到10^308 和 -10^-308到-10^-308
例double x=1234567.98,y=8980.09d; 末尾可以有"d"也可以不写


基本数据类型转换:

类型按精度从低到高:byte short int long float double
(1)当把级别低的变量赋值给级别高的变量时,系统自动完成数据类型的转换,例
int x=100;
float y;
y=x;
结果y的值应该是100.0
(2)当把级别高的变量赋值给级别低的变量时,必须使用显示类型转换运算,格式为:(类型名)要转换的值;例
int x=(int)23.89f;
结果x的值为23
所以强制转换运算可能导致精度的损失
(3)当把一个整数赋值给一个byte,short,int或long型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算,例
byte a=(byte)128;
byte b=(byte)-129;//超出范围
结果a值为128,b值为127

用下面的代码来复习下:


public class Example2_2
{ public static void main (String args[ ])
{ int c=2200;
long d=8000;
float f;
double g=123456789.123456789;
c=(int)d;
f=(float)g; //导致精度的损失
System.out.print(\"c= \"+c);
System.out.println(\" d= \"+d);
System.out.println(\"f= \"+f);
System.out.println(\"g= \"+g);
}
}

java中的数组

格式: 数组元素类型 数组名字[ ]
数组元素类型 [ ]数组名字
float boy[];

创建数组: 数组名字=new 数组元素的类型[数组元素的个数];
boy=new float[2]; //意思是boy获得了两个用来存放float型数据的空间

注意:和C和C++不同的是java允许使用int型变量来指定数组大小,例

int size=30;
double number=new double[size];

程序代码复习数组:


public class Example2_3
{ public static void main(String args[])
{ int a[]={100,200,300};
int b[]={10,11,12,13,14,15,16};
b=a;
b[0]=123456;
System.out.println(\"数组a:\"+a[0]+\",\"+a[1]+\",\"+a[2]);
System.out.println(\"数组b:\"+b[0]+\",\"+b[1]+\",\"+b[2]);
System.out.println(\"数组b的长度:\"+b.length);
}
}



总结:本节课把编程语言中的基础-关键字,数据类型等概念复习一遍,尤其是在java中的用法,为以后在使用变量的学习中做基础.

[此贴子已经被作者于2006-9-15 22:10:26编辑过]


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-15 22:04
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
得分:0 
很支持的说!~我以后也会多来学习
2006-09-17 14:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-89608-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.180527 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved