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

  1. String 类型在java中是字符串赋值是改变了它的引用,所以赋值后用 == 比较结果会是 false; s.equals() 比较的是字符串的内容,true;所以在比较两个变量引用的时候用 s.equals()
  2. 整数转字符串:Integer.toString(-10000)

ArrayList

  1. contains() 方法判断Array中是否包含某个元素
  2. Array.asList() 将array转换为list
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!