1.Math类
public final class Math
extends Object
Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。
Math类没有构造方法,不需要对象就可以访问Math类中的变量和方法
Math类中的变量和方法都是static修饰
常用方法:
static double E :double值比其他任何一个都更接近 e ,自然对数的基数。
static double PI:double值比任何其他的更接近 pi ,圆周长与其直径的比率。
static double max(double a, double b) 返回两个 double值中的较大值。
static double min(double a, double b) 返回两个 double的较小值。
static double random() 返回值为 double值为正号,大于等于 0.0 ,小于 1.0 。
static long round(double a) 返回参数中最接近的 long ,其中 long四舍五入为正无穷大。
static double sqrt(double a) 返回的正确舍入正平方根 double值。
static double pow(double a, double b) 将第一个参数的值返回到第二个参数的幂。
public static void main(String[] args) {
//Math中的成员变量
//static double E :double值比其他任何一个都更接近 e ,自然对数的基数。
System.out.println("E=="+Math.E); //2.718281828459045
//static double PI:double值比任何其他的更接近 pi ,圆周长与其直径的比率。
System.out.println("PI=="+Math.PI); //3.141592653589793
//Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。
//static double max(double a, double b) 返回两个 double值中的较大值。
double num1=12.5;
double num2=168.8;
System.out.println("max()=="+Math.max(num1, num2));
//static double min(double a, double b) 返回两个 double的较小值。
System.out.println("min()=="+Math.min(num1, num2));
//static double random() 得到一个0~1之间的随机数
System.out.println("random()=="+Math.random());
//得到1~10之间的随机数
int suijishu1=((int)(Math.random()*10))+1;
//得到1~100之间的随机数
int suijishu2=((int)(Math.random()*100))+1;
//static long round(double a) 返回参数中最接近的整数 ,可以四舍五入
System.out.println("round()=="+Math.round(11.5)); //四舍五入12
System.out.println("round()=="+Math.round(-11.8)); //最接近的整数12
//static double sqrt(double a) 返回的正确舍入正平方根 double值。
System.out.println("sqrt()=="+Math.sqrt(9)); //3.0
//static double pow(double a, double b) 将第一个参数的值返回到第二个参数的幂。
System.out.println("pow()=="+Math.pow(2,3)); //8.0
}
由上可以做出:得到1~100之间的随机数
public static void main(String[] args) {
//得到1~100之间的随机数
int suijishu2=((int)(Math.random()*100))+1;
boolean flag=true;
//创建Scanner类的对象
Scanner input=new Scanner(System.in);
while(flag){
System.out.println("请输一个1~100之间的整数数字:");
int inputnum=input.nextInt();
//比较
if(inputnum>suijishu2){
System.out.println("您输入的数字太大了!");
}
if(inputnum<suijishu2){
System.out.println("您输入的数字太小了!");
}
if(inputnum==suijishu2){
System.out.println("恭喜你,才对了!");
flag=false;
}
}
}
2.Scanner类
public final class Scanner
extends Object
implements Iterator<String>, Closeable
为能够从命令提示行【控制台】来读取一个输入数据。
Scanner(InputStream source)创建一个通过字节流读取数据的Scanner对象
InputStream---java.io包中的字节流,读取数据。
我们要从命令提示行【控制台】来读取一个输入数据,因此要求Scanner构造方法的参数InputStream指向键盘的输入操作。
System.in【InputStream】---正规的键盘输入流【“标准”输入流。】
例如:Scanner input=new Scanner(System.in);
常用方法:
String next()接收输入的字符串数据
boolean nextBoolean()接收输入的boolean数据
double nextDouble() 接收输入的小数数据
int nextInt() 接收输入的整数数据
String nextLine()接收输入一个整行的数据
public static void main(String[] args) {
//Scanner(InputStream source)创建一个通过字节流读取数据的Scanner对象
Scanner input=new Scanner(System.in);
//String nextLine()接收输入一个整行的数据
System.out.println("请输入地址:");
String address=input.nextLine();
System.out.println("请输入姓名:");
//String next()接收输入的字符串数据
String name=input.next();
//int nextInt() 接收输入的整数数据
System.out.println("请输入年龄:");
int age=input.nextInt();
//double nextDouble() 接收输入的小数数据
System.out.println("请输入身高:");
double height=input.nextDouble();
//boolean nextBoolean()接收输入的boolean数据
System.out.println("请输入性别:");
boolean sex=input.nextBoolean();
System.out.println(name+"\t"+age+"\t"+height+"\t"+sex+"\t"+address);
}
next()与nextLine()的区别?
next():
1.停止录入的结束符有空格、Tab键和回车键(录入内容不含结束标志)
2.next()对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。所以next()不能得到带空格的字符串,而nextLine()是遇到回车键才结束,所以可以得到带空格的字符串。
nextline():停止录入的结束标志只有回车键。