java--第五章数组与字符串

本文详细介绍了Java中数组的特性和使用规则,包括数组的静态长度、元素类型限制、对象与基本类型的区分、数组的操作以及String对象的不可变性。同时,探讨了JavaScript数组的灵活性,以及Java中多维数组的规则。此外,还举例说明了数组方法如substring、concat的用法以及数组长度的获取。最后,通过实例展示了数组初始化和访问的常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1-1Java中数组的元素只能是简单数据类型。
F

1-2数组也是对象。
T

数组是一种类列表对象,它的原型中提供了遍历和修改元素的相关操作。JavaScript 数组的长度和元素类型都是非固定的。因为数组的长度可随时改变,并且其数据在内存中也可以不连续,所以 JavaScript 数组不一定是密集型的,这取决于它的使用方式。一般来说,数组的这些特性会给使用带来方便,但如果这些特性不适用于你的特定使用场景的话,可以考虑使用类型数组 TypedArray。
只能用整数作为数组元素的索引,而不能用字符串。后者称为关联数组。使用非整数并通过方括号或点号来访问或设置数组元素时,所操作的并不是数组列表中的元素,而是数组对象的属性集合上的变量。数组对象的属性和数组元素列表是分开存储的,并且数组的遍历和修改操作也不能作用于这些命名属性。
数组是对象,int float char这些基本类型不是对象。关于如何判断基本类型和对象,参考下面的:
行为:
基本类型只是一个值,没有任何行为
对象类型有自己的行为
内存分配:
基本类型在栈内分配
对象在堆内分配
对象引用保存在栈内
引用与值:
基本类型是值类型,仅表示一个值,保存在栈内
引用类型分两部分,对象引用保存在栈内,对象保存在堆内,
访问变量,是使用的引用找对象

原文链接:https://blog.csdn.net/lin19981205/article/details/100379192

1-3一个数组可以存放不同类型的数值。

F
数组本身定义就是用来存放相同类型的集合。
尽管Object[] objs 可以存放所有类型的Object,但是此时都是作为Object类型存入的,所以不能说是不同类型

1-4Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。

T

1-5程序运行中可以改变数组的大小。
F
java中数组的长度不可以改变。
java中的数组的定义就是相同类型,固定长度的一组数据,一旦被初始化,长度不可更改。如果对需要用的数组的长度不确定,有两种解决办法:
第一种是在数组初始化的时候长度申请的足够大,这样做会造成内存空间的浪费,一般不推荐使用。
第二种是用java中提供的集合的方式存储数据,如List,Set和Map类型的对象存储数据,一方面这些类型的对象的长度都是动态增长的,另一方面这些类中提供了很多便于操作数据的方法,因此在对所需存储数据的多少不确定的时候,第二种方法比第一种方法更优秀。

1-6Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。T

1-8数组中有length()这个方法,如array.length()表示数组array中元素的个数
F

1-9制造(new)数组时,要指定数组长度,以便为数组分配内存。
T

1-10Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。

T

1-12Java的字符类型采用的是Unicode编码。 ( )
T

1-13Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。( )
T

1-14
String实例一旦创建完毕,就不能再修改其内容。
T

1-15
有两个引用变量t1和t2,如果 t1 == t2为true, 那么t1.equals(t2)也一定为true。
F

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

”==“是比较两个变量的值是否相等、对于引用型变量表示的是两个变量在堆中存储的地址是否相同。

equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
https://www.cnblogs.com/litingshi/p/8477667.html

2-1
下面哪一个不是String类提供的合法的方法(C)。

A.equals()
B.trim()
C.append()
D.indexOf()

2-2
以下程序段输出结果的是(A )。

public class Test {
     public static void main(String args[]){
          String str="world";
          str=str.substring(3);
          str.concat("mn");
          System.out.print(str);
     }
}

(1分)

A.
ld

B.
ldmn

C.
world

D.
rldmn

concat() 方法用于将指定的字符串参数连接到字符串上。
语法
public String concat(String s)
参数
s – 要连接的字符串。
返回值
返回连接后的新字符串。

public class Test {
    public static void main(String args[]) {
        String s = "菜鸟教程:";
        s = s.concat("www.runoob.com");
        System.out.println(s);
    }
}

以上程序执行结果为:
菜鸟教程:www.runoob.com

PS:https://www.runoob.com/java/java-string-concat.html

java中substring的用法

str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;
str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;

https://www.cnblogs.com/yuechuan/p/9022514.html

2-3
下面程序段的运行结果是(C )。

    int x=30;
    int num[]=new int[x];
    x=60;
    System.out.println(num.length);

(1分)

A.
60

B.
20

C.
30

D.
50

2-4
以下哪个标识符不合法?B

(2分)

A.
_sys1_lll

B.
2mail

C.
$change

D.
Clas

2-5
Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为(B )。

(2分)

A.
byte->int->short->long->float->double

B.
byte->short->int->long->float->double

C.
byte->short->int->float->long->double

D.
short->byte->int->long->float->double

2-6
以下数组定义正确的是( B)。

(2分)

A.
int[] scores = int[30];

B.
int[] score = new int[30];

C.
int[] primes = new{2,3,5,7,11};

D.
int primes = {2,3,4,5,7,11};

2-7
已定义了一个数组:int[] scores = new int[30]; 如下访问正确的是:(a )易错题

(2分)

A.
int len = scores.length;

B.
int len = scores.length();

C.
int len = scores.size;

D.
int len = scores.size();

2-8
下列数组定义及赋值,错误的是( B)。

(2分)

A.
int intArray[]; intArray = new int[3]; intArray[1] = 1; intArray[2] = 2; intArray[3] = 3;

B.
int a[] = {1,2,3,4,5};

C.
int a[][] = new int[2][];
a[0] = new int[3];
a[1] = new int[3];
a[0][2]=1;

D.
int[] a = {1,2,3,4,5};

2-9
对下面的代码,( A)是对的。

public class Main {
      int arr[] = new int[10];
      public static void main(String[] args) {
         System.out.println(arr[1]);
      }
}

(2分)

A.
输出0

B.
输出null

C.
编译时正确而运行时出错

D.
编译时出错

2-10
关于以下程序段,正确的说法是(c )。

1. String s1 = "abc"+"def";
2. String s2 = new String(s1);
3. if (s1==s2) {
4.    System.out.println("==succeeded");
5. }
6. if (s1.equals(s2)) {
7.    System.out.println(".equals() succeeded");
8. }

(2分)

A.
行4与行7都将执行

B.
行4执行,行7不执行

C.
行7执行,行4不执行

D.
行4、行7都不执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值