什么时候使用String over int

时间:2016-02-04 18:30:47

标签: java string

嘿,我是大学一年级学习Java的基础知识。我正在查看一个程序,该程序使用数组测量一年内的平均降雨量。在构造函数中,它使用String year; - 为什么要使用String而不是int? 究竟是什么Strings以及它们用于什么 - 简单**

我尝试在互联网上寻找,但是有太大的变化,这对我来说太复杂了。我在大学里只学习了几个月的Java / CS。

6 个答案:

答案 0 :(得分:4)

传统上,您使用最适合您的方案的类型。

  • 如果您需要进行与数字相关联的数学运算,请使用具有该数字的数据类型,例如intdoublelongfloat

  • 如果您不需要对其进行数学运算,或者您将其用作标签,那么可以接受String

(实际上,如果你真的想对日期做些什么,比如一起减去两年,理想情况下你也可以使用适当的对象那个。)

根据您的描述,这些年份实际上只是作为列标题,并且不再需要它们,因此String是唯一合适的类型。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

  • Ints:从-2147483648到2147483647(不含小数)

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

我们可以这样分类:

  • 对于数字: byte,short,int,float,double,long

  • 对于characers: String,char

  • 对于布尔人(真/假):布尔

有关详情,请查看Oracle Java Documentation

答案 3 :(得分:0)

String是文本,Integer是数字。 你使用这两者的原因是它们的工作方式。

例如求和

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

两者的比较也不同。

答案 4 :(得分:0)

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

    String variable = "some words and numbers here 12345?!"; 

引号内的任何内容都将成为变量的一部分。

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

    //this works
    int a=4;
    int b=2;
    int c=(a+b);
    //int c now equals 6
    //this does not work
    String a="4";
    String b="2";
    String c=(a+b);
    //String c now equals 42, because you are adding the strings "4"+"2", not the numbers 4+2.

希望这会有所帮助。

答案 5 :(得分:0)

当您想要存储字符数据时使用字符串,当您想要存储介于-2147483648和2147483648之间的数字数据时,将使用int.S刺可以容纳非常多的字符,但每个字符将需要2个字节或16位内存来存储。 int是4字节或32位的固定大小。所以存储一年如" 2016"当存储为String时,需要更多的内存存储,然后存储为整数。

有人可能在String中存储一年而不是int的原因可能是因为他们想对它执行常见的String操作。作为字符串,很容易读取仅使用最后两位数的代码。

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;

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