zoukankan      html  css  js  c++  java
  • Java 的数组

    几乎所有程序设计语言都支持数组。在C和 C++里使用数组是非常危险的,因为那些数组只是内存块。若程 序访问自己内存块以外的数组,或者在初始化之前使用内存(属于常规编程错误),会产生不可预测的后果 (注释②)。

    ②:在 C++里,应尽量不要使用数组,换用标准模板库(Standard TemplateLibrary)里更安全的容器。

    Java 的一项主要设计目标就是安全性。所以在 C 和 C++里困扰程序员的许多问题都未在Java 里重复。一个 Java 可以保证被初始化,而且不可在它的范围之外访问。由于系统自动进行范围检查,所以必然要付出一些 代价:针对每个数组,以及在运行期间对索引的校验,都会造成少量的内存开销。但由此换回的是更高的安 全性,以及更高的工作效率。为此付出少许代价是值得的。 创建对象数组时,实际创建的是一个句柄数组。而且每个句柄都会自动初始化成一个特殊值,并带有自己的 关键字:null(空)。一旦 Java 看到null,就知道该句柄并未指向一个对象。正式使用前,必须为每个句 柄都分配一个对象。若试图使用依然为null 的一个句柄,就会在运行期报告问题。因此,典型的数组错误在 Java 里就得到了避免。 也可以创建主类型数组。同样地,编译器能够担保对它的初始化,因为会将那个数组的内存划分成零。 数组问题将在以后的章节里详细讨论。

     1 package Com.TomTest;
     2 
     3 
     4 import java.util.*;
     5 public class TomTest_49 {
     6   public static void main(String args[]){
     7       String s="I am Geng.X.y,she is my girlfriend";
     8 StringTokenizer fenxi=new StringTokenizer(s," ,"); 
     9       int number=fenxi.countTokens();
    10       while(fenxi.hasMoreTokens()){
    11           String str=fenxi.nextToken();
    12           System.out.println(str);
    13           System.out.println("还剩"+fenxi.countTokens()+"个单词");
    14        }
    15      System.out.println("s共有单词:"+number+"个");
    16    } 
    17 }
  • 相关阅读:
    初识敏捷开发
    【C#】HTTP请求GET,POST(远程证书失效)
    登录验证的js;JS验证邮箱 验证密码
    字符串验证类
    ASP.NET获取客户端信息,获取客户端IP等等
    HttpCookie类
    js获取页面的来源页
    JS URL传中文参数引发的乱码问题
    SQL Server 2008删除或压缩数据库日志的方法
    数据库SQL优化大总结之 百万级数据库优化方案
  • 原文地址:https://www.cnblogs.com/borter/p/9438820.html
Copyright © 2011-2022 走看看