Java 学习笔记(持续更新)
一些常用的
- 常用语句汇总
Scanner in = new Scanner (System.in); // 新建一个输入的方式 input = in.nextLine(); // 让用户输入 System.out.println(input); // 输出输入的内容
MOOC笔记
变量声明
int num;
int a, count = 10, b;
double result;
数值类型转换
- 如果 a 为 float 类型, 可使用 (int) a 将其转换为整型。
判断
-
浮点数比较
在 Java 中,连续加0.1十次会有误差,并不等于1.0。所以,比较浮点数大小的时候不能用关系运算符。
正确的比较方法:a = 1.0; b = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1; System.out.println(Math.abs(a-b)>10e-6); // 求两数差值
-
判断语句
if-else 语句if (判断语句 1) { 执行语句 1; } else if (判断语句 2) { 执行语句 2; } else { 执行语句 3; }
switch-case 语句
switch (type) { // type 只能是整型结果 case 1: // 常量可以是常数,也可以是表达式 执行语句 1; break; // break 即停止 case 2: 执行语句 2; break; case 3: 执行语句 3; break; … default: 执行语句 n; }
当有多重循环时,直接跳出最外层循环的方式:
OUT: if () { if () { if () { break OUT; //直接跳出 target 为 OUT 的循环 } } }
逻辑运算优先级
从高到低排列:() 大于 ! + - ++ -- (单目运算符) 大于 * / % 大于 + - 大于 < <= > >= 大于 == != 大于 && 大于 || 大于 = += -= *= /= %=
( 非-! 的优先级很高)
规定格式输出
System.out.printf("%.2f",sum); // 输出小数点后两位
定义数组
// 数组变量是数组的管理者,而不是所有者
// 一位数组
int[] number = new int[100]; // 定义一个int类型数组
len = numbers.length // 读取数组长度
// 二维数组
int[][] a = new int[3][5]; // 三行五列二维数组
int [][] a = {
{1,2,3,4},
{1,2,3},
}; // 两行四列的二维数组
字符类型
Scanner in = new Scanner(System.in);
char c ='你'; // 单引号只能放一个字符
// 字符可以做加减运算
c++; // 获得unicode编码中后一个值
System.out.println(c);
System.out.println((int)c); // 字符的编码值
// 大小写转换
c = 'A';
char d = (char)(c+'a'-'A'); // 大写符加上小写到大写的距离就可以转换成小写
System.out.println('A'>'B'); // 字符串可以比较大小;小写比大写大,汉字比字母大
逃逸字符
\b 回退一格的位置
System.out.println("abc\bd"); // eclipse 的 console 不会执行 => 'abcd',操作系统的 console 会执行 => 'abd'
\t 制表符,一个制表位8个字符
\n 换行
\r 回车
\" 双引号
\' 单引号
\\ 反斜杠本身
包裹类型
Character, Integer, Boolean, Double // 每一个基础类型会对应一个包裹类型
// 包裹类型中会包含一些实用的方法
Integer.MAX_VALUE;
Integer.MIN_VALUE;
// Character 的方法(函数)
isDigit(), isLetter(), isLetterOrDigit(), isLowerCase(), isUpperCase(), isWhiteSpace(), char toLowerCase(), char toUpperCase()
Math 类
Math.abs(-2); // 绝对值
Math.random(); // [0,1) 的随机数
Math.round(10.435); // 四舍五入
Math.pow(2, 3); // 2的3次方,返回浮点值
字符串
// String 是 s 的管理者
String s; // String 是一个类,所以使用需要先创建
String s = new String("This is a String");
String s = "hello"; // 也可以这样创建
s = in.next(); // 读一个词
s = in.nectLine(); // 读一行
if (s=='bye') // 判断是否同一个东西;false => s 和 'bye' 不是相同的字符串
if (s.equals("bye")) // 判断内容是否相同
s1.compareTo(s2); // 判断字符串大小: return -1, s2 大; return 1, s1 大; return 0, 相等
s.length(); // 和数组的 a.length 区别!
s.charAt(index) // 访问某一个位置的字符
* 字符串不能用 for(String k:s) 循环!
s.substring(2); // 从 index = 2 开始直到字符串结束
s.substring(2,4); // 从 index = 2 开始,到 index = 4-1 结束
s.indexOf(c); // 找到返回 index,没找到返回 -1
s.indexOf(c,n); // 从index = n 开始
* 这些函数无法修改本身字符串,需要用新的字符串获取修改后的值
* java 中字符串也可以用来做 switch-case 中的 case
Leetcode 笔记
String
- String 类型在java中是字符串赋值是改变了它的引用,所以赋值后用 == 比较结果会是 false; s.equals() 比较的是字符串的内容,true;所以在比较两个变量引用的时候用 s.equals()
- 整数转字符串:Integer.toString(-10000)
ArrayList
- contains() 方法判断Array中是否包含某个元素
- Array.asList() 将array转换为list
本作品采用《CC 协议》,转载必须注明作者和本文链接