- 转义字符 “\” 以反斜杠”\”开头,后跟一个或多个字符 如”\n” 回车 “\“为输出一个”\”
- 在程序运行过程中一直不会改变的量称为常量,通常被称为”final变量”
常量在整个程序中只能被赋值一次。在为所有对象共享的值时,常量是非常有用的
语法:final double PI = 3.14159D; //PI为常量
static final double PI=3.14; //PI为静态常量 static修饰的属性强调它们只有一个,final修饰的属性表明是一个常数(创建后不能被修改)
常量名一般使用大写字符
- static静态变量(又称类变量) 静态变量的有效范围可以跨类,甚至可达整个应用程序之内。对于静态变量,出了能在定义他的类中调用,还能直接以”类名.静态变量“的方式在其他类内调用。
语法: static double y=90;
- 类型转换 分为显性和隐性两种 和C语言一样的方法。
- b=++a;先让a++,再将a赋值给b;b=a++;先让a赋值给b,再将a++;
- (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 };
<br /> (2)二维数组<br />```java// 声明一个数组int[][] intArray0 ;int intArray1 [][];// 分配空间a=new int[2][4];// 初始化int myarr[][]={{12,0},{45,10}};//声明并分配空间
- 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); }
10. String```javaString():一个 String 对象,使其表示一个空字符序列。eg:String s=new String();String(char a[]):用一个字符数组a创建 String 对象。eg:char arr[]= {'g','o','o','d'};String s=new String(arr);System.out.println(s);输出 good 等价于 String s = new String("good");String(char a[], int offset, int length)eg:char arr[]= {'s','t','u','d','e','n','t'};String s=new String(arr,2,4);System.out.println(s);输出 uden 第2个开始后面4个(从0开始);连接数据使用"+"获取字符串长度 str.length();eg:String str="We are students";int size=str.length();System.out.println("字符串的长度为"+size);字符串查找 indexOf()和lastIndexOf()两种方法 参数可以是字符串也可以是字符串对象indexOf()为返回第一个位置lastIndexOf()为返回最后一个位置eg:String str="We are students";String str2="tu";int size=str.indexOf("a");int strsize=str.indexOf(str2);获取指定索引位置的字符 charAt()方法 参数为整型值eg:String s = "www.runoob.com";char result = s.charAt(6);System.out.println(result);输出为'n'获取子字符串 substring(int beginIndex,int endIndex) 方法 可以只写开始索引位置 不写结束位置(默认到最后)eg:String str="We are students";String size=str.substring(4,8);去除空格 trim()方法 去除掉前导空格和尾部空格eg:String str=" We are students ";String size=str.trim();System.out.println("字符串的长度为"+size);字符串替换 replace(char oldChar,char newChar)eg:String str=" We are students ";String size=str.replace('a', 'A');判断字符串的开始和结束 startsWith(String prefix)和 endsWith(String suffix)方法 返回布尔型 prefix为判断是否为这个字符串开始,suffix同理eg:String str="We are students";boolean a=str.startsWith("We");boolean b=str.endsWith("ts");判断字符串是否相等 equals(String otherstr)、 equalsIgnoreCase(String otherstr)两种方法 如果两个字符串长度相同可以使用 equals()equalsIgnoreCase() 忽略大小写eg:String s1="abc";String s2="ABC";boolean a=s1.equals(s2);boolean b=s1.equalsIgnoreCase(s2);按字典顺序比较两个字符串 compare(String otherstr)字母大小写转换 toLowerCase()和 toUpperCase()方法字符串分割 split(String sign ,int limit)方法 sign为分割符 如果想定义多个分隔符 可使用符号"|",例如",|="表示分割符分别为","和"=" limit为拆分个数(可以不写,全部拆分)eg:String str="192.168.0.0.1";//按照"."进行分割,使用转义字符"\\."String []firstArray=str.split("\\.")//“.”和“|”都是转义字符,必须得加"\\";for(String a:firstArray){System.out.print(a+" ");}
- 格式化字符串
格式化字符串 format(String str,args)方法
(1)日期和时间字符串格式化eg:Date date=new Date();String year=String.format("%tY", date);String month=String.format("%tB", date);String day=String.format("%td", date);System.out.println(year);//2018System.out.println(month);//五月System.out.println(day);//29
时间格式转换符:

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

| 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循环 |
- 异常处理

