Java探索之旅(4)——方法和Random&Math类
来源:互联网 发布:陪你读书javascript 编辑:程序博客网 时间:2024/05/22 12:44
1.基本知识点
❶方法在C++里面称为函数。调用方法时,应该类型兼容——即不需显式类型转换即可将形参传递给实参。 ❷形参的改变不影响实参的值。 ❸Java注重模块化设计和自顶向下的设计
2.Math类
Math隐式导入,故不需要import。常用函数如下:
❶正三角和反三角函数:sin(),cos(),tan(),asin(),acos(),atan()。类型均为double,输入弧度 ❷角度弧度转换函数:toRadians(),toDegrees()。参数和返回类型均为double ❸指数函数和对数函数:exp(),log(),log10(),pow(),sqrt() ❹取整函数:上整ceil(),下整floor,取最近整数(距离相等返回奇数)rint() round(float x)=(int)floor(x+0.5),round(double x)=(long) floor(x+0.54) ❺两者之间最大min(),最小max(),输入2数类型可相异;绝对值abs()
3.生成随机数Random
❶0.0<=Math.random()<1.0。
Math.random()*100; //返回位于[0 100)的随机数,但是不等于100 'a'+Math.random()*('z'-'a'+1); //随机返回‘a’-'z'之间的字母
随机返回[a,b]之间的数或者字符(a+Math.random()*(b-a+1))。如果没有+1,则返回值的区间为[a,b)。使用方法如下面代码。
❷Random类
利用java.util.Random类定义的随机数产生对象。如果种子相同,产生的随机数也相同,默认以当前时间为种子。使用方法如下:
java.util.Random data=new java.util.Random(3);//使用种子3产生随机数,默认以当前时间为种子int a=data.nextInt();int b=data.nextInt(1000);//(0,1000)之间的随机整数double c=data.nextDouble();//(0,1.0)之间的随机数float d=data.nextFloat();//(0.0F,1.0F)之间随机数boolean e=data.nextBoolean();//随机false or true
4.代码
❶调用函数计算任意10进制数的16进制形式 ❷调用扩展类生成100个'a'-'z'之间的随机字符
package function_study;import java.util.Scanner;public class function_study {public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("输入一个大于0的数---"); int decimal=input.nextInt(); String hex=""; while(decimal!=0)//int值不能作为boolen类型,此处不能直接使用decimal { hex=decimal2hex(decimal%16)+hex; decimal/=16; } hex="0X "+hex; System.out.println("10进制转换为16进制的结果是---"+hex); input.close(); for(int i=0;i<100;i++)<span style="font-family: Arial, Helvetica, sans-serif;">//随机生成a-z之间的100个字符</span> if((i+1)%10==0) System.out.println(RandomCharacter.getRandomLower()); else System.out.print(RandomCharacter.getRandomLower());}public static char decimal2hex(int decimal){if(decimal>=0&&decimal<=9)return (char)('0'+decimal);elsereturn (char)(decimal-10+'A');}}package function_study;public class RandomCharacter {public static char getRandomCharacter(char ch1,char ch2) {return (char)(ch1+Math.random()*(ch2-ch1+1));}public static char getRandomLower() {return getRandomCharacter('a','z');}public static char getRandomHigh() {return getRandomCharacter('A','Z');}public static char getRandomDigit() {return getRandomCharacter('0','9');}public static char getRandomCharacter() {return getRandomCharacter('\u0000','\uFFFF');}}
0 0
- Java探索之旅(4)——方法和Random&Math类
- JAVA常用类之——Math和Random
- Java学习笔记之常用方法类(三) Data和Calendar类、Math、BigInteger和Random类、Random类
- java.util.Random 和java.lang.Math的random方法
- java中Random类和Math类中的random方法的联系和区别
- Math和Random类常用方法
- Math类random方法
- JAVA API系列----Math和Random类
- JAVA API系列----Math和Random类
- Math和Random类
- Math.random()和java.util.Random对比
- java基础<math和Random>
- Java常用类库——Math、Random类
- Java-随机数——Math.random()、Random.next()
- Math中的random和Random类
- JAVA中Math类的random()方法使用
- java-Math类Random方法获取随机数案例
- Random类和Math.radnom()方法的联系
- 为什么不能是 char *p = "test"; ?
- 第9周 项目1-3 运用do-while语句做循环程序求和
- jQuery插件制作之全局函数
- 【android】使用Event Bus模式解耦Android App组件间通信
- HTTP请求头和响应头
- Java探索之旅(4)——方法和Random&Math类
- STL之五 InputIterator ForwardIterator BidirectionalIterator RandomAccessIterator
- 为什么扔掉windows,去使用高端大气上档次的linux?
- 一个面试题,我写的算法
- java 多线程 executor callable runnable future
- c语言连接mysql
- 10.24
- html+css三栏布局-浮动方法
- Insightful Thought on Load Balance Solution Choice