您的位置:首页 > 编程语言 > Java开发

Java零基础系列002——命名、变量类型、类型转换、JDK中二进制整数和数字分隔符新特性

2015-01-28 17:18 585 查看
public class BasicDataType {

public static void main(String[] args) {
/*
* 标示符:用于给变量、方法、类命名,必须以字母、下划线、$符号开头。以字母、下划线、数字、$符号组合,且不能为关键字
*
*
* */
System.out.println("--------------标示符------------");
int $,_,a;//正确的命名
int 彭驰=12;//由于Java内部采用Unicode编码方式,所以可以用汉字命名
System.out.println("以彭驰命名的变量的值"+彭驰);

/*
* java的数据类型,Java是强类型语言,所以变量必须声明类型。
*                 *数值型(byte、short、int、long--------------float、double)
*         *        *
*         *基本数据类型
* 数据类型*        *字符型(char)
*         *        *
*         *        *数组
*         *引用数据类型
*         *        *类
*         *        *接口
*
*         *
*/
System.out.println("-------------数值类型------------------");
//数值型,java内部常量整型数值的默认类型是int型
byte by = 100;//byte占1字节,表数范围是-128~127(-2^8~2^8-1)
short sh = 30000;//short占2个字节,表数范围是-2^16~2^16-1(大约3万)
int in = 300000;//int占4个字节,表数范围是-2^32~2^32-1(大约21亿)
long lo = 30000000L;////long占8个字节,表数范围是-2^64~2^64-1(大约很多很多),数字后面加L(l)说明该数值是long型
System.out.println("by:"+by+" "+"sh:"+sh+"in:"+in+" "+"lo:"+lo);
//浮点数,java内部小数常量的默认类型是double型
float fl = 3.14f;//float占4字节,表数范围是-3403e38~3403e38(e38=10^38),float型常量后面加f,不然系统会认为它是double型,而报语法错误
double dou = 3.14;//double占8个字节,表示范围在-1798e308-1798e308
System.out.println("fl:"+fl+" "+"dou:"+dou);
//浮点数都会有误差,所以少用它们当比较判断,如下面
System.out.println("3.14*100==314%100的输出:"+(3.14*100==314%100));//输出结果为false,因为浮点型数值存在误差,比如1.0的真实值只有0.999999999999999.

//char字符型,占两字节,用‘’号。
char ch = 'a';
//常见转义符:\b-退格,\n-换行、\r-回车、\t-tab、\"-双引号、\'-单引号、\\-反斜杠,

//boolean类型
boolean bool = true; //boolean占1位。是1位不是1字节,其值不是true就是false

/*
* 自动转换
*         一般容量小的类型可以自动转换成容量大的类型
*          *
*/
sh=by;//byte转换成short,无需强转
in=sh;in=by;in=ch;//byte、short、char转换成int,无需强转
lo=in;lo=sh;lo=by;//int、short、byte转换成long,无需强转
fl=in;fl=lo;//int、long转换成float,无需强转,但会有精度损失
dou=fl;dou=in;dou=lo;//float、int、long转换成double,int、long转时会有精度缺失

/*
* 强制类型转换
*/
ch=(char)in;//强制类型转换在前面加括号和强转类型

/*
* 类型提升
*/
float lo1 = 4.0f+in;//4.0f+in后类型会自动提升为float

/*
* JDK7新特性----二进制和数值分隔符
*
*/
System.out.println("JDK7新特性----二进制和数值分隔符");
int in1 = 0b00000000000000000000000000000010;//JDK7以0b开头后面可以直接写二进制的编码
int in2 = 1_000_000;//JDK7下可以用下划线对数值进行分割,方面查看
System.out.println("二进制00000000000000000000000000000010的值:"+in1);
System.out.println("1_000_000的值:"+in2);

}

}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