《疯狂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); } }
相关文章推荐
- 《疯狂JAVA讲义》之十一——Java基本数据类型之二
- (十二)Java入门--基本数据类型对象包装类
- 黑马程序员 Java自学总结十二 String类和基本数据类型包装类
- 《疯狂JAVA讲义》之十——Java基本数据类型之一
- Java的基本数据类型与流
- java 基本数据类型和包装类
- java 基本数据类型之间的转换
- Java基本数据类型转换
- Java基本数据类型转换(转)
- java基本数据类型转换
- Java基本数据类型转换 [转]
- java--基本数据类型与对应的包装类
- 2006-07-28 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆
- java中的基本数据类型
- java基本数据类型与其封装类
- Java 基本语法——数据类型
- Java的基本数据类型与流 (ZT)
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- Java中基本数据类型与流
- java的八种基本数据类型