1.输出格式double的小数位精确
Scanner sc = new Scanner(System.in);
sc.next() 读取空白字符结束的字符串
sc.nextLine() 读取回车结束的字符串 使用nextInt nextDouble next() 之后再使用nextLine
会有问题
不要在nextDouble() nextInt() 、next()等之后使用nextLine()
/t tab
/n 换行
/f 换页
/r 回车
Math.random() 返回0到1之间,不包括1,包括0.0
Math.pow(x,2)
Math.abs() 绝对值
Math.sqrt() 平方根
Math.min() max()
Character.isDigit(ch) 是否数字
。。。。.isLetter(ch) 是否字母
.toLowerCase(ch)
.toUpperCase(ch)
String.length(0
String.charAt(index)
String.concat(String s1)
String.toUpperCase()
String.toLowerCase(0
String.trim() 去掉空白符包括转义字符
String.equals(s1)
String.equalsIgnoreCase(s1)
String.compareTo(s1) 返回字符串比较后的差值,
String.compareToIgnoreCase(s1)
String.startsWith(特定前缀)返回true
String.endWith(特定后缀)
String.contains(s1) 是否包含子串
String.replace('h','j')
String.substring(beginIndex) 指定索引到结尾
String.substring(beginIndex,endIndex) 指定索引到结束索引,不包含结束索引
这个方法是全小写!!!!
String.indexOf(ch) 返回第一个出现字符 ch 的索引,无匹配,则返回-1
String.indexOf(ch, fromIndex) 从开始索引fromIndex后出现的第一个ch
String.indexOf(String s)
int value = Integer.parseInt(intString) 将数字内容的字符串转换为数字 若超出int 范围会
如何?
或char '9' - '0'
如何将数字转换为字符? String.valueOf(9) + String1
数字int 或long 转字符串 + “”
字符转字符串 char c + 字符串即可自动转型
string 和int之间的转换
string转换成int :Integer.valueOf("12")
int转换成string : String.valueOf(12)
char和int之间的转换
首先将char转换成string
String str=String.valueOf('2')
Integer.valueof(str) 或者Integer.ParseInt(str)
Integer.valueof返回的是Integer对象,Integer.paseInt返回的是int
int转成数字型char字符 加上 48再强制转换,因为 ASCII 编码 48 到 57 为字符 '0' ~ '9' 的
编码。
A到Z 65--90 中间6个字符[ \ ] ^ _ ` 小写从 a 97 a~z 97-122
int 和 string 的逆序
类似 double
java中 double 类型只是一个简单类型,是不能其输出位数及精度是固定的
可以利用其它方法进行位数输出,如:
方法一、使用
Math.round()
Double value = 0.254668;
(double)Math.round(value*100)/100
public static void main(String[] args) {
// 1. 使用 String.format() 方法
double data = 11.8982389283293;
System.out.println(String.format("%.2f", data));
// 2. 使用 printf 输出
System.out.printf("%.2f", data);
// 3. 使用 DecimalFormat 对象格式化
DecimalFormat format = new DecimalFormat("#.00");
System.out.println(format.format(data));
多重循环跳出和继续用标识符
% 是 10 % 2 == 0
while ( a || b ) do .. 需要a 和b均不成立才能跳出循环
数组:
int [] list = new int [length];
myList.length
处理数组随机打乱:每个下标元素随机产生一个下标互换
foreach
for (double e :myList ){
仅能用于遍历数组
sout(e); 不能用myList[e]
}
二分查找
选择排序
冒泡排序
for (int n = 0 ; n
if (list[i]>list[i+1]){
temp = list[i];
list[i] = list[i+1];
list[i+1] = temp;
}
}
}
java.util.Arrays.sort(list[])
java.util.Arrays.parall(list[]) 多处理器并行操作
java.util.Arrays.binarySearch(list[],number) 升序排列后二分查找 若不存在元素则返回 -
(插入点下标+1)
java.util.Arrays.fill(list[],number)
java.util.Arrays.fill(list[],beginIndex,endIndex,number)
java.util.Arrays.toString(list[])
System.arraycopy(list,0,newList,0,list.length) 复制整个数组,需先初始化 newList
int[] a1 = {1, 2, 3, 4, 5};
int[] a2 = new int[10];
System.arraycopy(a1, 1, a2, 3, 3);
System.out.println(Arrays.toString(a1)); // [1, 2, 3, 4, 5]
System.out.println(Arrays.toString(a2)); // [0, 0, 0, 2, 3, 4, 0, 0, 0, 0]
public static void method(int...arg) args实际上是数组
startTime = System.currentTimeMillis();
endTime = System.currentTimeMillis();
executionTime = endTime - startTime;
Arrays.toString(list)
String.length()
数组中除了交换值,还可以交换索引值
扑克牌随机洗牌:随机生成索引值进行互换
System.currentTimeMillis()获取当前毫秒值
Date类:
java.util.Date date = new java.util.Date();
date.getTime()
date.toString() Mon Dec 26 07:43:39 EST 2011
Random():以当前时间为种子创建Random对象
javafx.geometry.Point2D
Point2D p1 = new Point2D(x1,y1);
p1.distance(p2);
String 类
welcome.replace('e','A') wAlcomA
welcome.replaceFirst("e","AB") wABlcome
welcomw.replace("e","AB") wABlcomAB
replaceAll("","")
"Java#HTML#Perl".split("#") Java HTML Perl 字符串数组
“Java”.toCharArray()
String.valueOf( new char[] {'j','a','v','a'} );
正则表达式
Integer.parseInt(str)
String.matches("Java.*")
\d 单个数字位 \d{3} 三个数字
“a+b+#]","NNN") aNNNbNNNNNNc
String.format("%7.2f%6d%-4s",45.556,14,"AB")
-45.56--14AB-
StringBuilder.append(“”)
子父类构造方法链
多态:父类变量可以指向子类对象
变量的声明类型和实际类型
方法调用时 按照引用变量的实际类型(new 的类型)
ArrayList
add(Object o)
clear()
contains( Object o)
get(int index)
indexOF(Object o)
isEmpty()
remove(Object o)
set(in index,Object o)
new ArrayList
java.util.Collections.sort(ArrayList) 数值和字符串进行排序
java.util.Collections.max(ArrayList)
java.util.Collections.min(ArrayList)
java.util.Collections.shuffle(ArrayList) 随机打乱
异常捕获:
异常是一种对象,从异常类继承 java.lang.Throwable
异常:Exception: ClassNotFoundException IOException RuntimeException
(ArithmeticException NullPointEception IndexOutOfBoundsException
IllegalArgumentException )
系统错误:Error: LinkageError VirtualMachineError
声明异常 在方法参数后声明要throw的异常
抛出异常:
捕获异常:
如果try 抛出异常,try中其余语句会被跳过
catch 父类的异常则 可以捕获所有子类的异常
父类catch出现在子类catch之前会报错,应先catch子类的异常,再catch 父类异常
方法调用会先被原方法中的catch捕获
无论是否有异常产生,均执行:finally