1. 数组与字符串

重点速览

  1. 数组变量是数组的管理者;字符串同理
  2. foreach循环并不能改变原数组(或其他容器)中元素的值
  3. foreach循环不能遍历字符串
  4. Java无法直接修改字符串

数组是一种容器,其中,

  • 所有元素类型相同
  • 大小不可改变

定义数组变量

  1. 元素个数必须给出,可以是变量
  2. 或直接用{}给出所有的元素

数组变量与普通变量的区别

  • 普通变量:对数据是所有者,如i=10整型数i拥有一个值10
  • 数组变量:对数组是管理者,数组名是指向某处一个真实数组的指针,如定义数组a=数组b 表示a和b指向同一处空间,会同步变化

   

关于管理者

  • 数组变量是数组的管理者;数组必须创建出来给数组变量管理
  • 数组变量的赋值是管理权的赋予
  • 数组变量的比较是比较其是否指向同一个数组,而不是数组的元素是否相同

  因此复制数组必须遍历所有元素

★foreach循环并不能改变原数组中元素的值

包裹类型

  • Integer、Character...与Java的基本类型相对应
  • 可用于获得某个类型的最大最小值
  • 善用包裹类型的点运算符,如Character.toLowerCase

String

  • String是一个类
  • 和数组类似,
    • String的变量是对象的管理者而非所有者
    • a==b仅在判断两个指针是否指向同一个字符串;而a.equals(b)是比较它们的内容

String s = new String("a string");

  • "a string"初始化这个对象
  • 创建管理这个对象的String变量s
  • s管理这个对象

★用"+"连接字符串时,会全部当作字符串进行操作

in.next()

用于单词的输入,以空格和Tab分割
in.nextLine() 用于一整行的输入

 

 

 

 

★foreach不能完成对字符串的遍历,因为字符串不是可枚举类型

   »遍历方法:str.charAt(i)

很多字符串并不改变原字符串(Java没有方法可以直接修改字符串),而是制造出一个新的字符串;若需要对字符串频繁操作,可使用StringBuffer类型存放

原文地址:https://www.cnblogs.com/irisiscool/p/12487532.html