emmm此篇博客只是由一个初学Java的小白所写,为了记录学习中遇到的问题,对一些dalao来说可能有点浅显,在入门阶段会随时更新的。
1.浮点数的精确方法。
double sum=input.nextDouble();
sum= (double)(Math.round(sum*10000))/10000;//sum精确到四位小数
Math.round(double)具有四舍五入的功能,其他的就不用多说了吧
2.随机生成范围内字符
for(int i=0;i<10;i++) {//随机生成十个A-Z范围内字符
System.out.print(randomc('A','Z')+" ");
}
public static char randomc(char ch1,char ch2) {//函数方法
return (char)(ch1+Math.random()*(ch2-ch1+1));}
Math.random()随机生成一个0~1的浮点数,加一是为了确保能去到Z。
3.在数组中单个字符的输入
char[] city=new char[10];
for(int i=0;i<city.length;i++) {
city[i]=input.next().charAt(0);//以空格隔开
}
3.直接在字符串数组中输入一串字符(中间无空格隔开)
char[] city=new char[10];
city=input.next().toCharArray();
System.out.println(city);
4.使用Java打印当前时间以及自1970年至今的时间。
java.util.Date date=new java.util.Date();
System.out.println("the elapsed time since Jan 1,1970 is "+date.getTime()+"milliseconds");
System.out.println(date.toString());
5,方法重载(Overload):对于类似功能的多个方法,只要记住一个相同的方法名即可,可以根据参数列表自动适配,方法的名称跟变量的名称可以一样,方法名称也可相同,但是参数个数或类型,j及参数的类型顺序有不同。
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
// int n = input.nextInt();
int a;
int i;
//float num = (float) 2.12;
// while (n-- > 0) {
a = sum(10,20,30);
System.out.println(a);
a=sum(10,20);
System.out.println(a);
//}
}
public static int sum(int a,int b,int c) {
return a+b+c;
}
public static int sum(int a,int b) {
return a+b;
}
}
7,当表达式的数据类型不同时,谁的数据范围大,就是谁,如下,方法类型为double.
public static double sum(int a,double b) {
return a+b;
}
8.局部变量和成员变量:这两者很容易搞混,但只要牢记以下两点:
局部变量:定义在方法内部,在栈内存中,没有默认值
成员变量:定义在类里面,方法外部,在堆内存中,默认值为0。
9,字符串的创建方法:String str=new String(char[]a rray,int start,int num);start表示数组的开始下标,num表示从下标开始的几个数字。
public static void main(String[] args) {
char[] array= {'h','e','l','l','o','w'};
String str=new String(array,2,3);
System.out.println(str);
}
10.关于字符串的几点描述(string类内容不可改变):
a,字符串池是位于堆内存的一小块空间,用来保存若干个字符串地址
b,字符串池不会出现重复字符
c,凡是有双引号的都在池中,new出来的不在。
11.关于字符串的比较:空指针问题
String str=null;
System.out.println("abc".equals(str));//false
System.out.println(str.equals("abc"));//报错,空指针异常
12.字符串切割的使用方法split
注意:该切割无法将英文句点作为分隔符。
public class helloone {
public static void main(String[] args) {
int i;
String src="aaa,bbb,vvv";
String[] array=src.split(",");
for(i=0;i<array.length;i++) {
System.out.println(array[i]);
}
}
将“.”改为英文句点会报错,与正则表达式有关
13.集合的基本使用(长度是任意的,按ctrl=shief+o可导包),集合泛型必须是引用类型,如果是基本类型则转换为包装类
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();//創建集合
System.out.println(list);
list.add("12345");//添加元素
list.add("123");
System.out.println(list);
System.out.println("------------");
String name=list.get(1);//提取元素
System.out.println(name);
System.out.println(list.size());//集合長度
}
集合的遍历换行输出
for(int i=0;i<list.size();i++) {
String str =list.get(i);
System.out.println(str);
}