Java学习笔记Day02

1、运算符

(1)算术运算符:

x++:先取值,后运算

a=2;b=++a ----->a=3;b=3

++x:先运算,后取值

a=2;b=a++ ----->a=3;b=2(--同理)

+:可用于字符串的拼接,如“ hel”+“lo”---->“hello”

(2)比较运算符:比较的结果为ture或false

instanceof:检查是否是类的对象:(变量)instanceof(类名):(结果)

(3)逻辑运算符

● &—逻辑与 | —逻辑或 !—逻辑非

● && —短路与 || —短路或 ^ —逻辑异或

& :  逻辑与  
    所有的表达式结果为true,结果为true,否则为false                      
    当第一个表达式结果为false时,还会继续执行后面其他的表达式
    
&&:  逻辑与/短路与                
    所有的表达式结果为true,结果为true,否则为false                 
    当第一个表达式结果为false时,不会继续执行后面其他额表达式  
    
|:   逻辑或                 
    当表达式中有一个是true时,结果是true                 
    当第一个表达式是为true时,还会继续执行后面其他的表达式
    
||:  逻辑或/短路或               
    当表达式中有一个是true时,结果是true                 
    当第一个表达式是为true时,不会继续执行后面其他的表达式
    
! : 逻辑非  !true -->false     
    
^ : 逻辑异或 相同为false 不同为ture

&与&&的区别:

单&时,左边无论真假,右边表达式都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算

(|与||的区别同理)

建议:开发中推荐使用&& 与 ||

(4)赋值运算符

要注意分清==与=的区别

注意: 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理

(5)条件运算符

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

若条件表达式为ture,则结果为表达式1,若条件为false,则结果为表达式2

(6)位运算

<< 空位补0,被移除的高位丢弃,空缺位补0

>> 被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1

>>> 被移位二进制最高位无论是0或者是1,空缺位都用0补

& 二进制位进行&运算,只有1&1时结果是1,否则是0

| 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;

^ 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 ^ 运算结果是1。1^0=1 ,

~ 正数取反,各二进制码按补码各位取反 负数取反,各二进制码按补码各位取反

2、控制台输入

Java通过Scanner类来实现控制台输入

步骤:(1)导包:import java.util.Scanner;

(2)创建Scanner类型的对象:Scanner scan = new Scanner(System.in);

(3)调用Scanner类的相关方法:

next()方法用以 取得用户输入的字符

nextInt()将取得的输入字符串转换为整数类型;

nextFloat()转换成浮点型;

nextBoolean()转 换成布尔型

3、控制语句

(1)条件语句

【1】if-else

if条件结构是根据条件判断之后再做处理

【优势】:if语句的条件是一个布尔类型值,if条件表达式为true则进入分支,可以用于范围的判 断,也可以用于等值的判断,使用范围更广。 switch语句的条件是一个常量值(byte,short,int,char,枚举,String),只能判断某个 变量或表达式的结果是否等于某个常量值,使用场景较狭窄。

【2】switch:多分支选择语句,根据表达式的值,来执行多个操作中的一个。

表达式可以是byte、short、int、char、枚举类型、String类型;case语句后面只能使用常量表达式; case后的值不能重复;

某个case分支如果没有提供break语句,则继续执行下一个case后的语句; 当表达式的值与任一case子句中的值都不匹配时,将执行default后面的语句; 如果没有default子句,则程序直接跳出switch语句

【优势】:当条件是判断某个变量或表达式是否等于某个固定的常量值时,使用if和switch都可 以,习惯上使用switch更多。因为效率较高。当条件是区间范围的判断时,只能使用if 语句

【二者比较】:凡是使用switch-case的结构都可以转换为if-else结构。反之,不成立。 开发经验:如果既可以使用switch-case,又可以使用if-else,建议使用switch-case。 因为效率稍高。

(2)循环语句

【while 语句】:

初始化部分

while(逻辑表达式)

{ 循环体 迭代部分 }

执行过程:先判断逻辑表达式的值。 若=true.则执行其后面的语句,然 后再次判断条件并反复执行,直 到条件不成立为止

【do-while 语句】:

do { 语句; … ; }

while(逻辑表达式);

执行过程:先执行语句,再判断逻辑表达式的值,若 为true,再执行语句,否则结束循环

【for循环】:

for(表达式1; 表达式2; 表达式3){ 语句; … ; }

执行过程:首先计算表达式1,接着执行表达式2,若表达式2的值 = true,则执行循环语句, 接着计算表达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false

(3)break & cotinue

break 语句用于终止某个语句块的执行。用在 循环语句体中,可以强行退出循环

continue 语句用在循环语句体中,用于终止某 次循环过程,跳过循环体中 continue 语句下 面未执行的循环,开始下一次循环过程

【如果需要从多层循环跳出,则需要使用标签,定义一个标签,如label, 然后在需要跳出的地方,用break label就行了】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值