Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态创建变量,java变量的数据类型_Java_Variables - Fatal编程技术网

动态创建变量,java变量的数据类型

动态创建变量,java变量的数据类型,java,variables,Java,Variables,我们知道变量的数据类型不同,但它们的名称是哪种数据类型? 看起来它们是字符串,但如果它们是字符串,则应允许: int i=6; String [] arr+i; …因为我们可以将int添加到字符串 那么,如果这些不是字符串,那么它们是什么呢? 如果我们想动态地创建变量名,我们如何才能创建它呢? 动态的意思是,每当用户单击特定的JComponent,就会创建一个新变量,如: int i=0; //on first click String str+i; ///str0 i++; ///on 2n

我们知道变量的数据类型不同,但它们的名称是哪种数据类型?
看起来它们是
字符串
,但如果它们是
字符串
,则应允许:

int i=6;
String [] arr+i;
…因为我们可以将
int
添加到
字符串

那么,如果这些不是字符串,那么它们是什么呢?
如果我们想动态地创建变量名,我们如何才能创建它呢? 动态的意思是,每当用户单击特定的
JComponent
,就会创建一个新变量,如:

int i=0;
//on first click
String str+i; ///str0
i++;
///on 2nd click
String str+i;   ////str1
///i++;

我该怎么做呢?

Java不是这样工作的。其他语言也有,但Java不是其中之一。不能动态操作变量的名称,因为它们在编译时是固定的。然而,在一些解释脚本语言中,这样的事情是可能的

更准确地说,如果它们被固定为任何东西,则它们在编译时被固定。如果java不是在调试模式下编译的,那么变量的名称将完全停止。它们只是成为内存位置的地址


有关详细信息,请参见:Java不能以这种方式工作。其他语言也有,但Java不是其中之一。不能动态操作变量的名称,因为它们在编译时是固定的。然而,在一些解释脚本语言中,这样的事情是可能的

更准确地说,如果它们被固定为任何东西,则它们在编译时被固定。如果java不是在调试模式下编译的,那么变量的名称将完全停止。它们只是成为内存位置的地址


有关详细信息,请参见此:

Java标识符不是任何类型,也肯定不是
字符串。在java中不能这样做,而是使用数据结构来使用这些值,如
ArrayList
,并将
n字符串
存储在数据结构的
n
索引中,如下所示:

ArrayList<String> strings= new ArrayList<String>(); // Create a new empty List
strings.add(index, string);  //add string at index position of the List; can be replaced with strings.add(string) if the strings are being sequentially added
ArrayList strings=new ArrayList();//创建一个新的空列表
添加(索引,字符串)//在列表的索引位置添加字符串;可以替换为字符串。如果按顺序添加字符串,则添加(字符串)

Java标识符不是任何类型,绝对不是
字符串。在java中不能这样做,而是使用数据结构来使用这些值,如
ArrayList
,并将
n字符串
存储在数据结构的
n
索引中,如下所示:

ArrayList<String> strings= new ArrayList<String>(); // Create a new empty List
strings.add(index, string);  //add string at index position of the List; can be replaced with strings.add(string) if the strings are being sequentially added
ArrayList strings=new ArrayList();//创建一个新的空列表
添加(索引,字符串)//在列表的索引位置添加字符串;可以替换为字符串。如果按顺序添加字符串,则添加(字符串)

变量名没有数据类型。它们只是参考资料。它们不是
字符串
,也不是
整数
,它们只是名称。不能使用从另一个变量的名称派生的名称动态声明变量,Java不能以这种方式工作。

变量名称没有数据类型。它们只是参考资料。它们不是
字符串
,也不是
整数
,它们只是名称。您不能使用从另一个变量的名称派生的名称动态声明变量,Java不能以这种方式工作。

您不能在Java中创建动态变量,因为Java不是脚本语言。您需要在源代码中创建变量。但是Java提供了其他方法来实现这一点。 为此,您可以使用
数组
映射

Map<String, String> map= new HashMap<>(); 
int i=0; 
while(true) {
    // you can use whatever condition you need
    details.put("key" + i, "val: "+i);
    i++
    // some condition to break the loop 
}    
Map Map=newhashmap();
int i=0;
while(true){
//你可以使用任何你需要的条件
详细信息。put(“键”+i,“值”+i);
我++
//打破循环的一些条件
}    

您不能在Java中创建动态变量,因为Java不是脚本语言。您需要在源代码中创建变量。但是Java提供了其他方法来实现这一点。 为此,您可以使用
数组
映射

Map<String, String> map= new HashMap<>(); 
int i=0; 
while(true) {
    // you can use whatever condition you need
    details.put("key" + i, "val: "+i);
    i++
    // some condition to break the loop 
}    
Map Map=newhashmap();
int i=0;
while(true){
//你可以使用任何你需要的条件
详细信息。put(“键”+i,“值”+i);
我++
//打破循环的一些条件
}    

首先,变量可以分为两类。原语(标准)类型,如int、float、double、char、boolean、byte。。。和非原语(用户定义)类型,如字符串、整数、浮点、双精度。字符串类型属于非原语类,它是由java.langAPI提供的一个类,因此当您创建一个字符串变量时,实际上是在创建一个对象EX String str;str是一个对象,它也可以声明为String str=new String()

因此,string类由可能有助于实现目标的助手方法组成,您也可以按如下方式使用字符串的串联/连接:

class Demo{
String str;
static int i;
JButton but=new JButton("click me!");
.....

public static void actionPeaformed(ActionEvent e){
Object source=e.getSource();
 str="msg";
if(source==but){

String newStr;

newStr=str+i;

System.out.println(newStr);

}


}
}


其中str可能包含一些消息/文本,例如每次单击时的标签/其他位置。首先,变量可分为两类。原语(标准)类型,如int、float、double、char、boolean、byte。。。和非原语(用户定义)类型,如字符串、整数、浮点、双精度。字符串类型属于非原语类,它是由java.langAPI提供的一个类,因此当您创建一个字符串变量时,实际上是在创建一个对象EX String str;str是一个对象,它也可以声明为String str=new String()

CONSIDER THIS:
因此,string类由可能有助于实现目标的助手方法组成,您也可以按如下方式使用字符串的串联/连接:

class Demo{
String str;
static int i;
JButton but=new JButton("click me!");
.....

public static void actionPeaformed(ActionEvent e){
Object source=e.getSource();
 str="msg";
if(source==but){

String newStr;

newStr=str+i;

System.out.println(newStr);

}


}
}

其中str可能包含一些消息/文本,例如每次单击时来自标签/其他位置的消息/文本

CONSIDER THIS:
公开课考试{

public Test() {

}

public static void main(String[] args) {

//  GenericType<Integer> intObj;//creates a generic type for integers
    //String type
    GenericType<String> strObj=new GenericType<String>("My data");

    System.out.println("Value is " +strObj.getValue());



    }

}

class GenericType<GT>{
GT  obT;

 GenericType(GT o){
obT=o; 
 }

 GT getValue(){
 return obT;
 }

 void showType(){
System.out.println("Type of GT is " +obT.getClass().getName()); 
 }

}
公共测试(){
}
公共静态void main(字符串[]args){
//GenericType intObj;//为整数创建泛型类型
//字符串类型
GenericType strObj=新的GenericType(“我的数据”);
System.out.println(“值为”+strObj.getValue());
}
}
类泛型{
GT obT;
通用类型(GTO){
obT=o;
}
GT getValue(){
返回