免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1255 | 回复: 0
打印 上一主题 下一主题

java函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-18 08:25 |只看该作者 |倒序浏览

转自我的原创
http://blog.sina.com.cn/s/blog_4ecdfe3501000anq.html
2007-8-10 17:05
位移运算符只有>带符号右移,>>>不带符号右移三个,没有
大多数系统按Ctrl + C 可以停止死循环
利用浮点型数据控制循环时,调用abs()函数,例如
while(Math.abs(f1)
100时执行,你可以把Tolerance 设定为100.00001,或100.1011.
Math类
static int abs(int num)
返回num的绝对值;
static double acos( double num)
static double asin( double num)
static double atan(double num)
返回num的反余弦、反正弦、反正切
static  double cos(double angle)
static  double sin(double angle)
static double tan ( double angle)
以弧度值返回angle的余弦、正弦、正切
static double ceil(double num)
static double floor(double num)
返回num的下限,该值为大于等于num的最小整数
返回num的上限,该值为大于等于num的最大整数
注:个人认为返回值应为 int 类型
Static double exp(double power)
返回e的power次幂的值
Static double pow (double num, double power)
返回num的power次幂的值
Static double random()
返回介于0.0(含0.0)和1.0(不含1.0)之间的一个随机数
Static double sqrt(double num)
返回num的平方根,num必须为正值
Random 类
Random()构造方法,生成一个伪随机数生成器
float nextFloat()返回介于0.0(含)^1.0(不含)之间的一个随机数
int nextInt()
返回全体int 值 (包括正整数和负整数)范围内的一个随机数
int next (int num)
返回介于0 ^ num-1之间的 一个随机数
Sting类
String concat( String str)返回连接了str的一个新字符串
Boole equalsIgnoreCase(String str) 如果当前字符串包含了与str相同的字符串,忽略大小写,返回true,否则返回 false
String replace (char oldchar ,char newchar)返回一个新的字符串,将原字符串的oldchar 用newchar字符串替换
NumberFormat类位于java.text包中
String  format(double num)
返回根据该对象模式格式化某个具体数字后的一个字符串
Static NumberFormat getCurrencyInstance()
返回当前对象的货币格式
static NumberFormat getPercentInstance()
返回当前对象的百分比格式
关于格式化,看下面 一个例子:
import java.util.Scanner;
import java.text.NumberFormat;
public class Purchase
{
  public static void main(String[] args)
    {
       final double TAX_RATE=0.06;//6% sales tax
       int quantity;
       double subtotal,tax,totalCost,unitPrice;
       Scanner scan=new Scanner (System.in);
       NumberFormat fmt1 = NumberFormat.getCurrencyInstance();
       NumberFormat fmt2 = NumberFormat.getPercentInstance();
       System.out.print ("Enter the quantity:");
       quantity=scan.nextInt();
       System.out.print ("Enter the unit price:");
       unitPrice=scan.nextDouble();
       subtotal=quantity*unitPrice;
       tax = subtotal*TAX_RATE;
       totalCost = subtotal +tax;
       //print output with appropriate formatting
       System.out.println("Subtotal :"+fmt1.format(subtotal));
       System.out.println("Tax:" + fmt1.format ( tax) +"  at  "
                                      +fmt2.format(TAX_RATE));
       System.out.println ("Total :"+fmt1.format (totalCost));
       }
}
运行结果:
Enter the quantity:5
Enter the unit price:3.87
Subtotal :¥19.35
Tax:¥1.16  at  6%
Total :¥20.51
DecimalFormat 类 位于java.text类中
DecimalFormat( String pattern)
构造方法:以特定模式创建一个新的Decimal对象
Void applyPattern ( String pattern)
将特定模式应用至DecimalFormat对象
String format (double number)
根据当前模式返回含格式化处理的数值的一个字符串
程序清单
import java.util.Scanner;
import java.text.DecimalFormat;
public class CircleStats
{
    public static void main(String [] args)
     {
        int radius;
double area,circumference;
Scanner scan  =new Scanner  (System.in);
System.out.print ("Enter the circle's radius :  ");
radius  = scan.nextInt();
  
area =Math.PI*Math.pow(radius,2);//原来PI也可以这样用
circumference = 2*Math.PI*radius;
// Round the output to three decimal places
DecimalFormat fmt=new DecimalFormat ("0.###");
System.out.println ("The circle's area :"+fmt.format(area));
System.out.println ("The circle's circumference :"
                                                                        +fmt.format(circumference));
}
}
运行结果:
Enter the circle's radius :  5
The circle's area :78.54
The circle's circumference :31.416
枚举类型例
class IceCream
{
  enum Flavor { vanilla, chocolate, strawberry,fudgeRipple,coffee,
                         rockyRoad, mintChocolateChip,cookieDough}
public static void main(String[] args)
{  
      
  Flavor cone1,cone2,cone3;
  cone1 = Flavor.rockyRoad;
  cone2 = Flavor.chocolate;
  System.out.println ("cone1 value :" + cone1);
  System.out.println ("cone1 ordinal :" + cone1.ordinal() );
                System.out.println ("cone1 name :" + cone1.name() );
  System.out.println ();
  System.out.println ("cone2 value :" + cone2);
  System.out.println ("cone2 ordinal :" + cone2.ordinal() );
  System.out.println ("cone2 name :" + cone2.name() );
  cone3 =cone1;
  System.out.println ();
  System.out.println ("cone3 value :" + cone3);
  System.out.println ("cone3 ordinal :" + cone3.ordinal() );
  System.out.println ("cone3 name :" + cone3.name() );
}
}
运行结果
cone1 value :rockyRoad
cone1 ordinal :5
cone1 name :rockyRoad
cone2 value :chocolate
cone2 ordinal :1
cone2 name :chocolate
cone3 value :rockyRoad
cone3 ordinal :5
cone3 name :rockyRoad
如何在提示中打印出”是--Y,否---N“
由于java没有提供nextChar()函数,所以定义
了Scanner 对象rader后,不能调用rader.nextChar ()
但是java既然没有提供,肯定提供的现有类能解决这样的问题。
肯定的,nextline()函数就可以解决这个问题。你可以这样解决:
Scanner reader = new Scanner(System.in);
String str ="Y";//注意用双引号
while (str1.equalIgnoreCase("Y"))//allows y or Y
{
、、、、、
str=reader.nextLine ();
}
2007-8-17 16:25
可变长参数列表
函数重载可以解决部分参数个数不一样的东西。Java 提供一种接受可变长参数列表的
方法定义。list是一个公共数组。(自定义 public)
public average ( int ... list)
{
double result = 0.0;
if (list.lenth != 0)
{
  int  sum = 0;
  for (int sum:list)
  sum+=num;
  result = (double) sum /list.length;
}
return result;
}
参数类型可以是基本类型,也可以是对象数据类型。
Grade 是自定义的一个类,grades是他的一个数组
public void printGrades (Grade ... grades)
{
   for (Grade  letterGrade : grades);
   System.out.println (letterGrade);
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/76493/showart_1132834.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP