注释:
注意编程规范
数据类型:
- 整型:int(4字节 -2147483648—2147483647)、short(2字节 -32768—32767)、long(8字节)、byte(1字节 -128—127)
- 浮点类型:float(4字节,有效位数6~7位)、double(8字节,有效位数为15位)
- char类型:char(1字节)
- boolean类型:boolean
数值类型之间的合法转换:
数值类型强制转换:
语法:目标数据类型 变量=(目标数据类型)原变量;
变量:
变量命名规则:必须是一个以字母开头的由字母或数字构成的序列,大小写敏感,长度无限制,一般采用驼峰式,不能是java保留字。
变量初始化:不能使用未初始化的变量
常量
在java中,利用关键字final指示常量(final表示这个变量只能被赋值一次,一旦被赋值后,就不能更改),常量名使用全大写。
类常量:使某个常量可以在一个类中的多个方法中使用。类常量的定义位于main方法的外部,若是访问类型为public,那么其它类的方法也可以使用这个常量。
运算符
- 自增运算符与自减运算符
前缀方式先进行加一运算;后缀方式则使用变量原来的值。
int m=7;
int n=7;
int a=2*++m;//a=16,m=8
int b=2*n++;//b=14,n=8
- 关系运算符与boolean运算符
- 位运算符
- 数据函数与常量
- 括号与运算符级别
运算符 | 结合性 |
[] . ()(方法调用) | 从左向右 |
! ~ ++ -- + (一元运算) - (一元运算) () (强制转换类型) new | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
< <= > >= instanceof | 从左向右 |
= = != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
= += -= *= /= %= &= |= ^= <<= >>= >>>= | 从右向左 |
- 枚举类型
变量的取值只在一个有限的集合内。
enum Size{SMALL,MEDIUM,LARGE<EXTRA_LARGE};
Size s=Size.MEDIUM;
Size类型的变量只能存储这个类型生命中给定的某个枚举值,或者null值
字符串
- 子串
String a=“hello”;
String s=s.substring(0,3);//s="hel"
- 拼接
使用+号连接(拼接)两个字符串
- 不可变字符串
String 类没有提供用于修改字符串的方法
- 检测字符串是否相等
equals方法:s.equals(t);//若s和t相等,则返回true,否则,返回false;s、t可以是字符串常量,也可以是字符串变量。
- 空串与Null串
- 代码点与代码单元
- 字符串API
char charAt(int index)//返回给定位置的代码单。
int codePointAt(int index)//返回从给定位置开始的代码点。
int offsetByCodePoints(int startIndex,int cpCount)//返回从startIndex代码点开始,位移cpCount后的代码点索引。
int compareTo(String other)//按照字典顺序,如果字符串位于other之前,返回一个负数;如果字符串位于other之后,返回一个正数;如果两个字符串相等,返回0。
boolean endWith(String suffix)//若字符串以suffix结尾,返回true。
。。。。。。
- 构建字符串
StringBuilder builder=new StringBuilder();
builder.append(ch);//appends a single character
buider.appenr(str);//appends a string
String completedString=bulder.toString();//得到String对象
StringBuilder类的方法:
int length()//返回构建器或缓冲器中的代码单元数量
StringBuilder append(String str)//追加一个字符串并返回this
StringBuilder append(char c)//追加一个字符串并返回this
StringBuilder appendCodePoint(int cp)//追加一个代码点,并将其转换为一个或两个代码单元并返回this。
void setCharAt(int i,char c)//第i个代码单元设置为c。
StringBuilder insert(int offset,String str)//在offset位置插入一个字符串并返回this。
StringBuilder insert(int offset,char c)//在offset位置插入一个字符串并返回this。
StringBuilder delete(int startIndex,int endIndex)//删除偏移量从startIndex到endIndex-1的代码单元并返回this。
String toString()//返回一个与构建器或缓冲器内容相同的字符串。
输入输出
读取输入:Scanner s=new Scanner(System.in);
s.nextLine//读取行
s.next//读取一个单词(以空格符作为分隔符)
s.nextInt//读取一个整数。
s.nextDouble//读取一个浮点数
(读取密码:Console cons=System.Console();String username=cons.readLine("用户名:");char[] passwd=cons.readPassword("Password:"))
控制流程
大数值
BigInteger和BigDecimal,这两个类可以处理任意长度数字序列的数值,前者实现任意精度整数运算,后者实现任意精度的浮点数运算。
数组
声明 int[] a; int a[];
声明并初始化:int[] a=new int[100];
数组排序:Arrays.sort(a);
/写在最后:文章为java核心技术 卷Ⅰ 第三章读书笔记