仓酷云

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

[学习教程] JAVA网页编程之周全了解Java中的String数据范例

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

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

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

x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。数据|数据范例  1.起首String不属于8种基础数据范例,String是一个对象。

  由于对象的默许值是null,以是String的默许值也是null;但它又是一种特别的对象,有别的对象没有的一些特征。

  2.newString()和newString(“”)都是声名一个新的空字符串,是空串不是null;

  3.Stringstr=”kvill”;
Stringstr=newString(“kvill”);的区分:

  在这里,我们不谈堆,也不谈栈,只先复杂引进常量池这个复杂的观点。

  常量池(constantpool)指的是在编译期被断定,并被保留在已编译的.class文件中的一些数据。它包含了关于类、办法、接口等中的常量,也包含字符串常量。

  看例1:

Strings0=”kvill”;
Strings1=”kvill”;
Strings2=”kv”+“ill”;
System.out.println(s0==s1);
System.out.println(s0==s2);

  了局为:

true
true

  起首,我们要晓得Java会确保一个字符串常量只要一个拷贝。

  由于例子中的s0和s1中的”kvill”都是字符串常量,它们在编译期就被断定了,以是s0==s1为true;而”kv”和”ill”也都是字符串常量,当一个字符串由多个字符串常量毗连而成时,它本人一定也是字符串常量,以是s2也一样在编译期就被剖析为一个字符串常量,以是s2也是常量池中”kvill”的一个援用。

  以是我们得出s0==s1==s2;

  用newString()创立的字符串不是常量,不克不及在编译期就断定,以是newString()创立的字符串不放进常量池中,它们有本人的地点空间。

  看例2:

Strings0=”kvill”;
Strings1=newString(”kvill”);
Strings2=”kv”+newString(“ill”);
System.out.println(s0==s1);
System.out.println(s0==s2);
System.out.println(s1==s2);

  了局为:

false
false
false

  例2中s0仍是常量池中”kvill”的使用,s1由于没法在编译期断定,以是是运转时创立的新对象”kvill”的援用,s2由于有后半部分newString(“ill”)以是也没法在编译期断定,以是也是一个新创立对象”kvill”的使用;分明了这些也就晓得为什么得出此了局了。

  4.String.intern():

  再增补先容一点:存在于.class文件中的常量池,在运转期被JVM装载,而且能够扩大。String的intern()办法就是扩大常量池的一个办法;当一个String实例str挪用intern()办法时,Java查找常量池中是不是有不异Unicode的字符串常量,假如有,则前往其的援用,假如没有,则在常量池中增添一个Unicode即是str的字符串并前往它的援用;看例3就分明了

  例3:

Strings0=“kvill”;
Strings1=newString(”kvill”);
Strings2=newString(“kvill”);
System.out.println(s0==s1);
System.out.println(“**********”);
s1.intern();
s2=s2.intern();//把常量池中“kvill”的援用赋给s2
System.out.println(s0==s1);
System.out.println(s0==s1.intern());
System.out.println(s0==s2);

  了局为:

false
**********
false//固然实行了s1.intern(),但它的前往值没有赋给s1
true//申明s1.intern()前往的是常量池中”kvill”的援用
true

  最初我再废除一个毛病的了解:

  有人说,“利用String.intern()办法则能够将一个String类的保留到一个全局String表中,假如具有不异值的Unicode字符串已在这个表中,那末该办法前往表中已有字符串的地点,假如在表中没有不异值的字符串,则将本人的地点注册到表中“假如我把他说的这个全局的String表了解为常量池的话,他的最初一句话,“假如在表中没有不异值的字符串,则将本人的地点注册到表中”是错的:

  看例4:

Strings1=newString("kvill");
Strings2=s1.intern();
System.out.println(s1==s1.intern());
System.out.println(s1+""+s2);
System.out.println(s2==s1.intern());

  了局:

false
kvillkvill
true

  在这个类中我们没有申明一个”kvill”常量,以是常量池中一入手下手是没有”kvill”的,当我们挪用s1.intern()后就在常量池中新增加了一个”kvill”常量,本来的不在常量池中的”kvill”仍旧存在,也就不是“将本人的地点注册到常量池中”了。

  s1==s1.intern()为false申明本来的“kvill”仍旧存在;

  s2如今为常量池中“kvill”的地点,以是有s2==s1.intern()为true。

  5.关于equals()和==:

  这个关于String复杂来讲就是对照两字符串的Unicode序列是不是相称,假如相称前往true;而==是对照两字符串的地点是不是不异,也就是是不是是统一个字符串的援用。

  6.关于String是不成变的

  这一说又要说良多,人人只需晓得String的实例一旦天生就不会再改动了,好比说:Stringstr=”kv”+”ill”+”“+”ans”;
就是有4个字符串常量,起首”kv”和”ill”天生了”kvill”存在内存中,然后”kvill”又和”“天生”kvill“存在内存中,最初又和天生了”kvillans”;并把这个字符串的地点赋给了str,就是由于String的“不成变”发生了良多一时变量,这也就是为何倡议用StringBuffer的缘故原由了,由于StringBuffer是可改动的
前些天,在CSDN上看到了一个消息,说是ASP.NETAJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。
爱飞 该用户已被删除
沙发
发表于 2015-1-20 17:31:25 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
山那边是海 该用户已被删除
板凳
发表于 2015-1-29 13:39:10 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
因胸联盟 该用户已被删除
地板
发表于 2015-2-6 01:32:15 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小魔女 该用户已被删除
5#
发表于 2015-2-6 07:18:59 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
乐观 该用户已被删除
6#
发表于 2015-2-15 14:15:49 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
admin 该用户已被删除
7#
发表于 2015-3-7 15:40:05 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小女巫 该用户已被删除
8#
发表于 2015-3-7 22:53:15 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
不帅 该用户已被删除
9#
发表于 2015-3-15 15:42:59 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
兰色精灵 该用户已被删除
10#
 楼主| 发表于 2015-3-22 02:09:03 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 20:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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