基本语法
1 Java 简单的类型
1.1 一些常量
- 正无穷大 Double.POSITVE_INFINITY
- 负无穷大 Double.NEGATIVE_INFINITY
- 不存在 Double.NaN
1.2 boolean
类型
-
false
或ture
不能用0来表示false
1.3变量初始化
必须对变量显示初始化 否则会报错
1.4 常量 final
- =
const
1.5数学库 Math
Math.round()
1.6 improt
improt static java.lang.Math.*;
System.out.println("The square root of %f is "+sqrt(PI)
2. String
str.substring(a,b)
-
str.equals(t)
不能使用==来判断,这个运算符用来确认两个字符串是否放在同一位置。 str.compareTo()
-
str.length()
计算char的数量 -
str.charAt(n)
返回位置为n的char -
str.codePointCount()
就是准确计算unicode字符的数量,而不是char的数量。 -
str.indexOf()
模式匹配 - 首先检查NULL 再检查空串
java的字符串是不可变的,但是能够重复利用。
看似修改操作上很费时间,但是复制操作上能节约很多时间,不同变量的同一段字符串很可能存在同一个地方。
因为java的设计者认为复制字符串远多于修改字符串
2.1 StringBuilder
-
可变的String
builder.append(ch); //appends a single characeter;
builder.append(str);//appends a string
String completedString=builder.toSrting();//StringBuilder->String
3 输入输出
3.1 输入
import java.util.*;//必须加载这个包
Scanner in=new Scanner(System.in);
String name=in.next();
int age=in.nextInt();
int Float=in.
in.hasNext();//检测是否还有其他单词
3.2 格式化输出
String message=String.format("Hello,%s",name);
System.out.printf("Hello,%s",name);
3.3 文件输入输出
Scanner in=new Scanner(Paths.get("myfile.txt"));
PrintWriter out = new PrintWriter("myfile.txt");
4 Java 中等特性
4.1 高精度
- BigInteger
BigDecimal
BigInteger a=BigInteger.valueOf(100);
BigInteger c=a.add(b);//c=a+b
BigInteger d=c.multiply(b.add(BigInteger.valueof(2)));//d=c*(b+2)
4.2 for each
for(int element:a)
System.out.println(element);
4.3 复制
int[] a=new int[10];
int b=a; //浅复制
int c=Arrays.copyOf(a,a.length); //深复制
4.4 排序,二分查找
Arrays.sort(a)
Arrays.binarySearch()
Arrays.fill()