一、块作用域
java
{
}
即使在main方法执行期间,{}外访问不到{}内
二、条件语句
1.if条件语句
java
If(判断条件){
语句
}
2.if else语句
java
If(判断条件){
语句
}else if(判断条件){
语句
}else if()......
走if之后就不会走同样符合条件的else if了;
同理,走了if之后依旧会走符合条件的后边的if。
3.swich case语句
java
Switch(变量char byte short int 枚举){
Case 1:
语句;
Break;
Case 2:
语句;
Break;
......
Default:
上边的条件都没有出现就走Default
Break;
}
Switch击穿:不写break会使得整个判断都走一遍。
三、循环
1.while循环
java
while(判断条件){
语句
}
只要判断条件为true就会一直执行
2.do while循环
java
do{
语句;
}While(判断条件);
先执行do里的内容,再while判断,true则继续执行do,否则停止循环。
3. for循环
java
for(初始条件;循环条件;循环体执行完之后要执行的内容){
语句;
}
增强for循环
java
for(对象类型 容器的每个对象:要遍历容器){
语句;
}
对于不清楚长度的数组,可以去用foreach循环来防止越界
4.结束循环
Break:结束所在整个循环;
Continue:结束本次循环后半段内容,意思是continue之后的代码就不执行了;
可以搭配标签使用
比如
java
aa:for(){
语句;
For(){
语句;
Break/Continue aa;
}
}
直接结束aa的本次循环或者整个循环。
四、大数值
BigInteger 整数 和 BigDecimal 小数
两种声明方式(都适用):
BigInteger num=BigInteger.valueOf(1000);------不能超过long范围
BigInteger num1=new BigInteger("100000000");------可以超过long范围
大数值里有许多运算方法,只能调用这些方法去做运算。
①BigInteger add(BigInteger other)
②BigInteger subStract(BigInteger other)
③BigInteger multiply(BigInteger other)
④BigInteger divide(BigInteger other)
⑤BigInteger mode(BigInteger other)------返回这个大整数和另一个大整数other的和、差、积、商以及余数
⑥int compareTo(BigInteger other)------如果这个大整数与另一个大整数other相等,返回0;如果这个大整数
⑦static BigInteger valueOf(long x)------返回等于x的大整数
⑧BigDecimal add(BigDecimal other)
⑨BigDecimal subStract(BigDecimal other)
⑩BigDecimal multiply(BigDecimal other)
⑪BigDecimal divide(BigDecimal other)------返回这个大整数和另一个大整数other的和、差、积、商
⑫int compareTo(BigDecimal other)
⑬static BigDeciaml valueOf(long x)
⑭static BigDecimal valueOf(long x,int scale)------返回为x/10n的一个大实数
五、数组
1.声明方式
java
数据类型[] 数组名称 = {元素};
数据类型[] 数组名称=new int[大小];
数据类型[] 数组名称=new int[] {元素};
不赋元素就会填充默认值,比如int 0,boolean false等等
2.匿名数组
匿名数组只作临时使用,后期也不需要使用,所以不用取名
比如

3.数组拷贝
·浅拷贝 :把变量指向的地址变成被拷贝的指向地址,两个变量指向同一块空间。
·深拷贝 :再去创建一个一模一样的容器然后把值搬过来,两个变量指两个不同的空间。
对于数组有一个copyOf(要拷贝数组,数组长度)方法,可以直接调用该方法来进行拷贝,底层是深拷贝。
比如 int\[\] brr=Arrays.copyOf(arr,arr.length);
如果声明的长度不合适,会补0。
4.数组排序
Java提供了Arrays.sort方法(底层是快速排序)进行排序,直接调用该方法就可以。
Arrays也重写了equals方法来比较两个数组是否相同,和String重写的同理,先判断地址是否相同,相同直接返回true,不同就判断内容是否相同。
5.多维数组
Arrays.deepToString(数组)进行遍历拼接数组