Java数据类型及运算

(一),Java基本类型及运算

  注释:可以用于生成API;

    命令如:javadoc -d apidoc windowtitle hhh -doctitle aaa  -header bbbb -version -author *HelloWorld.java

   注意点:

     1,标识符只能是字母,数字,下划线和$,其中数字不能作为开头

     2,基本类型:1个字节对应于计算机的8位二进制,计算机以补码的形式存取整数,即正数的补码为其本身,而负数的补码为其反码(处最高位,其余位取反)然后加一

     3,类型装换:小类型装换为大类型是隐式装换如:float a=1,(非安全的),而像String 类型装换(显示转换:安全的)和大类型转小类型(需要强转)

     4,字符运算:如:("a"+7+"he")和(‘a’+7+"he")是不一样的后者为104he  因为byte,short,char与整数相加都取取值范围最大的(即int)

     5, 字符的存储的位置是常量池,如String s="a"  String s2="a" s==s2(因为s和s2都指向存储"a"这个常量池的位置)

     6, 移位运算:对于负数是以补码存在计算机中的,所以移位计算在其补码上进行,再返回其十进制的数值如-5<<2=-20(左移相当与乘以pow(2,移动位数),带符号右移相当于除运算(向下(小)取结果如值位于[-2,-1],结果为-2,值位于[1,2]结果为1)

     7,逻辑运算:短路与&&,或||   非短路与&,非短路或|     运算符的优先级:从上往下递减

      

注意点:

java里面没有无符号的数据类型,8位的byte取值为—2^7到2^7
精度:
float:4字节,32位,分为符号数(1),指数位数(8:max:256),小数位数(23:最大6位小数)float=3.111111e38
double:8字节,64位,分为符号数(1),指数位数(12:max:4048),小数位数(51:最大15位小数)
区别在于精度的位数,和取值的大小,建议double
声明float f=0.2f; long num=32L;
对比浮点数时,不能用相等,而用差值小于某个阈值才结束。
数字类:5默认为int,5.23默认为double

(二)控制结构及数组

    1,使用if else if() 一定要先处理范围小的     if{} ....和if{} ...else if{}...else{} 有区别的:前者是每个都会判断,后者只执行一个判断语句

    2, switch(expression)  {case 代码片:break;...default:}其中expression可以是byte,short,int,long,char,String和枚举(enum)类型

    3,break:结束一层循环  continue:结束一次循环  return:结束方法(不管有几层循环)

   数组

    1,数组声明两种方式: type arrayName[] ; type[]  arrayName;(推荐)定义数组时不能声明数组长度

    2,数组初始化:arryName=new type[]{element1,...};  或arrayName=new type[num];

    3,内存分布:数组引用(数组名)存在栈内存中,而数组对象存在堆内存中 通过数组引用来访问数组对象中的数据。(二维数组也是如此)

原文地址:https://www.cnblogs.com/ksWorld/p/6736146.html