目录
Scanner类
使用Scanner类需要,需要
导入Scanner类,方法如下
import java.util.Scanner;
用于获取用户的输入
创建Scanner对象的基本语法
Scanner sc=new Scanner(System.in);
不同的数据类型的输入语句也不同
byte a=sc.nextByte(); short b=sc.nextShort(); int c=sc.nextInt(); long d=sc.nextLong(); float e=sc.nextFloat(); double f=sc.nextDouble();
对于next()和nextLine()的区别
next()输入语句以空格为分界线,遇到一次空格为一次输入
输入123 456
123和456之间有空格
示例
String a; a=sc.next();
解释:此时a储存的值为123
nextLine()可以输入空格,以回车为分界线,遇到回车为一次输入示例
String a; a=sc.nextLine();
解释:此时a储存的值为123 456
一般用sc.hasNext()和sc.hasNextLine()判断是否还有输入的数据示例
while(sc.hasNext()) { int a=sc.nextInt(); }
解释:循环中,使用可以用于输入多组数据,用于判断是否还有输入
char变量的输入
java中没有直接给char变量输入的语句
可以使用以下语句对char变量进行赋值
char a=sc.next().charAt(0);
Math类
Math类的使用无需导入
abs()返回参数绝对值
示例
int a=-1; int b=Math.abs(a);
解释:b的值为1
min()和max()返回两个参数的最小值和最大值
示例
int a=Math.min(1,2); int b=Math.max(1,2);
解释:a用min(),获取较小的值,为1,b用max(),获取较大的值,为2
pow()返回一个参数的第二个参数次方
示例
double a=Math.pow(2,3);
解释:2的3次方,a为8.0,pow()返回的结果是double型
也可以使用pow()开n次方
示例
double a=Math.pow(4,0.5);
解释:4的0.5次方,为4开算数平方根,a为2.0,也可以以此开n次方
sqrt()求参数的算数平方根
示例
double a=Math.sqrt(4);
解释:4的算术平方根为2,a为2.0,sqrt()返回的结果是double型
Number类
Number类是抽象类,包装类(Byte、Short、Integer、Long、Float、Double)是Number的子类,包装类还有Boolean,Character
包装类对应的内置数据类型 包装类 基本数据类型 Byte byte Short short Integer int Long long Float float Double double Boolean boolean Character char
将字符串转换为对应数据类型
使用包装类.valueof(字符串)可以实现字符串转换为相应数据类型
方法一:
byte a=Byte.valueOf("1"); short b=Short.valueOf("1"); int c=Integer.valueOf("1"); long d=Long.valueOf("1"); float e=Float.valueOf("1.0"); double f=Double.valueOf("1.0"); boolean g=Boolean.valueOf("true");
使用包装类.parse数据类型(字符串)可以实现将字符串转换为相应数据类型
方法二:
byte a=Byte.parseByte("1"); short b=Short.parseShort("1"); int c=Integer.parseInt("1"); long d=Long.parseLong("1"); float e=Float.parseFloat("1.0"); double f=Double.parseDouble("1.0"); boolean g=Boolean.parseBoolean("true");
解释:以上两种方法将字符串全都转换成了对应的基本数据类型
对于parseInt(),可以将对应进制的数转换成十进制
int a=Integer.parseInt("16",16);
解释:16进制的16,为16*1+6=22,所以a的值为22
将对应数据类型转换为字符串
使用包装类.toString(基本数据类型)可以转换成字符串
示例
String a=Integer.toString(1); String b=Long.toString(1); String c=Float.toString(1.0f); String d=Double.toString(1.0); String e=Boolean.toString(true);
解释:以上全部字符串都被转换成对应类型
Aarrys类
对于数组操作方便
需要导入Arrays类
import java.util.Arrays;
sort()对数组中元素排序,从小到大
整体排序
sort(数组名)
示例
int []a={7,6,5,4,3,2,1}; Arrays.sort(a);
解释:对数组全部进行从小到大的排序,此时a数组中元素排序为1,2,3,4,5,6,7
局部排序
sort(数组名,开始下标,结束下标)
示例int []a={7,6,5,4,3,2,1}; Arrays.sort(a,1,5);
解释:对数组中从下标为1开始的元素到下标为5结束的元素进行从小到大的排序,此时a数组中元素排序为7,3,4,5,6,2,1
输出语句
输出语句常用的有如下三种
换行打印和不换行打印
这两个输出语句只有换行的差别,变量间用“+”连接
int a=2; double b=3; System.out.println(a+" "+b); System.out.print(a+" "+b);
解释:a为2,b为3,换行打印输出2 3.0,然后换行输出2 3.0,之后不换行
即输出结果
2 3.0
2 3.0
按格式输出
与C语言的输出方式一致
int a=2; double b=3; System.out.printf("%d %.2f",a,b);
解释:a为2是整型,输出用%d,b为双精度浮点数,输出用%f,%.2f即保留小数后两位数,会四舍五入,输出结果为2 3.00
双引号内可在最后加\n进行换行操作
System.out.printf("%d %.2f\n",a,b);