Cli*_*ote 46 java variables language-features types
所以我正在学习java,我有一个问题.看起来这些类型int,boolean并且string几乎float可以满足我在变量方面所需要的一切,除非在数字中需要十进制数字时可以使用.
我的问题是,其他类型的如long,double,byte,char等曾经在正常的日常编程中使用?可以使用哪些实用的东西?他们存在什么?
Nei*_*fey 114
可能除了"短"之外,可能有点浪费空间 - 有时字面上,它们都是课程的马匹:
[*]例如,在Pentium架构上的Hotspot中,除了除法之外,f loat和double操作通常需要完全相同的时间.
除非你真的理解它们,否则不要陷入这些类型的内存使用中.例如:
显然,有一些API调用(例如,由于某种原因需要浮点运算的非CPU密集型任务的各种调用),你只需要传递它要求的类型......!
请注意,String不是基本类型,因此它实际上不属于此列表.
Rol*_*der 18
java int是32位,而long是64位,所以当你需要表示大于2 ^ 31的整数时,long就是你的朋友.有关使用long的典型示例,请参阅System.currentTimeMillis()
一个字节是8位,是大多数现代硬件上最小的可寻址实体,因此在从文件读取二进制数据时需要它.
double的大小是float的两倍,所以你通常使用double而不是float,除非你对size或speed有一些限制并且float有足够的容量.
短路是两个字节,16位.在我看来,这是最不必要的数据类型,我在实际代码中并没有真正看到它,但同样,它可能对读取二进制文件格式或执行低级网络协议很有用.例如,ip端口号是16位.
Char表示单个字符,即16位.这与short的大小相同,但是short是有符号的(-32768到32767),而char是无符号的(0到65535).(这意味着ip端口号可能更准确地表示为char而不是short,但这似乎超出了chars的预期范围...)
有关这些细节的真正授权源,请参阅java语言规范.
| 归档时间: |
|
| 查看次数: |
87372 次 |
| 最近记录: |