java的基本程序设计结构
常量
- 用
final
来表示这个变量只能被赋值一次,常量名一般全部使用大写字母。 - 如果希望某个常量可以在一个类的多个方法中使用,使用
static final
设置一个类常量 - 如果一个常量被声明为
public
则其他类的方法也可以使用
字符串
- 子串:
substring
不包含末尾数字
String greeting="Hello!";
String s=greeting.substring(0,3);
拼接:可以使用静态方法join
String all= String.join("/","S","M") //结果是S/M
String
是不可变的,没有修改字符串的方法- 使用
.equals()
方法,检测两个字符串是否相等,不要使用==
判断两个字符串是否相等,只能得出这两个字符串地址相等 - 使用
.length()
返回数组的长度 - 如果需要由较短的字符串构建字符串,频繁的拼接每次都需要申请新的空间,可以使用
StringBuilder
StringBuilder builder=new StringBuilder();
builder.append(ch);
builder.append(str);
String completeString=builder.toString();
输入输出
读取输入
- 如果想通过控制台窗口进行输入,首先需要构建一个
Scanner
对象,并与标准输入流System.in
关联,然后就可以通过各种方法实现输入
Scanner in= new Scanner(System.in);
String name=in.nextLine();
int age = in.nextInt();
/nextLine可以包含空格,next方法则不包含空格
- Scanner类定义在
java.util
包中,如果使用的类不是在基本java.lang
包中时,都需要import
加载进来
格式化输出(略)
控制流程
在java中,不能在嵌套的两个块中声明同名的变量
大数值
BigInteger
任意精度的整数运算BigDecimal
任意精度的浮点数运算- 使用
valueOf
可以将普通的数值转换成大数值
BigInteger a= BigInteger.valueOf(100);
- 加法变为
add
,乘法变为multiply
,subtract
,divide
,即java中没有运算符重载
数组
- 不同于
String
类,数组的长度是属性,而不是方法 - 数组拷贝,如果希望将一个数组的所有值都拷贝到一个新的数组中去,使用
Array
类的copyOf
方法
int[] copiedLuckyNumbers = Array.copyOf(luckyNumbers, luckyNumbers.length)
- 使用
Array.sort()
进行排序 - 数组->
String
: Array.toString();
多维数组
- java的多维数组实际上是数组的数组