javaday02(基本运算符 循环)

常量不能赋给另外个常量

比较运算符 ==  !=   返回true 或false

逻辑运算符 关系  & |  可用于连接2个布尔类型的表达式

& 与运算符 AND 规律:只有两边都为true 才为true 有一个false则为false

| 或运算符  OR 规律:运算的两边只要有个true就为true 都为false 才为false

^异或运算符  XOR  规律:两边结果相同false 不同为true

!非运算符    NOT  判断事物的另一面 

&&       短路      结果和&一样但运算过程有区别.左边为false时右边不参与运算

位运算符主要用于二进制的运算 补齐4字节 32个数 4*8

先转化为二进制然后用逻辑运算符算 

^^ 2次异或返回原来的值 可以用来加密

~取反 加1  ~6=-7

<<左移 二进制运算 a<<i  a*2^(i) 末尾补零

>>右移 被移位的最高位为0右移后空缺位补0 为1 补1,(负数还是负数)

>>>数据右移的时候高位出现的空位无论原高位是什么都用0补

运算的高效性

用位运算符对二进制操作  2<<3

数值互换加个第三方变量

int c;

c=a;

a=b;

b=c;

不能第三方变量

a=a+b;

b=a-b;

a=a-b;

这种方式不要用 两个整数的数值过大可能会越界 出现强制转换 数据会变化

a=a^b;

b=a^b;

a=a^b;

1个数异或同一个数2次 还是这个数 面试时候用 阅读性差

三元运算符:3个元素参与

(条件表达式)?表达式1:表达式2;

如果为true 结果是表达式1

无论什么表现形式都是运算符  只要是运算符肯定有结果

int o,p,q;

int temp = o>p?o:p;

int max = temp>q?temp:q;

顺序结构main函数中从上往下走

判断结构  if本身是一种关键字

第一种

if(条件表达式)  true执行 只管运算的结果 如果不满足不执行执行语句

{

执行语句

}

if语句仅控制一条语句(考虑下整体)的时候大括号可以省略 但初学者必须写上

第二种

if(条件表达式)

{

执行语句

}

else//否则

{

执行语句

}

2个代码块组成只要没满足条件表达式都执行下一个 可以用三元运算符代替 (条件表达式)?表达式1:表达式2; 

简化方式有好处和坏处 简化有局限性 比如说打印输出语句 不能用三元

简化格式在if else 有具体的结果时可以简化成三元运算符

第三种

if(条件表达式)

{

执行语句

}

else if(条件表达式)

{

执行语句

}

.......

else

{

执行语句

}

如果前面为true 后面不读、不执行 是一个单条语句 只有一个代码块执行

注意if 后面的封号

main是主函数代码块

局部代码块:主函数里面直接大括号,内部的变量 出去就没了 决定变量的生命周期

主函数里的变量都是局部变量都要有初始化的值有自己的作用域

出现重复的代码考虑下写法,提高代码的复用性

switch(x)

{

case   : 

break;

case :

break;

default:

break;

}

x可以是计算的结果//byte short int char

case无序 都加载进内存先读第一个case

语句没加break 会从相符合的情况往下执行直到碰到break;

case a:

caseb:

break;

多个答案标识对应一个内容

用if:

对具体的值判断

对区间判断

对运算结果是boolean 类型的表达式进行判断

switch:

对具体的值判断

值的个数是固定的

对于几个固定的值判断建议用switch语句,因为switch语句会将具体的答案都加载进内存效率相对高一点

while(条件表达式)

{

执行语句;   //循环体

}

while 会再判断条件是否满足,满足再执行 多次判断 if才1次

循环注意控制次数

ctrl+c 停止操作台

while加;会导致卡在那

do

{

执行语句

}while(条件表达式);

do 无论条件是否满足循环体都会执行一次

需要重复想到循环结构掌握思想

for(初始表达式;循环条件表达式;循环后的操作表达式)

{

执行语句;(循环体)

}

循环后的操作表达式是在循环体执行后再执行

初始化只执行1次

循环条件表达式需要是boolean的结果

for(syso(""),syso("");x<3;syso(""))

{

执行语句

} //也行

for和while的特点

for和while可以互换

格式上的不同,在使用上有点小区别。

如果需要通过变量对循环进行控制,该变量只作用循环增量存在时区别出现

for循环的初始化表达式定义的变量只在for循环中有效 for循环有独立的区间

下面不能访问到该变量

无限循环最简单的形式 whilie(true){}   for(;;){}

for循环中间不写默认true

对某些代码执行很多次的时候,使用循环结构完成

对一个条件一次判断时可以用if语句

对一个条件多次判断时用while语句

注意:

在使用循环时,一定要明确那些语句要参与循环,哪些不需要。

循环通常情况下需要定义条件和控制次数



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值