Java基本数据类型
来源:互联网 发布:杭州淘宝拍摄基地tnt 编辑:程序博客网 时间:2024/06/17 16:56
一、Java语言标示符命名规则
1、由字母、下划线_、美元符号$、或数字组成
2、首字母必须以 字母 、下划线_ 、美元符号$ 开始
3、java标示符大小写敏感,标示符长度无限制
4、标示符需有一定的意义,做到“见名识意”,且不可和java中的关键字同名。
包名不可以以 java. 开头即第一个包包名不可以是java,否则会抛出java.lang.SecurityException异常
java中的关键字 都是小写字母,其中goto与const虽然从未使用过,但是也作为java中的关键字处理
一下给出java中的关键字列表
abstract
const
finally
int
public
this
null
boolean
continue
float
interface
return
throw
break
default
for
long
short
throws
byte
do
goto
native
static
transient
case
double
if
new
strictfp
try
catch
else
implements
package
super
void
char
extends
import
private
switch
volatile
class
final
instanceof
protected
synchronized
while
二、Java语言8种基本数据类型
byte
1字节 byte(0)
int
4字节 0
boolean
1字节 false
float
4字节 0.0f
char
2字节 ‘\u0000’(null)
long
8字节 0L
short
2字节 (short)0
double
8字节 0.0d
整数常量默认为 int 如123,实数常量默认为 double 如3.14
int a = 888; √
long i = 8888888888888888; × 因为整数默认为int,此整数超过int的存储范围
long j = 8888888888888888L; √
double m = 3.14; √
float x = 8.88; × 因为实数默认为double,但是double数的分配的存储空间比float数分配的存储空间大
float y = 8.88f; √
不同数据类型混合运算时转换规则:
1.、boolean类型不可以转换为其他的数据类型,boolean只能够赋予它true或是false,并测试它的真假,而不能够将boolean值进行相加或是其他任何运算,包括<等
2、容量小的数据类型自动转换为容量大的类型byte、char、short -> int -> long -> float -> double,因此参与运算的数据类型决定了运算结果的最后的数据类型;容量大的数据类型要转换为容量小的数据类型必须进行强制类型转换,但是有可能会造成数据溢出。多种数据类型混合运算时,系统首先就所有的数据转换为其中容量最大的数据类型,再进行计算
3、byte、char、short三种数据类型不会做自动转换,它们之间进行计算时首先都转换为int,如此byte、char、short任何一个做数学运算结果都将是int类型。但是可以将int变量直接赋值给byte、char、short,只要不超出它们可表示的范围。参与运算时如果结果不存于int类型变量则需要强制类型转换!
4、除boolean类型外,任何一种数据类型通过转换都可以转变为其它的数据类型,只是有可能会造成结果的溢出
请看如下demo: InternalTypeTest.java
package javabase.internaltype; public class InternalTypeTest { /** * Java基础类型测试 */ public static void main(String[] args) { int n = 888; //对 //long i = 8888888888888888; //错,默认为int,8888888888888888超出int范围 long j = 8888888888888888L; //对 double m = 3.14; //对 //float x = 8.88; //错,默认为double,float放不下 float y = 8.88f; //对 int a = 123; int b = 456; double c = (a+b)*3.14; //对,3.14为double所以首先将a,b都转换为double,再计算 //float f = (a+b)*3.14; //错,3.14为double所以计算结果为double,float装不下,需强制转换(float) byte b1 = 1; byte b2 = 2; //byte b3 = b1 + b2; //错,byte、char、short会将变量先转换为int再做计算,结果为int,需要强制转换(byte) } }
类型转换中的截尾和舍入:
不包括boolean类型
基本数据类型转换时,如果将存储空间小的类型转换为存储空间较大的类型(扩展转换)则不会有任何问题
但是如果将存储空间大的类型转换为存储空间小的类型(窄化转换),如果数据过大则会造成数据信息丢失
此时就有了截尾和舍入的处理:
demo: CastTest.java
package javabase.flowcontrol;public class CastTest {/** * 将有小数位的float、double类型的数据转换为int类型 */public static void main(String[] args) {float fabove = 0.9f, fbelow = 0.1f;double dabove = 0.9, bbelow = 0.1;//JVM默认的强制转换System.out.println("cast to int(fabove):"+(int)fabove); //0:没了0.9System.out.println("cast to int(fbelow):"+(int)fbelow); //0:没了0.1System.out.println("cast to int(dabove):"+(int)dabove); //0:没了0.9System.out.println("cast to int(bbelow):"+(int)bbelow); //0:没了0.1//使用java.lang.Math.round()方法转换://四舍五入小数位返回最接近参数的float->int或double->longSystem.out.println("cast to int(fabove):"+Math.round(fabove)); //1System.out.println("cast to int(fbelow):"+Math.round(fbelow)); //0System.out.println("cast to int(dabove):"+Math.round(dabove)); //1System.out.println("cast to int(bbelow):"+Math.round(bbelow)); //0}}
由上代码片段总结:将float、double类型转换为int类型时,不管小数位是否>0.5,全部截尾
如果要对小数位进行四舍五入则可借助java.lang.Math.round()处理
- Java数据类型之基本数据类型
- java数据类型之基本数据类型
- JAVA基本数据类型、数据类型转换
- Java 数据类型(基本数据类型、引用数据类型)
- Java数据类型(基本数据类型和引用数据类型)
- Java的数据类型:基本数据类型、引用数据类型
- Java数据类型:引用数据类型与基本数据类型
- C++基本数据类型 vs. Java 基本数据类型
- MySQL基本数据类型与Java基本数据类型
- Java基本数据类型转换
- java 基本数据类型
- java基本数据类型转换
- java中的基本数据类型
- java的基本数据类型
- Java基本数据类型转换
- java 基本数据类型转换
- Java基本数据类型转换
- JAVA基本数据类型
- Linux下mysql端口不能远程访问的问题(2)-防火墙问题
- IE10成第二受欢迎的IE浏览器
- 使用BCDEdit命令修改VISTA/WIN7启动项
- 【代码阅读的方法与实践】第1章 导论
- google开源项目介绍
- Java基本数据类型
- UVa458 The Decoder
- 简单测试java里一个对象的初始化是按怎样的顺序执行的
- 检测到不兼容的键盘驱动程序该对话框已被停用!
- ASP.NET身份验证
- Qt5.1静态库使用
- HDU 3415 Max Sum of Max-K-sub-sequence【单调队列】
- 7月国内智能终端浏览器市场:安卓自带浏览器第一
- Linux的bg和fg命令