1. 转义字符 “\” 以反斜杠”\”开头,后跟一个或多个字符 如”\n” 回车 “\“为输出一个”\”
    2. 在程序运行过程中一直不会改变的量称为常量,通常被称为”final变量”

    常量在整个程序中只能被赋值一次。在为所有对象共享的值时,常量是非常有用的
    语法:final double PI = 3.14159D; //PI为常量
    static final double PI=3.14; //PI为静态常量 static修饰的属性强调它们只有一个,final修饰的属性表明是一个常数(创建后不能被修改)
    常量名一般使用大写字符

    1. static静态变量(又称类变量) 静态变量的有效范围可以跨类,甚至可达整个应用程序之内。对于静态变量,出了能在定义他的类中调用,还能直接以”类名.静态变量“的方式在其他类内调用。

    语法: static double y=90;

    1. 类型转换 分为显性和隐性两种 和C语言一样的方法。
    2. b=++a;先让a++,再将a赋值给b;b=a++;先让a赋值给b,再将a++;
    3. (1)一维数组 ```java // 声明一个数组 int[] intArray0 ; int intArray1 [];

    // 分配空间有三种方法,牢记,熟练掌握: scores=new int[5] int scores[]=new int[5]// 声明并分配空间 int scores[]={71,82,75,98,65}// 直接给初始化值

    // 定义一个数组,保存五名学生的成绩 int[] scores = { 78, 93, 97, 84, 63 }; // 等价于 int[] scores = new int []{ 78, 93, 97, 84, 63 };

    1. <br /> (2)二维数组<br />
    2. ```java
    3. // 声明一个数组
    4. int[][] intArray0 ;
    5. int intArray1 [][];
    6. // 分配空间
    7. a=new int[2][4];
    8. // 初始化
    9. int myarr[][]={{12,0},{45,10}};//声明并分配空间
    1. Arrays类 ```java // 导入Arrays类 import java.util.Arrays;

    // 使用Arrays类的sort()方法对数组进行排序(升序) Arrays.sort(hobbies);

    // 使用Arrays类的fill()函数对数组充填 int arr[]=new int[5]; Arrays.fill(arr, 2);// 使用2对数组arr[]充填 Arrays.fill(a, fromIndex, toIndex, val);// a为数组 fromIndex为充填的开始 // toIndex为充填的结束 val为充填的值

    // 使用Arrays类的copyOf()方法和copyOfRange()方法可以实现对数组的复制 int arr[]=new int[]{23,42,12}; // Arrays.copyOf(arr,newlength) arr为被复制的数组 newlength为新数组的长度 int newarr[]=Arrays.copyOf(arr, 5); // 使用Arrays.copyOfRange(arr,int formIndex,int toIndex) // arr为要复制的数组 formIndex为开始复制的索引位置 toIndex为要复制范围的最后索引位置 int newarr2[]=Arrays.copyOfRange(arr, 0, 3);

    // 使用Arrays类的binarySearch()方法可以实现对数组的查找 int arr[]=new int[]{23,42,12,8};

    // 将数组进行排序 Arrays.sort(arr);

    // 查找arr中值为8的索引 // Arrays.binarySearch(a, fromIndex, toIndex, key) // a为数组 fromIndex为开始索引 toIndex为结束索引 kay为查找的值 int index=Arrays.binarySearch(arr,8); int index2=Arrays.binarySearch(arr, 0, 3, 8);

    // 使用Arrays类的toString()方法将数组转换为字符串并输出 System.out.println(“排序后数组的值”); for(int s=0;s<hobbies.length;i++){ System.out,println(Arrays.toString(hobbies)); }

    // 使用 foreach 操作数组 x为引用的变量 便利输出arr中的结果 int arr[]= {7,10,1}; for(int x:arr) { System.out.println(x); }

    1. ![](https://cdn.nlark.com/yuque/0/2020/jpg/2462488/1604297337428-bc953075-4b93-4f02-b27d-c659fa2865d7.jpg#align=left&display=inline&height=392&margin=%5Bobject%20Object%5D&originHeight=392&originWidth=779&status=done&style=none&width=779)
    2. 10. String
    3. ```java
    4. String():一个 String 对象,使其表示一个空字符序列。
    5. eg:
    6. String s=new String();
    7. String(char a[]):用一个字符数组a创建 String 对象。
    8. eg:
    9. char arr[]= {'g','o','o','d'};
    10. String s=new String(arr);
    11. System.out.println(s);
    12. 输出 good 等价于 String s = new String("good");
    13. String(char a[], int offset, int length)
    14. eg:
    15. char arr[]= {'s','t','u','d','e','n','t'};
    16. String s=new String(arr,2,4);
    17. System.out.println(s);
    18. 输出 uden 第2个开始后面4个(从0开始);
    19. 连接数据使用"+"
    20. 获取字符串长度 str.length();
    21. eg:
    22. String str="We are students";
    23. int size=str.length();
    24. System.out.println("字符串的长度为"+size);
    25. 字符串查找 indexOf()和lastIndexOf()两种方法 参数可以是字符串也可以是字符串对象
    26. indexOf()为返回第一个位置
    27. lastIndexOf()为返回最后一个位置
    28. eg:
    29. String str="We are students";
    30. String str2="tu";
    31. int size=str.indexOf("a");
    32. int strsize=str.indexOf(str2);
    33. 获取指定索引位置的字符 charAt()方法 参数为整型值
    34. eg:
    35. String s = "www.runoob.com";
    36. char result = s.charAt(6);
    37. System.out.println(result);
    38. 输出为'n'
    39. 获取子字符串 substring(int beginIndex,int endIndex) 方法 可以只写开始索引位置 不写结束位置(默认到最后)
    40. eg:
    41. String str="We are students";
    42. String size=str.substring(4,8);
    43. 去除空格 trim()方法 去除掉前导空格和尾部空格
    44. eg:
    45. String str=" We are students ";
    46. String size=str.trim();
    47. System.out.println("字符串的长度为"+size);
    48. 字符串替换 replace(char oldChar,char newChar)
    49. eg:
    50. String str=" We are students ";
    51. String size=str.replace('a', 'A');
    52. 判断字符串的开始和结束 startsWith(String prefix)和 endsWith(String suffix)方法 返回布尔型 prefix为判断是否为这个字符串开始,suffix同理
    53. eg:
    54. String str="We are students";
    55. boolean a=str.startsWith("We");
    56. boolean b=str.endsWith("ts");
    57. 判断字符串是否相等 equals(String otherstr)、 equalsIgnoreCase(String otherstr)两种方法 如果两个字符串长度相同可以使用 equals()
    58. equalsIgnoreCase() 忽略大小写
    59. eg:
    60. String s1="abc";
    61. String s2="ABC";
    62. boolean a=s1.equals(s2);
    63. boolean b=s1.equalsIgnoreCase(s2);
    64. 按字典顺序比较两个字符串 compare(String otherstr)
    65. 字母大小写转换 toLowerCase()和 toUpperCase()方法
    66. 字符串分割 split(String sign ,int limit)方法 sign为分割符 如果想定义多个分隔符 可使用符号"|",例如",|="表示分割符分别为","和"=" limit为拆分个数(可以不写,全部拆分)
    67. eg:
    68. String str="192.168.0.0.1";
    69. //按照"."进行分割,使用转义字符"\\."
    70. String []firstArray=str.split("\\.")//“.”和“|”都是转义字符,必须得加"\\";
    71. for(String a:firstArray)
    72. {
    73. System.out.print(a+" ");
    74. }
    1. 格式化字符串

    格式化字符串 format(String str,args)方法

    1. 1)日期和时间字符串格式化
    2. eg:
    3. Date date=new Date();
    4. String year=String.format("%tY", date);
    5. String month=String.format("%tB", date);
    6. String day=String.format("%td", date);
    7. System.out.println(year);//2018
    8. System.out.println(month);//五月
    9. System.out.println(day);//29

    时间格式转换符:
    Java基础 - 图1

    Java基础 - 图2

    格式化常见的日期时间组合:
    %tF “年-月-日”
    %tD “月/日/年”
    %tc 全部日期和时间
    %tr “时:分:秒 AM(PM)”(12小时)
    %tT “时:分:秒”(24小时)
    %tR “时:分”(24小时)

    常规类型格式化:

    Java基础 - 图3


    1. | abstract | 抽象方法,抽象类的修饰符 | | —- | —- | | assert | 断言条件是否满足 | | boolean | 布尔数据类型 | | break | 跳出循环或者label代码段 | | byte | 8-bit 有符号数据类型 | | case | switch语句的一个条件 | | catch | 和try搭配捕捉异常信息 | | char | 16-bit Unicode字符数据类型 | | class | 定义类 | | const | 未使用 | | continue | 不执行循环体剩余部分 | | default | switch语句中的默认分支 | | do | 循环语句,循环体至少会执行一次 | | double | 64-bit双精度浮点数 | | else | if条件不成立时执行的分支 | | enum | 枚举类型 | | extends | 表示一个类是另一个类的子类 | | final | 表示一个值在初始化之后就不能再改变了
      表示方法不能被重写,或者一个类不能有子类 | | finally | 为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。 | | float | 32-bit单精度浮点数 | | for | for循环语句 | | goto | 未使用 | | if | 条件语句 | | implements | 表示一个类实现了接口 | | import | 导入类 | | instanceof | 测试一个对象是否是某个类的实例 | | int | 32位整型数 | | interface | 接口,一种抽象的类型,仅有方法和常量的定义 | | long | 64位整型数 | | native | 表示方法用非java代码实现 | | new | 分配新的类实例 | | package | 一系列相关类组成一个包 | | private | 表示私有字段,或者方法等,只能从类内部访问 | | protected | 表示字段只能通过类或者其子类访问
      子类或者在同一个包内的其他类 | | public | 表示共有属性或者方法 | | return | 方法返回值 | | short | 16位数字 | | static | 表示在类级别定义,所有实例共享的 | | strictfp | 浮点数比较使用严格的规则 | | super | 表示基类 | | switch | 选择语句 | | synchronized | 表示同一时间只能由一个线程访问的代码块 | | this | 表示调用当前实例
      或者调用另一个构造函数 | | throw | 抛出异常 | | throws | 定义方法可能抛出的异常 | | transient | 修饰不要序列化的字段 | | try | 表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码 | | void | 标记方法不返回任何值 | | volatile | 标记字段可能会被多个线程同时访问,而不做同步 | | while | while循环 |
    1. 异常处理

    Java基础 - 图4