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

《疯狂JAVA讲义》之十二——Java基本数据类型之三

2017-05-04 23:23 274 查看
package com.huateng.mjq.chapter3;
/**
* java直接量:直接量是指在源代码中直接给出的值;Java中的直接量有三种:基本类型,字符串和null;
* 具体而言,有如下八种直接量:
* int    支持  二进制(0b开头)、八进制(0开头)、十进制、十六进制(0x开头)的值
* long  在整数值后面加上L或者l   0b11101L等等
* float  在浮点数(标准小数形式或者科学计数法形式)后加上f或者F   5.34F或者3.14E5f;
* double  浮点数  标准小数形式或者科学计数法形式
* boolean  true false
* char   'a'  '\u0000' '\n'
* String   "你好"
* null   null  只能赋值给引用变量,表示该变量还没有指向任何有效对象
* 各个直接量之间可以通过类型转换进行转换,具体转换规则不再赘述
* @author Administrator
*
*/
public class PrimitiveType_8 {
//没例子
}
package com.huateng.mjq.chapter3;
/**
* 关于java运算符,这里做一个总结:
* 一共分为四大类:算术运算符、逻辑运算符、比较运算符、移位运算符,赋值运算符,三目运算符,如果非要加入其他的话,()和instanceof 也算
* 算术运算符又分为:单目运算符:++,--   这个也没什么好说,前i++与++i的区别自己查,注意这两个操作符不会发声类型自动提升
* 			        双目运算符:+,-,*,/,%  这个里面最需要知道的就是/与%中涉及到整数、浮点数、0的运算
* 							a/b运算中:若a为任意整数,b为0,则抛出异常
* 									若a为浮点数,则允许b为0;若b为0.0,则a为任意整数;所得结果为正负无穷大 Infinity(所有的正无穷都相等)   -Infinity(所有的负无穷都相等)
* 									若a、b均为整数,则为整除
* 									若a、b的绝对值均为0,且则结果为NaN,非数,非数与任何值都不相等
* 									表达式类型自动提升规则使用;
* 							a%b运算中,跟a/b运算注意点相同    需要注意的就是求余的规则:所得结果的符号由a决定,然后对|a|%|b|的值即可。
* 							a%b = a - a/b
* 逻辑运算符有:|,&,!,^,||,&&  没什么好说,无非就是|与||区别
* 比较运算符:>  >=  <   <=  ==   !=
* 		   >  >=  < <= 这些运算符仅用于比较数值,不论两个操作数的类型是否相同,只要是数值型,都可以进行比较
* 			==  !=   既可以用于对基本数据类型(包括数值型、布尔值)的比较,也可以用于引用类型的比较(要求操作变量之间有继承关系或者类型相同)
* 赋值运算符:=   可以进行连等
* 三目运算符:布尔表达式 ?A:B   三目运算符可以嵌套
* 移位运算:<< : 左移运算    移动后空出来的位置用0补齐即可
*        >> : 有符号右移运算    移动后空出来的位置用符号补齐
* 		  >>> :无符号右移运算     移动后空出来的位置用0补齐
* 		移位运算可以进行快速的将一个数扩大或者缩小2^n(在没有溢出的情况下)
* () ,instanceof :是java强制类型转换和在运行时进行引用类型与某一个类类型相同与否的测试运算符
* equals()与 == 区别
* 还有其他的运算符:+=,-=,*=,/=,%=,<<=,>>=,>>>=,|=,&=,^=就不介绍了
* @author Administrator
*
*/
public class PrimitiveType_9 {
public static void main(String [] args)
{
test2();
}
/*1
Infinity
-Infinity
NaN
NaN
1.6666666666666667
NaN
NaN
NaN
NaN
2.0
2.0
-2.0
-2.0
1.9*/
public static void test1()
{
short i = 1;
//i+1 表达式运算后类型自动提升为int,所以无法直接赋值给b
//short b = i+1;
//++运算不会发生类型自动提升
short c = i++;
short d = ++i;
System.out.println(5/3);
//System.out.println(0/0);
System.out.println(5.0/0);
System.out.println(-5/0.0);
System.out.println(0/0.0);
System.out.println(0.0/0);
System.out.println(5.0/3.0);
//System.out.println(0%0);
System.out.println(5.0%0);
System.out.println(5%0.0);
System.out.println(0%0.0);
System.out.println(0.0%0);
System.out.println(5.0%3.0);
System.out.println(5.0%-3.0);
System.out.println(-5.0%3.0);
System.out.println(-5.0%-3.0);
System.out.println(5%3.1);
}
/*true
true
true
true
*/
public static void test2()
{
System.out.println(5.0>3);
System.out.println(5.0 == 5);
char a = 92;
System.out.println(5 != a);
int b,c,d,e;
b=c=d=e=10;
//如下写法不可通过编译,变量c,d,e未声明
//int b=c=d=e=10;
PrimitiveType_9 x = new PrimitiveType_9();
System.out.println(x instanceof Object);
}
}



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