仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1628|回复: 18
打印 上一主题 下一主题

[学习教程] 了解下JAVA的java的赋值

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:36:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
赋值是用等号运算符(=)举行的。它的意义是“获得右侧的值,把它复制到右边”。右侧的值能够是任何常数、变量大概表达式,只需能发生一个值就行。但右边的值必需是一个明白的、已定名的变量。也就是说,它必需有一个物感性的空间来保留右侧的值。举个例子来讲,可将一个常数赋给一个变量(A=4;),但不成将任何工具赋给一个常数(好比不克不及4=A)。
对主数据范例的赋值长短常间接的。因为主范例包容了实践的值,并且并不是指向一个对象的句柄,以是在为其赋值的时分,可未来自一个中央的内容复制到另外一个中央。比方,假定为主范例利用“A=B”,那末B处的内容就复制到A。若接着又修正了A,那末B基本不会受这类修正的影响。作为一位程序员,这应成为本人的知识。
但在为对象“赋值”的时分,情形却产生了变更。对一个对象举行操纵时,我们真正操纵的是它的句柄。以是倘使“从一个对象到另外一个对象”赋值,实践就是将句柄从一个中央复制到另外一个中央。这意味着倘使为对象利用“C=D”,那末C和D终极城市指向最后只要D才指向的谁人对象。上面这个例子将向人人阐示这一点。
这里有一些题外话。在前面,人人在代码示例里看到的第一个语句将是“package03”利用的“package”语句,它代表本书第3章。本书每章的第一个代码清单城市包括象如许的一个“package”(封装、打包、包裹)语句,它的感化是为那一章残剩的代码创建章节编号。在第17章,人人会看到第3章的一切代码清单(除那些有分歧封装称号的之外)城市主动置进一个名为c03的子目次里;第4章的代码置进c04;以此类推。一切这些都是经由过程第17章展现的CodePackage.java程序完成的;“封装”的基础观点会在第5章举行细致的注释。就今朝来讲,人人只需记着象“package03”如许的情势只是用于为某一章的代码清单创建响应的子目次。
为运转程序,必需包管在classpath里包括了我们安装本书源码文件的根目次(谁人目次里包括了c02,c03c,c04等等子目次)。
关于Java后续的版本(1.1.4和更高版本),假如您的main()用package语句封装到一个文件里,那末必需在程序名后面指定完全的包裹称号,不然不克不及运转程序。在这类情形下,命令行是:
javac03.Assignment
运转位于一个“包裹”里的程序时,随时都要注重这方面的成绩。
上面是例子:

  1. //:Assignment.java
  2. //Assignmentwithobjectsisabittricky
  3. packagec03;
  4. classNumber{
  5. inti;
  6. }
  7. publicclassAssignment{
  8. publicstaticvoidmain(String[]args){
  9. Numbern1=newNumber();
  10. Numbern2=newNumber();
  11. n1.i=9;
  12. n2.i=47;
  13. System.out.println("1:n1.i:"+n1.i+
  14. ",n2.i:"+n2.i);
  15. n1=n2;
  16. System.out.println("2:n1.i:"+n1.i+
  17. ",n2.i:"+n2.i);
  18. n1.i=27;
  19. System.out.println("3:n1.i:"+n1.i+
  20. ",n2.i:"+n2.i);
  21. }
  22. }///:~
复制代码
Number类十分复杂,它的两个实例(n1和n2)是在main()里创立的。每一个Number中的i值都付与了一个分歧的值。随后,将n2赋给n1,并且n1产生改动。在很多程序计划言语中,我们都但愿n1和n2任什么时候候都互相自力。但因为我们已付与了一个句柄,以是上面才是实在的输入:
1:n1.i:9,n2.i:47
2:n1.i:47,n2.i:47
3:n1.i:27,n2.i:27
看来改动n1的同时也改动了n2!这是因为不管n1仍是n2都包括了不异的句柄,它指向不异的对象(最后的句柄位于n1外部,指向包容了值9的一个对象。在赋值过程当中,谁人句柄实践已丧失;它的对象会由“渣滓搜集器”主动扫除)。
这类特别的征象一般也叫作“别号”,是Java操纵对象的一种基础体例。但倘使不肯意在这类情形下呈现别号,又该怎样操纵呢?可保持赋值,并写进下述代码:
n1.i=n2.i;
如许即可保存两个自力的对象,而不是将n1和n2绑定到不异的对象。但您很快就会心识到,如许做会使对象外部的字段处置产生凌乱,并与尺度的面向对象计划原则相悖。因为这并不是一个复杂的话题,以是留待第12章具体叙述,那一章是专门会商别号的。当时,人人也会注重到对象的赋值会发生一些使人震动的效果。

1.办法挪用中的别号处置
将一个对象传送到办法外部时,也会发生别号征象。
  1. //:PassObject.java
  2. //Passingobjectstomethodscanbeabittricky
  3. classLetter{
  4. charc;
  5. }
  6. publicclassPassObject{
  7. staticvoidf(Lettery){
  8. y.c=z;
  9. }
  10. publicstaticvoidmain(String[]args){
  11. Letterx=newLetter();
  12. x.c=a;
  13. System.out.println("1:x.c:"+x.c);
  14. f(x);
  15. System.out.println("2:x.c:"+x.c);
  16. }
  17. }///:~
复制代码
在很多程序计划言语中,f()办法外表上仿佛要在办法的感化域内制造本人的自变量Lettery的一个正本。但一样地,实践传送的是一个句柄。以是上面这个程序行:
y.c=z;
实践改动的是f()以外的对象。输入了局以下:
1:x.c:a
2:x.c:z
别号和它的对策长短常庞大的一个成绩。只管必需等至第12章才可取得一切谜底,但从如今入手下手就应加以器重,以便延迟发明它的弱点。
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?
若相依 该用户已被删除
沙发
发表于 2015-1-21 11:06:17 | 只看该作者
是一种为 Internet发展的计算机语言
若天明 该用户已被删除
板凳
发表于 2015-1-30 16:30:05 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
柔情似水 该用户已被删除
地板
发表于 2015-2-5 08:14:53 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
小妖女 该用户已被删除
5#
发表于 2015-2-8 00:14:42 | 只看该作者
是一种突破用户端机器环境和CPU
第二个灵魂 该用户已被删除
6#
发表于 2015-2-10 17:37:53 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-1 13:40:15 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
不帅 该用户已被删除
8#
发表于 2015-3-10 17:48:06 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
admin 该用户已被删除
9#
发表于 2015-3-17 08:30:17 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
变相怪杰 该用户已被删除
10#
发表于 2015-3-20 06:16:43 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
兰色精灵 该用户已被删除
11#
发表于 2015-3-27 05:08:10 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
再见西城 该用户已被删除
12#
发表于 2015-4-7 15:01:51 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
只想知道 该用户已被删除
13#
发表于 2015-4-15 18:05:55 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
金色的骷髅 该用户已被删除
14#
 楼主| 发表于 2015-4-29 07:53:36 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
精灵巫婆 该用户已被删除
15#
发表于 2015-5-9 17:57:45 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
乐观 该用户已被删除
16#
发表于 2015-6-16 13:24:05 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
山那边是海 该用户已被删除
17#
发表于 2015-6-20 21:39:21 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小女巫 该用户已被删除
18#
发表于 2015-6-29 05:08:24 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
分手快乐 该用户已被删除
19#
发表于 2015-7-9 22:15:41 | 只看该作者
是一种为 Internet发展的计算机语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-29 09:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表