i++ :先运算后增1。如
int x=5; int y=x++; System.out.println("x="+x+",y="+y); //所以这边x先把5赋值给y,所以y=5; //然后x再自增,x=6;
++i : 先增1后运算。如:
int x=5; int y=++x; System.out.println("x="+x+", y="+y); //x先自增,所以x=6,然后把6赋值给y,所以y也是6
&和&&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定。
它相当于是and,整个运算结果才为true,否则,只要有一方为false,结果都为false。
1. & 称为逻辑与运算符,&& 称为短路与运算符,也可叫逻辑与运算符。
对于&:无论任何情况,&两边的操作数或表达式都会参与计算
对于&&:当&&左边的操作数为false或左边表达式结果为false时,&&右边的操作数或表达式将不参与计算,此时最 终结果都为false。
|和||的区别和联系与&和&&的区别和联系类似
使用位运算来实现效率最高。
2 << 3
就是二进制往左移三位
基本类型转换分为自动转换和强制转换。
容量小的数据类型 可以自动转换成容量大的数据类型
高级变为低级需要强制转换。
public class Test007 { public static void main(String[] args) { double x=1.2; int y= (int) x; } }
都是分支语句,多超过一种的情况进行判断处理。
switch更适合用于多分支情况,就是有很多种情况需要判断处理,判断条件类型单一,只有一个入口,在分支执行完 后(如果没有break跳出),不加判断地执行下去;
而if—elseif---else多分枝主要适用于分支较少的分支结构,判断类 型不是单一,只要一个分支被执行后,后边的分支不再执行。
*switch为等值判断(不允许比如>= <=),而if为等值和区间都可以,if的使用范围大。
while先判断再执行,第一次判断false,循环体将一次都不执行
do-while先执行再判断,至少执行1次
如果while第一次判断为true,那么和do-while没有区别
break和continue都是用来控制循环结构的,主要作用是停止循环。
break:结束当前循环体,不再继续执行
public class Test { public static void main(String[] args) { for(int i=0; i<12; i++){ if(i==5){ break; } System.out.print(i+" "); } } } //结果:0 1 2 3 4
continue: 结束自身满足的条件,并没有使整个循环终止。
public class Test { public static void main(String[] args) { for(int i=0; i<12; i++){ if(i==5){ continue; } System.out.print(i+" "); } } } //结果:0 1 2 3 4 6 7 8 9 10 11
递归就是:A方法调用A方法!自己调用自己
拓展一个数学概念:阶层
2! 2*1 3! 3*2*1
public class Student { public static void main(String[] args) { System.out.println(fun(5)); } public static int fun(int n){ if (n==1){ return 1; }else { return n*fun(n-1); } } }
缺点:会占用空间内存,小计算可以使用递归
数组是(相同类型数据)的(有序)(集合)
索引从0开始
数组元素有序的,不是大小顺序,是索引的顺序
length:数组的长度
数组的长度是固定的
若存在侵权,请联系,谢谢!