| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 33879 人关注过本帖, 7 人收藏
标题:[原创]课堂笔记学习java(初级)
只看楼主 加入收藏
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
呵呵,不错,还挺认真的,这样学,一定会成功的

可惜不是你,陪我到最后
2006-09-17 14:56
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
我看了你第1节课的内容!~
Boy.java程序和
<html>
<applet code=Boy.class width=100, height=100></applet>
</html>
是怎么运行的!~我运行出来的是一个 X的图片
2006-09-17 14:59
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 

程序代码:
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);
}
}
为什么会运行出
"汉字'你'在unicode表中的顺序位置:20320
日语'ぁ'在unicode表中的顺序位置:12353
unicode表中第20328位置上的字符是:跨
unicode表中第12358位置上的字符是:闖"
不解~那位高手可以解释下吗!




2006-09-17 15:12
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用qsrock在2006-9-17 14:59:42的发言:
我看了你第1节课的内容!~
Boy.java程序和
<html>
<applet code=Boy.class width=100, height=100></applet>
</html>
是怎么运行的!~我运行出来的是一个 X的图片

这说明你的浏览器不支持APPLET,如果支持APPLET的话,是可以看到APPLET 的
不过,看一看你是Boy.class文件是不是和你的HTML文件放在同一个文件夹的下面


可惜不是你,陪我到最后
2006-09-17 15:57
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用qsrock在2006-9-17 15:12:39的发言:

程序代码:
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);
}
}
为什么会运行出
"汉字'你'在unicode表中的顺序位置:20320
日语'ぁ'在unicode表中的顺序位置:12353
unicode表中第20328位置上的字符是:跨
unicode表中第12358位置上的字符是:闖"
不解~那位高手可以解释下吗!




unicode表是包含了世界上绝大多数国家和地区的文字的表
它是16位的,所以编码从0-65565也就是0x0000--0xFFFF
所有的文字都是以编码的形式存在的
现在理解了吧


可惜不是你,陪我到最后
2006-09-17 15:59
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
以下是引用千里冰封在2006-9-17 15:57:21的发言:

这说明你的浏览器不支持APPLET,如果支持APPLET的话,是可以看到APPLET 的
不过,看一看你是Boy.class文件是不是和你的HTML文件放在同一个文件夹的下面

我的是IE6.0哦!~不支持的吗!~
是放在同个文件夹哦!~

2006-09-18 18:54
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

第三节课

运算符 表达式和语句
因为大家肯定都学过C或C++的,所以这部分的内容自己可以回忆,都是一样的,略.


类和对象

1.类:类是组成java程序的基本要素.类封装了一类对象的状态和方法.类是用来定义对象的模板.
类的实现包括两个部分:类声明和类体.基本格式为:

class 类名 
{
类体的内容
}

其中class是关键字,用来类定义."class 类名"是类的声明部分,类名必须是合法的java标识符,{}之间的内容是类

体,由变量的定义和方法(函数)的定义组成.
所谓变量定义,如int x或 intx=10;
但不能出现除声明以外的变量操作语句,如 int x; x=10;//是错误的

(1)变量:成员变量和局部变量
a.成员变量在整个类内都有效,局部变量只在定义它的方体体内有效.例:


class Sun
{ int distance;
int find()
{int a=12;
distance=a;//合法,distance是成员变量在整个类内有效
return distance;
}
void g()
{inty;
y=a; //非法,a是局部变量,不在find()中就会失效
}
}

注意:成员变量在它在类中书写的先后位置无关.但不提倡把成员变量的定义分散的写在方法之间或类体的后面.

b.成员变量又分为实例成员变量(实例变量)和类成员变量(类变量)
类变量是指变量类型前加关键字 static 的成员变量,也称为静态变量.例:


class Sun
{float x; //实例变量
static int y; //类变量
}

c.当局部变量与成员变量名字相同时,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效,例:


class Tom
{int x=90,y;
void f()
{int x=3;
y=x; //y得到的值应是3,因为成员变量x=90与y在此方法体里失效
}
}

但如果想在方法体内使用成员变量则通过关键字 this 来实现,例:


class 三角形
{float sideA,sideB,sideC,lengthSum;
void setside(float sideA,float sideB,float sideC)
{this.sideA=sideA; //this.sideA表示成员变量sideA
this.sideB=sideB;
this.sideC=sideC;
}
}


(2)方法
方法即是函数,包括声明和定义,在类体中是函数的定义,与C或C++中函数的声明或定义格式是一样的.

a.类方法和实例方法
实例方法即在方法返回值类型前加上关键字static,例:

