分享
 
 
 

Java how to program(Third Edition)——我的java手记(二)

王朝java/jsp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

第六章 方法

1.方法的调用:a 对象引用后跟一点(.)操作符和方法名

b 类名后跟方法名(这种形式只适用于类的static方法)

2.将基本数据类型值转换为另一个基本数据类型时,java会提升较低的数据类型,如果这种转换不是提升,则可能改变数据的值。此外,把整型转换为浮点型再转换回整型可能会引入舍如误差。

3.实例分析:碰运气游戏。

import java.awt.*;//java抽象窗口工具包。其中含有创建和操纵图形用户界面所需的类和接口

import java.awt.event.*;/*java抽象窗口工具包。其中含有用于java.awt和javax.swing包中GUI构件的事件处理的类与接口*/

import javax.swing.*;/*java Swing GUI构件包,它含有支持可移植GUI的java Swing GUI构件的类与接口*/

public class Craps extends JApplet implements ActionListener{/*类Craps继承Japplet并实现ActionListener。一个类可以实现一个或几个接口。*/

final int won=0,lost=1,CON=2;/*final关键字声明常数变量,常数变量必须在使用前被初始化一次,并且不能被修改,又称命名常数或只读变量。*/

boolean firstRoll=true;

int sumofDice=0;

int mypoint=0;

int gameStatus=CON;

JLabel die1Label,die2Label,sumLabel,pointLabel;

JTextField firstDie,secondDie,sum,point;

JButton roll;

public void init()

{

Container c=getContentPane();

c.setLayout(new FlowLayout());/*使用Container的方法setLayout为applet的用户接口定义布局管理器。FlowLayout是最基本的布局管理器,GUI构件通过方法add按照从左到右的顺序放在面板上,当达到面板的边缘时,转到下一行。每一个Container一次只能有一个布局管理器*/

die1Label=new JLabel("Die1");

c.add(die1Label);

firstDie=new JTextField(10);

firstDie.setEditable(false);

c.add(firstDie);

die2Label=new JLabel("Die2");

c.add (die2Label);

secondDie=new JTextField(10);

secondDie.setEditable(false);

c.add (secondDie);

sumLabel=new JLabel("sum is");

c.add(sumLabel);

sum=new JTextField(10);

sum.setEditable(false);

c.add(sum);

pointLabel=new JLabel("point is");

c.add(pointLabel);

point=new JTextField(10);

point.setEditable(false);

c.add(point);

roll=new JButton("Roll Dice");

roll.addActionListener(this);//关键字this使applet引用自身,给该Button添加事件

c.add(roll);

}

public void actionPerformed(ActionEvent e)//当Button被触动时调用此方法

{

play();

}

public void play()

{

if (firstRoll){

sumofDice=rollDice();

switch(sumofDice){

case 7:case 11:

gameStatus=won;

point.setText("");

break;

case 2:case 3:case 12:

gameStatus=lost;

point.setText("");

break;

default:

gameStatus=CON;

mypoint=sumofDice;

point.setText(Integer.toString(mypoint));

firstRoll=false;

break;

}

}

else{

sumofDice=rollDice();

if(sumofDice==mypoint)

gameStatus=won;

else

if(sumofDice==7)

gameStatus=lost;

}

if(gameStatus==CON)

showStatus("Roll Again");

else{

if(gameStatus==won)

showStatus("player Wins."+

"Click Roll Dice to play again.");

else

showStatus("player lost."+

"Click Roll Dice to paly again.");

firstRoll=true;

}

}

public int rollDice()

{

int die1,die2,worksum;

die1=1+(int)(Math.random()*6);

die2=1+(int)(Math.random()*6);

worksum=die1+die2;

firstDie.setText(Integer.toString(die1));

secondDie.setText(Integer.toString(die2));

sum.setText(Integer.toString(worksum));

return worksum;

}

}

4.java可以定义几个同名的方法,只要这些方法具有不同的参数集合(参数的数量、类型和次序),这称为方法重载。重载的方法是根据署名(即方法名及其参数类型的组合),重载的方法可以有不同的返回值类型,但一定要有不同的参数表。此外,重载的方法并不需要相同数量的参数。

第七章 数组

1.数组要占据内存空间,需要使用new运算符为数组分配内存空间。如:int c[ ]=new int[12]

或:int c[ ]; c=new int [12];为数组分配内存空间后,数值型基本数据类型的数组元素自动被初始化为0,boolean类型的变量被初始化为false,引用则被初始化为null。注:与C、C++不同,java不允许在数组后面的方括号内指定数组元素的个数。

当声明一个数组是,数组的类型和方括号可以在声明的开始出结合起来使用,表示声明重点的所有标识都表示数组。如:double[ ] array1,array2。

在数组声明重可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组的大小由初始表中的数据个数决定。如:int tn[ ]={10,20,30,40,50}

2.与其他语言不同,java不允许编程人员采用值调用或引用调用来传送每个参数。基本数据类型总是采用值调用。不能把对象传递给方法,而只能传递对象的引用。引用本身也是采用值调用。当一个方法接受对象的引用后,它就可以直接操纵对象。

3.由于数组被java看作对象,数组就以引用调用的方式传递给方法——被调用方法能访问调用者的原来数组中的元素,调用方法将修改数组中的元素。

但是单个基本数据类型的数组元素仍以值调用的方式传递。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有