三目运算符
公式:数据类型 变量 = boolean表达式 ? 值1:值2;
如果:boolean表达式结果为true,三目运算表达式结果就是值1;
boolean表达式结果为false,三目运算表达式结果就是值2;
分页业务逻辑中使用
/*需求给出一共46条数据,要求每一页最多十条数据*/
int data = 46; //一共46条数据
int page=10; //每一页最多十条数据
int datapage = (data%page==0) ? data/page : data / page+1; // 如果data模page等于0,那么就执行第一句data除以page, 如果不等于0那么 就执行第二句 data/page+1;
逻辑运算符
& 与 false&ture false
| 或 false|ture ture
^ 异或 ture^false true
! 非 !true true
&& 短路 flase&&ture false
|| OR短路 false||true true
位运算符
& 按位与 参与运算的两个数,若相应位数的值都为1,则该位结果值时1,否则是0
| 按位或 参与运算的两个数相应位中只要有一个1,结果就是1.
^ 异或(相同为0,不同为1) 参与运算的两个数相应位相同则结果为0,否则为1
~ 取反 参与运算的两个数相应位相同则结果为0,否则为1。
<< 左移位 2的2进制:0000 0010 左移三位 0001 0000 sout( 2<< 3 );
>> 右移位
>>> 无符号右移位
交换两个变量的值的几种方式
int a int b;
int temp;定义一个第三方变量
把a的值赋给临时变量 temp
int a =2;
int b =3;
int temp;
temp = a; // 此时temp等于2
a = b ; //此时a等于3
temp = b ; // 交换完成 ,此时 a 等于 3 , b 等于 2.
算数运算
int a ,b;
a=10 ; b= 12;
a= b-a ; //此时 a=2;b=12
b= b-a ; //此时 a=2;b=10
a= b+ a ;//此时 a=12;b=10
位运算
int a=10, b=12 //a=1010^b=1100;
a=a^b;//a=0110^b=1100;
b=a^b;//a=0010^b==1100;
a=a^b;//a=1100=12;b=1010;
while 循环
//案例:叫500声帅锅,打印500次
int count = 0; 第一次循环:此时cunt等于0
while(count<5) 0<5 为true:进行循环体
{
sout("帅锅") 输出打印“帅哥”
count++; count进行自增
}
sout("ending.....")
// 计算100以内正整数的和
int num = 1;
int number = 0;
int sum;
while (num<=100)
{
num++;
number++;
sum = num + number;
}System.out.print( sum)
//案例: 计算100以内的正整数和
int number = 1 ;//表示第一个加数
int result = 0 ;//表示前n个数的和
while(numeber <=100) 第一次循环
{ result = 0; number =1;
result = result + number; 循环结束: result = 1 ;number = 2;
number ++; 第二次循环
} result = 1; number = 2;
sout(result) 循环结束: result = 1 ;number = 2
Do While循环
do
{}
while (); //do while是先执行后判断,即使判断条件为false ,该循环至少会执行一次。
for循环中只有boolean表达式不能打印HelloWorld,其他语句都可以
如果是指定次数的循环,选用for循环要方便点
for循环 外层循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要m*n次。