Java 数组的声明方式
来源:互联网 发布:西部域名怎么解析 编辑:程序博客网 时间:2024/05/01 19:58
转载自:http://zzqrj.iteye.com/blog/572554
Java 数组的声明方式
二维数组的声明和定义方式
public class Java 数组声明 {
public static void main(String[] args) {
Java 数组声明 at = new Java 数组声明 ();
/* 一维数组的声明方式 */
int [] a = new int [4];
a[0] = 1;
a[1] = 3;
// int [] a2=new int [4]{1,4};
int [] a1 = new int [] { 1, 4 };
int [] b = { 1, 3 };
// 错误 int [] c; c={1,4};
/*
* 总结:如果定义时候确定长度 那么付值只能一个一个的赋,
* 如果定义时候不确定长度,那么付值也一下赋完 , 定义的时候等号右边不能为空
*/
/*
* 二维数组的声明和赋值
* Java 中二维数组的声明和初始化应按照从高维到低维的顺序进行 .
*/
// 不能如此声明: int a[1][1]=new int [][];
// 不能如此声明: int a[][]=new int [][1];
int a0 [][] = new int [1][2];
int a3 [][] = {{1,2},{3,4,5,6},{7,8,9}} ;
int a4 [][];
a4= new int [5][3];
int a2[][] = new int [2][];
a2[0] = new int [2];
a2[1] = new int [3];
for ( int i = 0; i < a2. length ; i++)
for ( int j = 0; j < a2[i]. length ; j++)
System. out .println( "I:" + i + " J:" + j + "=" + a2[i][j]);
}
}
String 和 StringBuffer
String 是个不可变类
对于已经存在的 String 对象的修改都是重新创建一个新的对象 , 然后把新的值保存进去 .
String 是 final 类 , 不能被继承 .
使用包含变量的表达式来创建 String 对象,则不仅会检查维护 String 池,而且还会在堆栈区创建一个 String 对象。
String a = "abc" ;
String b = "ab" ;
String ab= "ab" + "c" ;
System.out.println(a==ab); //true
String a1 = "abc" ;
String b1 = "ab" ;
String ab1= b+ "c" ;
System.out.println(a1==ab1); //false
Stringbuffer 是个可变的类。
stringbuffer 会改变缓冲区内的字符串内容。
它只能通过构造函数来建立 , StringBuffer 类有 3 个构造方法 :
StringBuffer() // 默认 16 个字符空间
StringBuffer( int size) //size 个空间
StirngBuffer(String s) //s.length()+16 个空间
StringBuffer sb = new StringBuffer();
注意 : 不能通过赋值符号对他进行赋值 .
sb = "welcome to here!" ; //error
对象被建立以后 , 在内存中就会分配内存空间 , 并初始保存一个 null.
向 StringBuffer 中付值的时候可以通过它的 append 方法 .
sb.append( "hello" );
StringBuffer 对象可以通过 length() 放发获取实体存放的字符序列长度。通过 capacity() 方法获取当前实体的实际容量。
String 覆盖了 Object 类的 equals ()方法,而 stringbuffer 没有覆盖了 Object 类的 equals ()方法
StringBuffer str1 = new StringBuffer( "lgl669" );
StringBuffer str2 = new StringBuffer( "lgl669" );
str1.equals(str2) // 为什么是 false
String str1 = new String( "lgl669" );
String str2 = new String( "lgl669" );
str1.equals(str2) // 为什么是 true
因为没有覆盖 equals ()方法, StringBuffer 调用 Object 中的 equals ()方法,根据引用 ( 地址 ) 进行比较,所以为 false ; String 重写了 equals () 方法,根据值进行比较,所以为 true 。
String textString = new String( "java" );
StringBuffer textBuffer = new StringBuffer( "java" );
stringReplace (textString);
bufferReplace (textBuffer);
System. out .println(textString + “,” +textBuffer);//java , javaC
public static void stringReplace(String text) {
text = text.replace( 'j' , 'i' );
System. out .println( "text:" + text);
}
public static void bufferReplace(StringBuffer text) {
text = text.append( "C" );
}
public String intern()
http://www.cnblogs.com/wanlipeng/archive/2010/10/21/1857513.html
- Java 数组的声明方式
- java数组的声明常用的方式
- C++数组声明的方式
- C#数组的声明方式
- C#数组的声明方式
- Java数组声明与拷贝的几种方式
- enum+数组的成员变量声明方式
- js数组的三种声明方式
- C# 数组的五种声明方式
- js声明数组的四种方式
- 数组声明方式
- <Java>Java数组的声明与初始化
- 【Java】Java数组的声明和初始化
- java数组的声明创建及初始化
- 【insigma】java数组的创建、声明、初始化
- Java二维数组的声明和初始化
- Java 数组的声明与创建
- java 数组的声明和实例化
- mybatis源码之MapperMethod
- batman相关配置修改
- Thrift学习(1)C#调用Java开发步骤详解
- JSP入门
- 负载均衡之起始篇
- Java 数组的声明方式
- Android:三星指纹解锁SDK
- batman-adv协议相关概念
- 提取不重复的整数
- batman_adv主要数据包格式与作用
- iOS-UIImageView对象
- 安卓核心组件一activity
- 引用和指针
- jdk环境变量的设置