java 笔记

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<list.length;n++){
for (int i = 0 ; i< list.length-1;i++){
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#c”.replaceAll("[+#]","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<String>(Arrays.asList(array) );将数组列表的元素构造出一个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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,669评论 0 3
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,240评论 0 4
  • java集合中ArrayList与LinkedList比较作者 codercjg 在 9 一月 2015, 11:...
    codercjg阅读 259评论 0 0
  • [java优先队列PriorityQueue的使用] PriorityQueue弹出优先级最高的元素,优先级的比较...
    codercjg阅读 471评论 0 0
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 1,464评论 0 10

友情链接更多精彩内容