Java基础知识(三)

第三章 Java语言基础运算符详解及程序流程控制
一.运算符
1)运算符的分类
算数运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 三元运算符
2)算术运算符
这里写图片描述
注意事项:1)如果对负数取模,可以把模数负号忽略不计,如5%-2=1;但是模数是负数就另当别论
2)对于除号“/”,他的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分舍弃小数部分 。 例如:int x3670; x=x/1000*1000的结果是3000
3)“+”除字符串相加功能外,还能把非字符串转换成字符串
例如: System.out.println(“5+5=” +5+5),//打印结果为:(5+5=10)
4)判断 ++在前在后 也叫 运算符在前或后
口诀:符号在前先运算,符号在后 后与运算
3)赋值运算符
1)符号:= += -= /= *= %=
2)示例 : Int a,b,c; a=b=c=3; int a=3; a+=5,等同运算a=a+5;
小技巧:赋值运算符两端运算的结果 例如:2*=5 就是2*5的结果
3)思考:
Shorts =3 ; s=s+2; s+=2;有什么区别?
其中 s=s+2 会报错 因为默认数据类型是int ,而s+=2不会报错 他自身带有强转
4)比较运算符
这里写图片描述
注解:1)比较运算符的结果都是boolean,也就是要么是true,要么是false。
2)比较运算符“==“不能误写成”=“。
5)逻辑运算符
这里写图片描述
注解:1)& 运算的两边只有有一个是false,结果肯定是false,只有两边都是true,结果才为true。
2) | 运算两边只有有一个是true,结果肯定是true,只有两边都为false,结果才为false。
3) ^ 运算两边都为true或false,结果为false,否则 为true
4) !运算,判断事物的另一面
5)“&“和”&&“的区别
单“&“时,左边无论真假,右边都运算
双“&&“时,左边为真,右边参与运算,如果左边为假则,右边不参加运算
6)同理“|“和”||“左边有真时,右边不参加运算。
6)位运算符
这里写图片描述
注解:1)&的运算
例题1: 5 转换成2进制 0000 0101
10转换成2进制 0000 1010
5&10 的结果 0000 0000 =0
7转换成2进制 0000 0111
5&7的结果 0000 0000=5
2)| 运算

例题2:
5|10 的结果 0000 1111=15
5|7 的结果 0000 0111=7
3) ^的位运算
例题3: 6的二进制 0000 0110
3的二进制 0000 0011
6^3的结果 0000 0101=5
6^3^3的结果 0000 0110=6( 一个数异或(^)同一个数结果还是这个数)
4)<<(左移运算)
例题4: 5的二进制0000 0101 向左移动2位
<<2 0010 1000=20(左移几位其实就是该数据乘以2的几次方。<<可以完成2的次幂运算)
5)>>(右移运算)
例题5: 5的二进制0000 0101 向右移动2位

2 0000 0001=1 (右移几位,其实就是该数据除以2的几次幂)
6)>>>(无符号):数据在进行右移时,高位出现的空位,无论原高位是什么,空位都用0补
小节练习题
1)最有效率的方法算出2*8等于几? (2*8=2<<3)
2)对于两个整数变量的值进行互换(不需要第三方变量)
package Hu;
public class Hu{
public static void main(String[]arge){
/* 方法一:开发时候用
int a,b,c;
a=36;b=45;
c=a,a=b;b=c;*/
//方法二:
int a=36;int b=45;
/*a=a+b;//a=36+45;a=81;
b=a-b;//b=81-45;b=36;
a=a-b;//a=81-36;a=45;*/
//方法三:面试时候用
a=a^b;//a=36^45;
b=a^b;//b=(36^45)^45;b=36;
a=a^b;//a=(36^45)^36;a=45;
System.out.println(“a=”+a+”,b=”+b);

}

}
7)三元运算符
格式 : 条件 值 值
语句 : …… ? —– : —-;
例题:package Hu;
public class Hu{

public  static void main(String[]arge){
     int a ,x=0;
     a=(x>1)?100:200;
    System.out.println("a="+a);
}

}

二.程序流程的控制
1)程序流程的控制分为三部分 :1)判断结构 2)选择结构 3)循环结构
2)判断结构
1)判断语句需要if语句 if语句分为三种
2)if语句的第一种格式 if (条件表达式) { 执行语句 }
例如: int x=5; if(x>1); {System.out.println ( “yes”);}
当语句只有一句时可以省略大括号
3)if语句第二中种格式 if (条件表达式){ 语句体 一 } else{ 语句体 二 }
例如 : int x =10000 if (x>5000){System.out.println(“白领”) ; }else{System.out.print(“屌丝”);}
注意:没初始化的变量不可以被打印 三元运算符就是if else的简写格式
4)if语句的第三种格式 if (表达体){ 语句体 1}else if (表达体){ 语句体2} else{ 语句体3}
If语句的嵌套
注意:局部代码块可以定义局部变量的生命周期 ({});
2)选择结构
Switch语句 格式:switch (表达式){
case :(执行语句1);
break(跳出);
case :(执行语句2);
break(跳出);……
………………………………..
default:
Break;

例题: package Hu;
public class Hu{
public static void main(String[]arge){
int x=3;
switch(x){
case 1:
System.out.println(“屌丝”);
break;
case 2:
System.out.println(“屌丝1”);
break;
case 3:
System.out.println(“屌丝2”);
break;
default:
System.out.println(“屌丝3”);
break;//挨着大括号的break可以省略

    }


}
}

If和switch的应用

If的特点:
1) 对具体的值进行判断
2) 对区间进行判断
3) 对运算结果是boolean类型的表达式进行判断
Switch的特点:
1) 对具体的值进行判断、
2) 值得个数通常是固定的
3) 对于几个固定的值 ,建议使用switch语句 因为switch语句会将具体的答案都加载进内存效率相对高点
3)循环结构
代表语句 while , do while, for
While的语句格式 while(条件表达式){ 执行语句; }
Do while语句格式 do{ 执行语句;} while(条件表达式);
特点:do while 是条件无论是否满足 循环体至少执行一次。
While 是先判断后执行
For循环的格式:
For (初始化表达式 ; 循环条件表达式; 循环后的操作表达式){
执行语句;(循环体)}
注: for意里面表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行 环后的操作表达式,接着继续判断循环条件 重复这个过程 直到天剑不满足为止
For和while可以互换
格式上的不同,使用上有点小区别。
如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了

例题:package Hu;
public class Hu{
public static void main(String[]arge){
int x=1;
while(x<11){
System.out.println(“x=”+x);
x++;
}
System.out.println(“x===”+x);

    for(int y=1;y<11; y++){
        System.out.println("y="+y);
    }
    //System.out.println("y==="+Y); 会报错作用域
}
}

4)什么时候使用循环结构呢?
当对某些代码执行很多次时,使用循环结构完成
当对一个条件进行一次判断时 ,可以使用if语句
当对一个条件进行多次判断时,可以使用while语句

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值