码迷,mamicode.com
首页 > 编程语言 > 详细

Java拾遗

时间:2014-07-24 22:45:43      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   使用   os   strong   数据   

Java的基本数据类型

  • 4种整型:int(4字节)、short(2字节)、long(8字节)、byte(1字节)
  • 2种浮点数:float(4字节)、double(8字节)
  • Java中,整型的范围与运行Java代码的机器无关,长整型加L
  • float类型数值有一个后缀F(例如,3.14F),没有后缀F的浮点数值(如3.14)默认为double类型,也可以在浮点数后面添加后缀D(例如,3.14D)
  • 在JDK 5.0中,可以使用十六进制表示浮点数值。例如,0.125可以表示成0x1.0p-3,在十六进制中,使用p表示指数,而不是e,尾数采用十六进制,指数采用十进制,指数的基数是2,而不是10
  • char类型表示单个字符,Unicode编码的字符单元的字符类型
  • 代码点:指与一个编码表中的某个字符对应的代码值
  • 代码单元:在基本的多语言级别中,每个字符用16位表示,通常被称为代码单元
  • boolean类型,整型值与布尔值之间不能进行相互转化
  • 变量必须初始化,不能使用未被初始化的变量
  • 在Java中,变量的声明尽可能地靠近变量第一次使用的地方

 

常量

 关键字final表示这个变量只能被赋值一次。一旦被复制就不能够再更改了。

 在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量,使用关键字static final设置一个类常量;Java中必须使用final定义常量

移位

&与|运算符用布尔值,得到的值结果也是布尔值,不按"短路"方式计算

>>>运算符将0填充高位;>>运算符用符号位填充高位,没有<<<预算符

对移位运算右侧的参数需要进行模32的运算(除非左边的操作数是long类型,在这种情况下需对右侧的数模64),例如,1<<35与1<<3是相同的

 

String

  不能使用==运算符检测两个字符串是否相等!这个运算符只能够确定两个字符串是否放置在同一个位置上,如果字符串放置在同一个位置上,他们必然相等,但是,完全有可能将内容相同的多个字符串的拷贝放置在不同的位置上,如果虚拟机始终将相同的字符串共享,就可以使用==运算符检测是否相等,但实际上只有字符串常量是共享的,而+或substring等操作产生的结果并不是共享的,不能再嵌套的两个块中声明同名的变量

 

switch

  case标签可以是byte、short、int、char(或其他包装器类Character、Byte、Short、Integer)、枚举常量,从Java SE7.0开始,还可以是字符串常量

 

数组

  数组长度不要求是常量:new int[] 会创建一个长度n的数组,一旦创建了数组,就不能再改变它的大小了(尽管可以改变每一个数组元素),如果经常需要在运行过程中扩展数组大小,就应该使用另一种数据结构——数组列表

 

for each循环

  for(variable : collection)

    statement;

collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口类的对象(例如ArrayList)

在Java中,允许数组长度为0

 

数组拷贝

  在Java中,允许将一个数组变量拷贝给另一个数组变量,这时,两个变量将引用同一个数组

1 int[] luckyNumbers = smallPrimes;
2 
3 luckyNumbers[5] = 12; // now smallPrimes[5] is also 12

如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyOf方法

int[] copiedLuckyNumbers = Arrays.copyOf(luckyNumbers, luckyNumbers.length);

这个方法通常用来增加数组的大小:

luckyNumbers = Arrays.copyOf(luckyNumbers, 2*luckyNumbers.length);

如果数组元素师数值型,那么多余的元素将被赋值为0;如果数组元素是布尔型,则将赋值为false;如果长度小于原始数组的长度,则只拷贝前面的数据元素。

 

数组排序

  Arrays.sort(a);   优化的快速排序算法

  Math.random 方法返回一个0到1之间(包含0,不包含1)的随机浮点数,用n乘以这个浮点数,就可以得到从0到n-1之间的一个随机数

 

int r = (int) (Math.random() * n);

 

快速打印一个二位数组列表:  

System.out.println(Arrays.deepToString(a));

 

 

 

 

 

Java拾遗,布布扣,bubuko.com

Java拾遗

标签:style   blog   java   color   使用   os   strong   数据   

原文地址:http://www.cnblogs.com/xzgc/p/3832678.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!