Java 什么时候在int上使用字符串

Java 什么时候在int上使用字符串,java,string,Java,String,嘿,我是大学一年级的学生,学习Java的基础知识。我正在浏览一个使用阵列测量一年内平均降雨量的程序。在构造函数中使用字符串年份--为什么要使用String而不是int? 字符串到底是什么?它们的用途是什么?简单地说** 我试着在互联网上查找,但有如此巨大的变化,它太复杂了,我无法理解。我在大学里学习Java/CS才几个月 这取决于信息的来源和去向 例如,我最近在做一个涉及xml序列化工具的项目,其中序列化程序需要转换字符串和整数。如果我只是将所有变量作为字符串存储在java中,那么使用序列化程序

嘿,我是大学一年级的学生,学习Java的基础知识。我正在浏览一个使用阵列测量一年内平均降雨量的程序。在构造函数中使用
字符串年份--为什么要使用
String
而不是
int
字符串到底是什么?它们的用途是什么?简单地说**


我试着在互联网上查找,但有如此巨大的变化,它太复杂了,我无法理解。我在大学里学习Java/CS才几个月

这取决于信息的来源和去向


例如,我最近在做一个涉及xml序列化工具的项目,其中序列化程序需要转换字符串和整数。如果我只是将所有变量作为字符串存储在java中,那么使用序列化程序就更容易了。无论如何,我不需要对数字进行任何计算。

传统上,您使用的类型最适合您的场景

  • 如果需要进行与数字相关的数学运算,请使用能够进行该运算的数据类型,如
    int
    double
    long
    float
    ,等等

  • 如果不需要对其执行数学运算,或者将其用作标签,则可以使用
    字符串

(事实上,如果你真的想对日期做点什么,比如一起减去两年,理想情况下你也应该使用一个合适的对象。)


根据您所描述的,年份实际上仅表示为列标题,不需要更多,因此
字符串是唯一适合使用的类型。

String
与字符集合一起使用,例如:

  • 字符串:地球、学校、窗口

  • 整数:从-2147483648到2147483647(不带小数)

  • 字符:a、b、c、d、e

我们可以这样分类:

  • 对于数字:字节、短、整数、浮点、双精度、长

  • 对于字符:字符串,字符

  • 布尔值(真/假):布尔值


有关详细信息,您可以从

中查看字符串是文本,整数是数字。 使用这两种方法的原因是它们的工作方式

例如,求和

String string1 = "1";
String string2 = "2";
System.out.printLn(string1 + string2);
// Will output 12

int x = 1;
int y = 2;
System.out.printLn(x + y);
// This will output 3
比较两者也是不同的。

更好的答案是: 字符串用于存储纯文本数据。这可以包括:单词、单个字符、单个数字和符号,或者这些东西的任意组合。要定义字符串,请键入:

    String variable = "some words and numbers here 12345?!"; 
引号内的任何内容都将是变量的一部分

整数用于存储非十进制数字。例如,如果要存储数学运算(如+,-,/,*)可以使用的数字数据,则需要使用整数。虽然字符串可以保存数字数据,但它们不能直接用于数学运算。 例如:


希望这有帮助。

当您要存储字符数据时,使用字符串;当您要存储介于-2147483648和2147483648之间的数字数据时,使用int。Sting可以保存大量字符,但每个字符需要2字节或16位内存来存储。int是4字节或32位的固定大小。因此,当存储为字符串时,存储“2016”这样的年份比存储为整数需要更多的内存

有些人可能会将年份存储在字符串中而不是int中,这可能是因为他们希望对其执行常见的字符串操作。例如,作为字符串,只使用最后两位数字的代码很容易读取

String year = "2016";
System.out.println("Today is Thursday 02/04/" + year.substring(2));
这可能比对int执行一些算术以获得相同的结果更容易理解

int year = 2016;
int shortYear = year - 2000;
System.out.println("Today is Thursday 02/04/" + shortYear;

原因还有很多,但这只是一个简单的例子。

这实际上取决于它如何使用这些信息。您可以使用任意一种数据类型。也许在这里发布程序?最好的学习地方是:请参考“Java中的数据类型”“比较两者也是不同的。”当您使用
Integer
而不是
int
时,不会这样做。啊,这将改变这一点。我假设一个“整数”和c#中的“int”是一样的,我的错。谢谢,这更有意义!
int year = 2016;
int shortYear = year - 2000;
System.out.println("Today is Thursday 02/04/" + shortYear;