莫相离 发表于 2015-1-18 11:23:55

JAVA网页编程之Declarations and Access Control (1)

java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。access1)DeclarationsandAccessControl
Objective1
Writecodethatdeclares,constructsandinitializesarraysofanybasetypeusinganyofthepermittedforms,bothfordeclarationandforinitialization.

1.ArraysareJavaobjects.(Anobjectisaclassinstanceoranarray.)andmaybeassignedtovariablesoftypeObject.AllmethodsofclassObjectmaybeinvokedonanarray.Ifyoucreateanarrayof5Strings,therewillbe6objectscreated.
2.Arraysshouldbe
1.Declared.(int[]a;Stringb[];Object[]c;Sizeshouldnotbespecifiednow)
2.Allocated(constructed).(a=newint;c=newString)
3.Initialized.for(inti=0;i<a.length;a=0)
3.Theabovethreecanbedoneinonestep.inta[]={1,2,3};orinta[]=newint[]{1,2,3};Butneverspecifythesizewiththenewstatement.
4.Javaarraysarestaticarrays.Sizehastobespecifiedatcompiletime.Array.lengthreturnsarray’ssize,cannotbechanged.(UseVectorsfordynamicpurposes).
5.Arraysizeisneverspecifiedwiththereferencevariable,itisalwaysmaintainedwiththearrayobject.Itismaintainedinarray.length,whichisafinalinstancevariable.Notethatarrayshavealengthfield(orproperty)notalength()method.WhenyoustarttouseStringsyouwillusethestring,lengthmethod,asins.length();
6.Anonymousarrayscanbecreatedandusedlikethis:newint[]{1,2,3}ornewint
7.Arrayswithzeroelementscanbecreated.argsarraytothemainmethodwillbeazeroelementarrayifnocommandparametersarespecified.Inthiscaseargs.lengthis0.
8.Commaafterthelastinitializerinarraydeclarationisignored.

int[]i=newint{5,10};//Wrong
inti={1,2,3,4,5};//Wrong
int[]i[]={{},newint[]{}};//Correct
inti[][]={{1,2},newint};//Correct
inti[]={1,2,3,4,};//Correct
inti[][]=newint[];//Correct,i.length=10.
int[]i,j[]==inti[],j[][];
9.Arrayindexesstartwith0.Indexisanintdatatype.
10.Squarebracketscancomeafterdatatypeorbefore/aftervariablename.Whitespacesarefine.Compilerjustignoresthem.
11.Arraysdeclaredevenasmembervariablesalsoneedtobeallocatedmemoryexplicitly.
staticinta[];
staticintb[]={1,2,3};
publicstaticvoidmain(Strings[]){
System.out.println(a);//Throwsanullpointerexception
System.out.println(b);//Thiscoderunsfine
System.out.println(a);//Prints‘null’
System.out.println(b);//PrintsastringwhichisreturnedbytoString
}
12.Oncedeclaredandallocated(evenforlocalarraysinsidemethods),arrayelementsareautomaticallyinitializedtothedefaultvalues.(0fornumericarrays,falseforboolean,forcharacterarrays,andnullforobjects).
13.Ifonlydeclared(notconstructed),memberarrayvariablesdefaulttonull,butlocalarrayvariableswillnotdefaulttonull(compileerror).
14.Javadoesn’tsupportmultidimensionalarraysformally,butitsupportsarraysofarrays.Fromthespecification-“Thenumberofbracketpairsindicatesthedepthofarraynesting.”Sothiscanperformasamultidimensionalarray.(nolimittolevelsofarraynesting)
15.Arraysmustbeindexedbyintvalues;short,byte,orcharvaluesmayalsobeusedasindexvaluesbecausetheyaresubjectedtounarynumericpromotionandbecomeintvalues.Anattempttoaccessanarraycomponentwithalongindexvalueresultsinacompile-timeerror.
16.Allarrayaccessesarecheckedatruntime;anattempttouseanindexthatislessthanzeroorgreaterthanorequaltothelengthofthearraycausesanArrayIndexOutOfBoundsExceptiontobethrown.
17.EveryarrayimplementstheinterfacesCloneableandjava.io.Serializable.
18.ArrayStoreException
IfanarrayvariablevhastypeA[],whereAisareferencetype,thenvcanholdareferencetoaninstanceofanyarraytypeB[],providedBcanbeassignedtoA.
Thus,theexample:
classPoint{intx,y;}
classColoredPointextendsPoint{intcolor;}
classTest{
publicstaticvoidmain(String[]args){
ColoredPoint[]cpa=newColoredPoint;
Point[]pa=cpa;
System.out.println(pa==null);
try{
pa=newPoint();
}catch(ArrayStoreExceptione){
System.out.println(e);
}
}
}
producestheoutput:
true
java.lang.ArrayStoreException
Testingwhetherpaisnull,willnotresultinarun-timetypeerror.ThisisbecausetheelementofthearrayoftypeColoredPoint[]isaColoredPoint,andeveryColoredPointcanstandinforaPoint,sincePointisthesuperclassofColoredPoint.
Ontheotherhand,anassignmenttothearraypacanresultinarun-timeerror.Atcompiletime,anassignmenttoanelementofpaischeckedtomakesurethatthevalueassignedisaPoint.ButsincepaholdsareferencetoanarrayofColoredPoint,theassignmentisvalidonlyifthetypeofthevalueassignedatrun-timeis,morespecifically,aColoredPoint.ifnot,anArrayStoreExceptionisthrown.

19.EveryelementofanarraymustbeofthesametypeThetypeoftheelementsofanarrayisdecidedwhenthearrayisdeclared.Ifyouneedawayofstoringagroupofelementsofdifferenttypes,youcanusethecollectionclasses.


Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发

金色的骷髅 发表于 2015-1-18 14:28:23

是一种为Internet发展的计算机语言

再见西城 发表于 2015-1-22 06:46:45

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

山那边是海 发表于 2015-1-27 05:05:16

Java是一种计算机编程语言,拥有跨平台、面向对java

再现理想 发表于 2015-2-4 21:48:20

是一种使网页(Web Page)产生生动活泼画面的语言

只想知道 发表于 2015-2-5 09:28:54

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

活着的死人 发表于 2015-2-7 19:56:51

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

若天明 发表于 2015-2-9 10:29:14

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

谁可相欹 发表于 2015-2-16 00:05:46

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

仓酷云 发表于 2015-2-24 21:45:40

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

兰色精灵 发表于 2015-3-6 18:53:46

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

愤怒的大鸟 发表于 2015-3-7 16:36:06

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

冷月葬花魂 发表于 2015-3-13 02:07:16

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

海妖 发表于 2015-3-20 09:24:41

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

变相怪杰 发表于 2015-4-13 19:37:00

是一种语言,用以产生「小应用程序(Applet(s))
页: [1]
查看完整版本: JAVA网页编程之Declarations and Access Control (1)