------ android培训、java培训、期待与您交流! ----------
1.第三方变量: int n = 3; int m = 8;交换它们值的三种方式:
用第三方变量(一般都用这种方式):
int temp;
temp = n;
n = m;
m = temp;
不用第三方变量:
n = n + m; (如果n和m的值非常大,就容易超出int的范围)
m = n - m;
n = n - m;
用异或方式:
n = n ^ m;
m = n ^m;
n = n ^ m;
2. 如果if语句没有大括号,那么它只控制离单括号最近的一条语句。或者说是如果只有一条语句,那么if语句的大括号
可以不用写。最好是加上大括号,容易看的清楚。
if else 结构 简写格式 :变量 = (条件表达式)?(表达式1):(表达式2);
三元运算符:
好处:可以简化 if else 代码;
弊端:因为是运算符,所以运算完必须要一个结果。
3.while 循环语句和 do while 循环语句区别:
while:先判断循环体,只有条件满足才执行循环体。
do while:先执行循环体,再判断条件,条件满足时,再继续执行循环体。
简单一句话:do while :无论条件是否满足,循环体至少执行一次。
4.for循环里面的变量只在for循环体里面有效。当for语句执行完毕,该变量在内存中释放
for 循环和 while 循环可以进行互换,如果需要定义循环增量,用for更为合适。
5.无限循环的最简单表现形式:
for(;;){} while(true){}
6.循环的时候一定要注意哪些语句需要参与循环,哪些不需要。
7.break 和 continue 语句的作用范围,只在当前的循环中。
break 和 continue 单独存在时,下面不可以有任何语句,因为都执行不到。
可以给给循环加个标号,让这俩语句作用于指定的范围。
8.for 循环不是规律的规律:
尖朝上,可以改变循环条件,让条件随着外循环变化。
尖朝下,可以初始化值,让初始化随着外循环变化。
几种数据结构的流程控制::
1. 判断结构
1) if(条件表达式)
{
执行语句;
}
2) if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3) if(条件表达式)
{
执行语句;
}
else if
{
执行语句;
}
…….
else
{
执行语句;
}
2. 选择结构
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
………
default:
执行语句;
break;
}
1) Switch语句选择的类型只有四种:byte,short,int,char
2) case之间与default没有顺序,先执行第一个case,没有匹配的case执行default
3) 结束switch语句的两种情况:遇到break,执行到switch语句结束
4) 如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可执行的语句,直到遇到break或者switch结尾结束
3. 循环结构
1) while 语句表达式:
while (条件表达式)
{
执行语句;
}
先判断条件,只有条件满足才执行循环体
2) do while语句格式:
do
{
执行语句;
}
While(条件表达式);
do while特点是先执行循环体,再判断条件,条件满足,再继续执行循环体。简单一句话:条件无论是否满足,循环体至少被执行一次
3) for 格式:
for(初始表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
声明:
a) for里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环,然后再执行循环后的操作表达式,接着继续判断循环条件,重复这个过程,直到条件不满足。
b) while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。
c) 最简单无限循环格式:
while(true),for(;;) 无限循环存在的原因是并不知道循环多少次,而是根据某些条件来控制循环。
4. 顺序结构
声明:
其他流程控制语句:
break(跳出),continue(继续)
break语句:应用范围,选择结构和循环结构
continue语句:应用于循环结构
这两个语句离开应用范围存在,是没有意义的;这两个语句单独存在,下面是不可以有语句,因为执行不到;continue语句是结束本次循环,继续下次循环;标号的出现,可以让这两个语句作用于指定的范围。
我自己通过for嵌套循环写的圣诞树代码:
class Tree{ //圣诞树一棵
public static void main(String[] args){
int le=10;
for(int i=0;i<le;i++){ //第一层
for(int j=0;j<le-i-1;j++){
System.out.print(" ");
}
for(int j=0;j<=i;j++){
System.out.print("* ");
}
System.out.println();
}
int l=8;
for(int a=0;a<l;a++){ //第二层
for(int s=0;s<l-a+1;s++){
System.out.print(" ");
}
for(int s=0;s<=a;s++){
System.out.print("* ");
}
System.out.println();
}
int q=6;
for(int w=0;w<q;w++){ //第三层
for(int e=0;e<q-w+3;e++){
System.out.print(" ");
}
for(int e=0;e<=w;e++){
System.out.print("* ");
}
System.out.println();
}
for(int m=0;m<6;m++){ //树根
System.out.print(" ");
for(int n=0;n<5;n++){
System.out.print("*");
}
System.out.println();
}
}
}