|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。初学1。实例办法,类办法,机关器办法
我们一般所说的办法系指实例办法,就像c言语中的函数一样,其详细办法我就不必说了,在这里我次要是用它来辨别类办法和机关器办法.类办法与实例办法最年夜的区分是:在情势上类办法多一个static,在用法上,不用创立对象便可间接挪用类办法(而实例办法却必定要先创立对象,再经由过程对象挪用)。
eg:
classadd
{
staticintaddem(intop1,intop2)
{
returnop1+op2;
}
}
publicclassxxf
{
publicstaticvoidmain(String[]args)
{
System.out.println("addem(2,2)="+add.addem(2,2));
}//间接用类名作为对象挪用类办法
}
注:也可按一般的办法,即先创立对象,再挪用办法,不外,这时候static就无任何意义了。
再说说机关器办法,它是用来初始化对象中的数据的一种办法,创立很简单,只需在类中加上一个与这个类同名的办法,不必要在后面加任何会见申明符大概前往范例,别的,机关器也一样能够向办法一样传送参数.
eg:
classdata
{
privateStringdata1;//事前声明
data(Strings)
{
data1=s;/*经由过程吸收数据来初始化变量.(注:不克不及在机关器内
声明变量,事前在外就要声明.)*/
}
publicStringgetdata()
{
returndata1;
}
}
publicclassxxf
{
publicstaticvoidmain(String[]args)
{
System.out.println((newdata("Iloveyou")).getdata());/*经由过程传送参数挪用机关器新建一
个对象,再经由过程对象挪用办法失掉数据*/
}
}
2。接口与类
类是对一类特定对象的规格申明,我们能够类界说创立对象,经由过程创立对象来组合一切属于该类的组件,而接口不克不及如许做.而接话柄质上就是一个常量和笼统办法的汇合,要利用一个接口,就必要在类中完成这个接口,然后作为类界说的一部分,编写接口中声明的每个办法,接口中的办法永久是public,abstract,接口中的常量永久是publicstatic和final,因而不必要为它们申明属性。
由于在Java中不撑持多重承继,可是,能够用接口来完成相似的功效,这是接口的主要感化之一。
eg:
interfaceanyone//界说一个接口
{
finaldoublePI=3.1416;
voidsetNumber(intnumber);
intgetNumber();
}
interfaceanyother//界说另外一个接口
{
voidsetString(Stringstr);
StringgetString();
}
classxxfimplementanyone,anyother//界说一个类,并利用两个接口
{
intnumber;
Stringstr;
publicxxf(){}
voidsetNumber(intnumber)
{
this.number=number;
}
voidsetString(Stringstr)
{
this.str=str;
}
voidintgetNumber(){}//能够为一个空完成.
voidStringgetString(){}
}
//在类中必需完成接口中声明的一切办法.(固然也可不用,可是要用到适配器类或用笼统类)
3。String类和StringBuffer类
它们都是处置字符串的类,可是它们有一个最年夜的区分,那就是。
eg1:
......
//omitsomecode
Strings1="Youarehired!";
System.out.println(s1.replace(′h′,′f′));//用f把字串中的h交换了
System.out.println(s1);
......
//omitsomecode
运转了局:
Youarefired!
Youarehired!
了局剖析:
从了局,分明可知,s1的值并没有被改动,而第一行了局只是屏幕内容的交换.
eg2:
......
//omitsomecode
StringBuffers2=newStringBuffer("HellofromJava!");
s2.replace(6,10,"to");
System.out.println(s2);
......
//omitsomecode
运转了局:
HellotoJava!
了局剖析:
明显,s2的值已改动.
4。位逻辑与前提逻辑
起首声明,为了与位逻辑更好辨别开来,我把一般所说的逻辑取了一般名叫做前提逻辑.
它们都有各自的操纵符,位逻辑操纵符有:&(与运算),^(异或运算),|(或运算);前提逻辑操纵符有:&&(并
且),||(大概)。
位逻辑运算一般是针对两个数而言,实施位操纵;而前提逻辑运算是针对两个前提表达式而言,实施前提操纵.实在,位逻辑操纵符一样能够完成前提操纵,可是此时有一个主要的区分:用位操纵符时,不论操纵符双方的前提表达式成不建立,它都要统统举行运算判别,而前提逻辑操纵符纷歧样了,假如经由过程左边的操纵数就能够举行它们必要的判别,那末它就不会再盘算右边的操纵数了,这类情形叫短路.空话少说!且看下例.
eg1:
......
//omitsomecode
doublevalue=0;
if(value!=0&&1/value<1000){
System.out.println("Thevalueisnottoosmall.");
}
else{
System.out.println("Thevalueistoosmall.");
}
......
//omitsomecode
运转了局:
Thevalueistoosmall.
了局剖析:
照理说应会呈现除数为0的毛病,可是我方才说了,因为前提逻辑操纵符是短路操纵符,明显,value!=0不建立,当即便可作出判别应实行else后的语句,以是它就不再见运算判别1/value<1000了.假如不懂请再看一
例:
eg2:
......
//omitsomecode
doubleint1=0,int2=1,int3=1;
if(int1!=0&(int2=2)==1){}
System.out.println("int2="+int2);
if(int1!=0&&(int3=2)==1){}
System.out.println("int3="+int3);
......
//omitsomecode
运转了局:
int2=2.0
int3=1.0
了局剖析:
我想不必我剖析了,你应当懂了吧.
5。实例变量与类变量
能够经由过程两种办法在类中存储数据───作为实例变量和类变量.实例变量是特定于对象的,假如你有两个对象(即一个类的两个实例),每个对象中的实例变量自力于另外一个对象中的实例变量的;另外一方面,两个对象的类变量均指向不异的数据,并因而面保留不异的值,换句话说,类变量被类中的一切对象共享.差点忘了,它们在情势上的区分,类变量在声明时比实例变量多一个static.
eg:
classdata
{
publicintintdata=0;//明显,intdata在这儿是实例变量
}
publicclassexam
{
publicstaticvoidmain(String[]args)
{
dataa,b;
a=newdata();
b=newdata();
a.intdata=1;
System.out.println("b.indata="+b.intdata);
}
}
运转了局:
b.intdata=0
了局剖析:
能够看出,a.intdata的值固然变了,但并没有影响b.intdata.可是假如在data类中声明intdata时,在其后面加上static就酿成类变量了(即:publicstaticintintdata=0;),则此时运转了局会变成:
b.intdata=1
此次a.intdata值的改动可把b.intdata影响了,现实上,对象a和b的类变量均指向不异的数据,一切值一样,这就是类变量的感化。
轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net, |
|