shenang博客技术文档


理论不懂就实践,实践不会就学理论!

posts - 35,comments - 55,trackbacks - 0
 

                                        Java核心技术8总结()

1、常量

(1)    main中的常量 final int a=1;

(2)    类常量 private final int a=1; 同一个类的其他方法中也可以使用这个常量.如果声明为:public ,刚其它类的方法也可以使用这个常量。

2、Java数据类型

float   4 字节   32IEEE 754单精度有效数字6-7
double  8
字节  64IEEE 754双精度有效数字15
byte  1
字节     8 -128127
short  2
字节   16 -32,76832,767
int   4
字节    32 -2,147,483,6482,147,483,647
long  8
字节    64-9,223,372,036,854,775,8089,223,372,036, 854,775,807
char  2
字节  整个Unicode字符集
boolean 1
   True或者false

3、代码点与代码单元

(1)Length 代码单元数量 如:

(2)实际的长度,即代码点数量 codepointcount

(3)s.charAt(n) 将返回位置n的代码单元,n介于0s.length()-1之间

(4)要想得到第i个代码点,应该使用下列语句

也可直接使用 int cp=greeting.codePointAt(i) i介于0s.length()-1之间

4、构建字符串

用字符串连接的方式达到此目的效率比较低。每次连接字符串,都会构建一个新的String对象,既耗时,又浪费空间。使用StringBuilder类就可以避免这个问题的发生

StringBuilder builder=new StringBuilder();

    builder.append(a);

    builder.append(b);

    System.out.println(builder.toString());

StringBuilder()

构造一个空的字符串构建器。

int length()

返回构建器或缓冲器中的代码单元数量。

StringBuilder append(String str)

追加一个字符串并返回this

StringBuilder append(char c)

追加一个代码单元并返回this

 StringBuilder appendCodePoint(int cp)

追加一个代码点,并将其转换为一个或两个代码单元并返回this

 void setCharAt(int i,char c)

将第i个代码单元设置为c

StringBuilder insert(int offset,String str)

offset位置插入一个字符串并返回this

StringBuilder insert(int offset,Char c)

offset位置插入一个代码单元并返回this

StringBuilder delete(int startIndex,int endIndex)

删除偏移量从startIndex到-endIndex1的代码单元并返回this

String toString()

返回一个与构建器或缓冲器内容相同的字符串。

5、使用扫描器

Scanner scanner=new Scanner(System.in);

       System.out.println("please add you name:");

       String name=scanner.nextLine();

       System.out.println("how old are you:");

       int age=scanner.nextInt();

       System.out.println("hello,"+name+",you age is "+age);

boolean hasNext( )

检测输入中是否还有其他单词。

boolean hasNextInt( )
boolean hasNextDouble( )

检测是否还有表示整数或浮点数的下一个字符序列。

6、大数的计算

如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。

BigInteger add(BigInteger other) 
BigInteger subtract(BigInteger other)

BigInteger multiply(BigInteger other)

BigInteger divide(BigInteger other) 

BigInteger mod(BigInteger other) 

int compareTo(BigInteger other) 相等返回0,小于返负,大于返正

7、数组

(1)    将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组。

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

System.arrycopy(a,0,b,2,1) //a数组从0开始的值复制到b数组从2开始的值,共复制1

3)彩票原理

Int n=???

Int[] num=new int[n];

For(int i=0;i<n;i++)

{

Num[i]=i+1;

}

Int[] res=new int[k];

For(int i=0;i<res.length;i++){

 Int r=(int)(math.random)*n;

Res[i]=num[r];

Num[r]=num[n-1];

n--;

}

Arrays.sort(res);

For(int r:res){

System.out.println(r);

}

 

 

posted on 2009-04-13 13:02 重庆理工小子 阅读(355) 评论(0)  编辑  收藏 所属分类: JAVA基础

只有注册用户登录后才能发表评论。


网站导航: