/*
\n:换行
\b:退格,
\r:按下回车键,windows系统,回车符是由两个字符来表示\r\n
\t:制表符,相当于tab键
/*
&:与逻辑
|:或逻辑
^:异或:两边不同为true两边相同为false
!:非
&和&&特点:
&:无论左边是true还是false,两边都进行运算
&&:当左边为false,右边不运算
*/
3<<2=12 3<<1=6 3<<3=24
3*4=12 3*2=6 3*8=24
6>>2=1 6>>1=3
6/2(2)=1 6/2=3
<<:左移就是乘以2的移动的位数次幂
>>:右移就是除以2的移动的位数次幂
>>:最高位补什么由原有数据的最高位值定
如果最高位0,右移后,用0补空位
如果最高位1,右移后,用1补空位
>>>:无论最高位是什么,右移后,用0补空位
if条件语句:if(条件判断){ 选择switch语句:switch(变量){
表达语句1; case 取值1:
} 执行语句;
else{ break;
表达语句2 case 取值2:
} 执行语句;
break;
}
注意:break:作用于选择和循环结构,跳出
continue:只作用于循环结构,结束本次循环,继续下一次循环
循环结构
-----while(条件表达式)
{
循环体(执行语句)
}
-----do{
执行语句;
}while(条件表达式)
------for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
/*
功能
1.获取1~10的和,并打印。
2.1~100之间7的倍数的个数,并打印。
功能1的思路和步骤:
1.定义一个class类
2.保持独立的运行,使用public static void main(String[] args)
3.先定义一个总和的变量,在定义一个加数变量
4.用for循环遍历加数。
*/
class ForTest2
{
public static void main(String[] args)
{
//功能1
/*
for(int x=1,toal=0;x<=10;System.out.println("x="+x+",toal="+toal),x++)//用for循环获取数
{
toal=toal+x;
}
*/
int sum=0;//1.定义变量用于存储不断变化的和。
int x=1;//2.定义变量,记录不断变化的加数。
while(x<=10)
{
sum+=x;
x++;
}
System.out.println("sum="+sum);
/*
循环注意:
一定要名窃那些语句需要循环,那些不需要
*/
/*
其实这就是累加思想,
通过变量记录每次变量的结果
通过循环的形式,进行累加动作
*/
}
}
/*
2.1~100之间7的倍数的个数,并打印。
思路:
1.先对1~100进行遍历,通过循环的形式
2.在遍历的过程中,定义条件,只对7的倍数操作。
步骤:
1.定义循环语句,选择for语句
2.在循环定义判断,只要是7的倍数即可,使用if语句,
7的倍数的条件:%7==0;
*/
class ForTest3
{
public static void main(String[] args)
{
int y=0;
for(int x=1;x<=100;x++)
{
if(x%7==0)
y++;
}
System.out.println("y="+y);
/*
计数器思想
通过一个变量记录数据的状态的变量
也许通过循环完成。
*/
}
}
注意1.变量有自己的作用域,对for来讲,如果将用来控制循环的增量定义在for语句中,那么该变量只在for语句有效。
for语句执行完毕·,该变量在内存中被释放。
2.for和while可以互换,如果定义循环增量,用for更合适
注意:while:先判断条件,只有条件满足时才执行循环体
do while:先执行循环体,在判断条件,条件满足,
再继续执行循环体,条件不满足退出
无论条件是否满足,循环体至少执行一次。
注意:if else 结构简写:变量=(条件表达式)?表达式1;表达式2;
三元运算符
好处:可以简写if else
弊处:因为是运算符,必须运算要有结果