java 动态给数组赋值_java 中 String 数组怎么动态赋值
展开全部
首先明确一下数组的初始62616964757a686964616fe4b893e5b19e31333337626264化://静态初始化
int a[]={1,2,3};
//动态初始化
int a[]; a = new int[3] ; a[0] = 1;a[1] = 2;a[2]=3;
//默认初始化
int a [] = new int [5] ;
JAVA是强类型,数组类型一旦声明,就不能更改了;
如果数组长度确定,我想所谓的“动态赋值”用循环应该可以搞定;
如果数组的长度是不确定的,我认为你这个提问才有点价值,因为这需要根据具体情况来改变数组的长度,告诉你java是怎么干的,用的 System.arraycopy, jdk 里好多操作数组的源码都是用的这个,比如 ArrayList的实现
闲着没事写了个小例子玩玩:
import java.util.Random;
import java.util.Scanner;
/**
*
* @author LYTG
* @since 2015-12-29 上午12:21:09
*/
public class DemoTest {
/**
* @author LYTG
* @param args
*/
public static void main(String[] args) {
test2();
}
/**
* @author LYTG
* @param array
*/
public static void out(String[] array){
if(array==null){
System.out.println("null");
return;
}
if(array.length<1){
System.out.println("{ }");
return;
}
StringBuffer sb = new StringBuffer();
sb.append("{\"");
sb.append(array[0]);
sb.append("\"");
for(int i = 1; i
sb.append(",\"");
sb.append(array[i]);
sb.append("\"");
}
sb.append("}");
System.out.println(sb.toString());
}
/**
* 声明一个长度为5的String类型数组,并为每个数组元素赋值一个随机整数
* @author LYTG
*/
public static void test1(){
String[] array = new String[5];
for(int i = 0; i
array[i] = String.valueOf(new Random().nextInt());
}
out(array);
}
/**
* 在控制台输入字符,把每次输入的字符保存到一个数组中,
* 如果输入的字符串中包含空格,则切割后再分别保存到此数组中,
* 在每次输入完成后输出整个数组,直到手动终止程序
* @author LYTG
*/
private static String[] array = new String[0];
public static void test2(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符(输入完请敲回车):");
String input = sc.nextLine();
if(input.contains(" ")){
String[] a = input.split(" ");
int arrayLength = array.length;
int aLength = a.length;
String[] newArray = new String[arrayLength + aLength];
System.arraycopy(array, 0, newArray, 0, arrayLength);
System.arraycopy(a, 0, newArray, arrayLength, aLength);
array = newArray;
}else{
int arrayLength = array.length;
String[] newArray = new String[arrayLength + 1];
System.arraycopy(array, 0, newArray, 0, arrayLength);
newArray[arrayLength] = input;
array = newArray;
}
out(array);
test2();
}
}
java 动态给数组赋值_java 中 String 数组怎么动态赋值相关推荐
- java arraylist与数组转换_java中String,数组,ArrayList三者之间的转换
免费资源网 - https://freexyz.cn/ ArrayList转为String和数组 造一个元素为Integer的ArrayList 为list_int 造一个元素为String 的 Ar ...
- java 数组赋值_java中为数组赋值的方法
java中为数组赋值的方法 发布时间:2020-06-25 14:31:36 来源:亿速云 阅读:184 作者:Leah 这期内容当中小编将会给大家带来有关java中为数组赋值的方法,文章内容丰富且以 ...
- java 数组遍历_Java中遍历数组使用foreach循环还是for循环?
从JDK1.5起,增加了新功能Foreach,它是for循环遍历数据的一种简写形式,使用的关键字依然是for,但参数格式不同.其详细用法为: for(Type e:collection){ //对变量 ...
- java字符串怎么拼接字符串_Java中String使用+ 拼接字符串的原理是什么?
来看一段代码 public class Test { String str1 = "51"; String str2 = "manong"; String st ...
- delphi 获取数组长度_Java中的数组(基础篇六)
在学习数组之前我们先来了解一下容器,生活中的容器比如水杯是用来装水的,衣柜是装衣服的,Java中的容器是用来存储数据的,将多个数据存储到一起,每个数据称为该容器的元素. 数组:数组就是存储数据长度固定 ...
- java数组赋值_java中给数组赋值的方法
1.数组操作中,可以使用等于(=)赋值 注意:此时新数组只是指向原数组的存储空间,并没有重新申请新的空间. 实例:public class ArrayTest{ public static void ...
- java set取最大最小_Java中取得数组中最大(小)元素的几种实现方法
简介 本篇文章将主要介绍获取数组中最大(小)元素的基本方法,以及其在Java中的几种实现方法. 算法 取得数组中最大(小)元素的基本算法一般都类似于如下所示: SET MAX to array[0] ...
- java 整形数组初始化_java中怎么数组初始化?
展开全部 当你产生某个存储对象的数组时,真正产生的其实是个存储references的数组.此一数组建立之后,其中62616964757a686964616fe4b893e5b19e3133336564 ...
- java数组循环扩容_Java中实现数组动态扩容的两种方法
Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...
- java中String new和直接赋值的区别
Java中String new和直接赋值的区别 对于字符串:其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)才 ...
最新文章
- c++数学库 方法库 向量库等用法
- malloc函数具体解释
- [ARM异常]-ARMV8-aarch64 异常(中断)是如何跳转到向量表的
- Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)
- Python中strip()、lstrip()、rstrip()用法详解
- BZOJ 4278 [ONTAK2015]Tasowanie (后缀数组)
- python sort 多级排序_为什么在python中使用排序功能进行多级排序...
- OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用
- Python技术知识清单(数据科学)
- 3.1词典搜索的数据结构与通配符查询
- oracle数据库plsqldev导出表、表结构的方法
- Modown v7.3无限制版+ Erphpdown12.3插件 + 工单系统
- 为什么很多人愿意去下载社交APP?
- 【iPhone】解决照片无法编辑或删除的问题
- C:\inetpub\logs\LogFiles\W3SVC1
- linux系统文件复制过程时长,Linux系统I/O操作与零拷贝
- 英语背单词有用吗_对于大学生英语背单词软件哪个好可以用_最好的背单词
- 南京信息工程大学第二届程序设计大赛团队赛:L-三元对
- 手机PDF转换器如何实现PPT转换PDF格式
- 基金申请-2:期刊如何批量索引SCIE、EI、ISTP (CPCI)?