class A
{int a;
float max(float a,float b)//实例方法
{//...}
static float min()//类方法
{//...}
}
[code]

b.方法的重载
方法的重载定义为多个函数定义时函数名必须相同,参数的类型和个数必须不同.例:

[code]
class Area
{float getArea(float r)
{return 3.14*r*r;}
double getArea(float x,int y)
{return x*y;}
float getArea(float x,float y)
{return x+y;}
double getArea(float x,float y,float z)
{return x*y*z*0.2;}
}

注意:在函数的重载中方法的返回值类型和参数的名字参加比较.

c.构造方法
构在方法是一种特殊方法,它的名字必须与类名完全相同,而且没有类型,构造方法也可以重载的.
用法:一般用类创建对象时,使用构在方法,后面会有详细说明.


class 梯形
{float 上底,下底,高;
梯形()
{上底=60;
下底=100;
高=20}

梯形(float x,float y,float z)
{上底=x;
下底=y;
高=z;
}
}


2.对象
类是创建对象的模板.当使用一个类创建了一个对象时,也就是说给出了这个类的一个实例.
(1)对象的创建:包括对象的声明和为对象分配内存空间
声明格式: 类的名字 对象的名字;

分配内存空间格式; 类的名字 对象的名字=new 类的名字(); 例:


class XiyoujiRenwu
{ float height,weight;
String head, ear,hand,foot, mouth;
void speak(String s)
{ System.out.println(s);
}
}
class A
{ public static void main(String args[])
{ XiyoujiRenwu zhubajie; //声明对象
zhubajie=new XiyoujiRenwu(); //为对象分配内存,使用new 运算符和默认的构造方法
}
}

class Point
{ int x,y;
Point(int a,int b)
{ x=a;
y=b;
}
}
public class A
{ public static void main(String args[])
{ Point p1,p2,p3; //声明对象p1和p2
p1=new Point(10,10); //为对象分配内存,使用 new 和类中的构造方法
p2=new Point(23,35); //为对象分配内存,使用 new 和类中的构造方法
// p3=new Point(); 错误语句!当类中定义了一个或多个构造方法,那么java不提供默认的构造方法
}
}

(2)对象的内存模型
声明对象时,内存不分配空间,只存在一个空对象;当用new 分配内存空间时,类中的成员变量就会被分配到相应的空

间中,并通过构造方法(如果有)初始化,函数的入口地址也会被载入内存.但此时局部变量不会被分配内存空间,只有

当对象调用类中的函数时,函数中的局部变量才被分配空间,但函数执行完后,局部变量释放内存,所以如果在函数中

没有对局部变量进行初始化,就没有默认值,因此在使用局部变量之前,要事先为其赋值.
创建多个对象之间没有相互状态影响,个用个自的内存空间.

(3)对象的使用
对象不仅可以改变自己变量的状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为.通过使用运算符" . "对象可以实现对自己的变量的访问和方法的调用.具体使用如程序例子:


class XiyoujiRenwu
{ float height,weight;
String head, ear,hand,foot,mouth;
void speak(String s)
{ head=\"歪着头\";
System.out.println(s);
}
}
class Example4_3
{ public static void main(String args[])
{ XiyoujiRenwu zhubajie,sunwukong;//声明对象
zhubajie=new XiyoujiRenwu(); //为对象分配内存
sunwukong=new XiyoujiRenwu();
zhubajie.height=1.80f; //对象给自己的变量赋值
zhubajie.head=\"大头\";
zhubajie.ear=\"一双大耳朵\";
sunwukong.height=1.62f; //对象给自己的变量赋值
sunwukong.weight=1000f;
sunwukong.head=\"绣发飘飘\";
System.out.println(\"zhubajie的身高:\"+zhubajie.height);
System.out.println(\"zhubajie的头:\"+zhubajie.head);
System.out.println(\"sunwukong的重量:\"+sunwukong.weight);
System.out.println(\"sunwukong的头:\"+sunwukong.head);
zhubajie.speak(\"俺老猪我想娶媳妇\"); //对象调用方法
System.out.println(\"zhubajie现在的头:\"+zhubajie.head);
sunwukong.speak(\"老孙我重1000斤,我想骗八戒背我\"); //对象调用方法
System.out.println(\"sunwukong现在的头:\"+sunwukong.head);
}
}

class 梯形
{ float 上底,下底,高,面积;
梯形(float x,float y,float h)
{ 上底=x;
下底=y;
高=h;
}
float 计算面积()
{ 面积=(上底+下底)*高/2.0f;
return 面积;
}
void 修改高(float height)
{ 高=height;
}
float 获取高()
{ return 高;
}
}
public class Example4_4
{ public static void main(String args[])
{ 梯形 laderOne=new 梯形(12.0f,3.5f,50),laderTwo=new 梯形(2.67f,3.0f,10);
System.out.println(\"laderOne的高是:\"+laderOne.获取高());
System.out.println(\"laderTwo的高是:\"+laderTwo.获取高());
System.out.println(\"laderOne的面积是:\"+laderOne.计算面积());
System.out.println(\"laderTwo的面积是:\"+laderTwo.计算面积());
laderOne.修改高(10);
float h=laderOne.获取高();
laderTwo.修改高(h*2);
System.out.println(\"laderOne现在的高是:\"+laderOne.获取高());
System.out.println(\"laderTwo现在的高是:\"+laderTwo.获取高());
System.out.println(\"laderOne现在的面积是:\"+laderOne.计算面积());
System.out.println(\"laderTwo现在的面积是:\"+laderTwo.计算面积());
}
}




总结:介绍了类和对象及通过类体中的变量和方法来实现对对象的应用

[此贴子已经被作者于2006-9-21 16:47:19编辑过]


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-21 16:42
lengxin
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2006-9-14
收藏
得分:0 
最近怎么 看不到了 啊 ,。我好想看到后面的啊, 太有用了

2006-09-23 18:08
lxq8092301
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-9-14
收藏
得分:0 

真的可以学到不少知识呀

2006-09-26 12:41
yueritian
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-7-26
收藏
得分:0 
温故知新!顶!

22岁的我,没有皱纹的我
2006-09-26 12:57
快速回复:[原创]课堂笔记学习java(初级)
数据加载中...
 
   



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

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