2021-7-16 Java课堂笔记Day2

1 运算符

1.1算术运算符

运算符:对常量和变量进行操作的符号(+、-、*、/、%)

表达式:用运算符把常量或者变量链接起来的符合java语法的字符串 称为表达式

1.2算术运算规则

整数运算:如果操作数为byte、short、int时结果都为int型,如果操作数中有long型则结果为long型。

浮点运算:如果操作数都是float型结果可用float保存也可用double保存(类型自动转换),如果有一个操作数为double则结果为double型。

求模(取余)运输:结果为两个数的余数,余数符号与左边操作数符号相同。一般使用整数运算,浮点数运算只能取近似,精度会有误。

1.3字符的操作

char类型参与算术运算,使用ASCll码

‘a’ —— 97 (a-z连续)‘A’ —— 65(A-Z连续)‘0’ —— 48(0-9连续)

算术表达式包含多个操作数时,整个算术表达式的类型会自动提升到操作数中的最高数据类型。

byte、short、char、int—>int—>long—>float—>double

1.4字符串的操作

字符串和数值型数据进行“+”运算 时进行的是字符串拼接,而不是算术运算,拼接时从左到右依次拼接;“+”称为字符串连接符

1.5赋值运算符

赋值运算符 = ,拓展赋值运算符 +=、-=、*=、/=、%= 先进行算术运算,再赋值

拓展赋值运算符内含强制类型转换

1.6自增自减运算符

自增 ++ 自减 -- ++a 先增再用 a++ 先用再增 --a先减再用 a-- 先用再减

1.7关系运算符

== 、 != 、 > 、 < 、>= 、 <=

关系运算符结果都是boolean类型 true和false

注意 == 不要写成 =

1.8逻辑运算符

1.8(1)逻辑运算符

&(与) a&b a、b都为true结果为true,否则为false。

|(或) a|b a、b都为false结果为false,否则为true。

^(异或) a……b a、b相同为false,不同为true。

!(非)!a true变false,false变true。

java中表示区间的数不能一次表达 必须拆分成两部分。

例: 3<x <6 拆分成 3>x 和 x<6 Java中表示为 x>3 & x<6

1.8(2) 短路逻辑运算符

&&(短路与)作用和&相同 但有短路效果

||(短路或)作用和|相同 但有短路效果

&、| 无论左边真或假右边都会执行

&& 如果左边为真,右边会执行;如果左边为假,右边不会执行

|| 如果左边为真,右边不会执行;如果左边为假,右边会执行

1.9位运算符

位运算指的是进行二进制位的运算

~(取反)原数基础上+1取负 ~3 = -4

&(按位与)二进制下,都是1时结果为1,否则为0。

|(按位或)二进制下,都是0时结果为0,否则为1。

^(按位异或)二进制下,相同时结果为0,不同时结果为1。

<< 、>>(左移、右移)将整个二进制数左(右)移一位 相当于将原来的数乘(除)2

1.10三元(三目)运算符

格式:表达式1 ?表达式2 :表达式3

运算规则:判读表达式1的值,如果为true输出结果为表达式2,如果为false输出结果为表达式3

ps:作用可类似于if……else语句

2.流程控制语句

分类:

顺序结构

分支结构(选择结构) if switch

循环结构 for while do……while

2.1 顺序结构

程序从main方法开始,自上而下依次执行。

2.2分支结构(选择结构)(可嵌套)

2.2.(1)if

单分支:

if(关系表达式){//表达式为true执行语句块,否则跳过。
    语句块
}

双分支 (if……else):

if(关系表达式){//表达式为true执行语句块1,否则执行语句块2。
    语句块1
}else{
    语句块2
}

多分支(if……else if):

if(表达式1){
    语句块1
}else if(表达式2){
    语句块2
}else if(表达式3){
    语句块3
}……else {
    语句块n
}

嵌套分支 :语句块可为新的if分支

2.2.(2)switch

switch(判断式){
    case 值1:
        语句1;
        break;
    case 值2:
        语句2;
        break;
        ……
    default:
        语句n;
        break
}

1.switch语句必须使用在可穷举的情况下,即表达式的类型为:char,byte,short,int,enum(枚举),string(jdk7以上)

2.break作用:结束当前执行,如果没有break将发生case穿透。

3.default可以出现在任意位置

4.对于case如果对应相同的代码,可省略部分代码。

2.3.(3)if和switch的区别

1.if判断范围,switch判断值。

2.switch判断的值可穷举。

3.能用switch实现的if也可实现,能用if实现的switch不一定能实现。

2.3循环结构(可嵌套)

for while do……while

特点:

2.3.(1)for循环(先判断后执行)

for(初始化语句;条件判断语句;条件控制语句){
    语句
}

循环语法规则

1.初始化语句,可有数条语句,对数据进行初始化。

2.条件判断语句,结果为boolean值,决定了循环体是否执行。

3.循环语句,可有数条语句,也可是其他结构如if语句或其他循环语句

4.条件控制语句,改变条件判断的值的语句,使用自增自减居多

2.3.(2)while循环(先判断后执行)

while(条件判断语句){
    循环语句;
    条件控制语句;
}

2.3.(3)do……while循环(先执行后判断,至少执行1次)

do{
    循环语句;
    条件控制语句;
}while(条件判断语句);

do……while使用场景:用户登录

三种循环区别:

1.for循环和while循环都是先判断后执行。

2.do……while先执行一次后判断。

3.for循环变量仅作用于循环内,whlie循环变量可作用于循环外

2.4跳转控制语句

break :在任何循环语句的主体中可采用break来强制结束所有循环。

continue:在任何循环语句的主体中使用continue结束当前循环开始下次循环。

带标签的break和continue:结束循环跳转到标签处继续运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值