java核心技术8_Java核心技术8总结(一)

Java核心技术8总结(一)

1、常量

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

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

2、Java数据类型

float   4字节32位IEEE 754单精度有效数字6-7位double  8字节64位IEEE 754双精度有效数字15位byte  1字节8位-128到127

short  2字节16位-32,768到32,767

int   4字节32位-2,147,483,648到2,147,483,647

long  8字节64位-9,223,372,036,854,775,808到9,223,372,036, 854,775,807

char  2字节整个Unicode字符集boolean 1位True或者false

3、代码点与代码单元

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

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

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

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

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

4、构建字符串

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

StringBuilder builder=newStringBuilder();

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到-endIndex-1的代码单元并返回this。

String toString()

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

5、使用扫描器

Scanner scanner=newScanner(System.in);

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

String name=scanner.nextLine();

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

intage=scanner.nextInt();

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

boolean hasNext( )

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

boolean hasNextInt( )

boolean hasNextDouble( )

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

6、大数的计算

如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。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

{

Num[i]=i+1;

}

Int[] res=new int[k];

For(int i=0;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 重庆理工小子 阅读(323) 评论(0)  编辑  收藏 所属分类: JAVA基础

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值