Java基础语法二

DAY2

一. 算术运算符
1. 基本运算符
+(加)、-(减)、×(乘)、/(除)、%(取余)
在Java中如果两个整数做运算,那么结果也是整数;如果结果想要小数,那么在除数或者被除数之后乘以1.0f
2. “++与- -”
++:使自身的值加1
参与运算:
前++:先使自身的值加1,然后再参与运算;
后++:先参与运算,然后使自身的值加1;
单独使用
前++和后++的结果是一样的
--:使自身的值减1
参与运算:
前- - :先使自身的值减1,然后再参与运算;
后- -:先参与运算,然后使自身的值减1;
单独使用
前- - 和后- - 的结果是一样的
二. 算术运算符
“=”是最基础的赋值运算符,一般是将右边的内容赋值给左边;
以“=”演变出来了一些具有特殊功能的赋值运算符:
如:+=,-=,×=,/=,%=
注意事项:
a += b;隐含了一个数据类型的强制转换
a = (a的数据类型)(a+b);
三. 关系运算符
关系运算符也叫比较运算符,它的结果都是boolean类型的
“==”是否等于的意思
“!=”不等于的意思
“instanceof”判断是否是指定的类型的意思
“>”、“<”、“>=”、“<=”
注意事项:
“= =”表示的是是否等于的意思,是一个比较运算符
“=”是一个赋值运算符
四. 逻辑运算符

  • 单与和双与的特点
    与:当所有的结果都是true的时候,最终的结果才是true;
    &和&&:他们的结果都是一样的。
    &:不论左边的结果是true还是false,右边的表达式都要执行;
    &&:如果左边的结果是false了,那么右边的所有表达式都不会执行,具有短路效果
    规则:无false则true,有false则false------>开发中常用&&
  • 单或和双或的特点
    或:只要有一个结果是true的时候,那么最终的结果就是true
    |:不论左边的结果是true还是false,右边的表达式都要执行;
    ||:如果左边的结果是true了,那么右边的所有表达式都不会执行,具有短路效果
    规则:有true则true,无true则false------>开发中常用||
  • 异或与或
    ^(异或):相同false,不同true
    如果所有的值都相同,那么最终的结果是false
    如果结果中有一个不同的,那么最终的结果是true
    注意事项:
    异或和或的结果是一样的,除了左右两边都为true的情况,当左右两边的值都是true的时候,异或的结果是false,或的结果是true
  • 非运算符的特点和规律
    !:非真即假,非假即真;取相反值
  • 连接数值的区间使用
    在数学中,比如有一个未知数x,我想表示这个x的取值范围:2<x<10;但是在Java中不能这样使用,需要使用逻辑运算符链接
    五. 位运算符
    位运算符:它是对整数的补码进行字节操作的
    “<<”:将一个数左移几位,就相当于乘以2的几次方,最高位被直接移除,右边直接补0
    “>>”:将一个数右移几位,就相当于乘以2的几次方,最高位是什么就补什么,是0就补0,是1就补1
    注意事项:
  • 位运算是在原数据的基础上进行操作的,但是不对原数据进行改变,而是将改变后的返回值返回
  • 负数位运算:首先将负数的补码求出来,然后对补码进行位运算,然后再将位运算过后的补码转换成源码,然后再转换成十进制输出
    六. 三目运算符
    运算符都会有一个返回结果
    三目运算符(三元运算符)基本格式:
    (关系表达式)?表达式1:表达式2;
    执行流程:
  • 首先计算出关系表达式的值,看其结果是true还是false;
  • 如果是true则执行表达式1;
  • 如果是false则执行表达式2;
    七. 键盘录入功能
    键盘录入功能分为三步:
  • 导包
    import java.util.Scanner;
  • 创建对象
    Scanner sc = new Scanner(System.in);
  • 接收数据
    int i = sc.nextInt();------>接收int型数据
    String ss = sc.nextLine();------>接收字符串
    八. 流程控制语句
  • 顺序结构:就是我们默认的顺序,写在前面的代码就先执行,写在后面的代码就后执行;
  • 选择结构:if和switch,它们也叫分支结构,根据不同的结果运行不同的语句;
  • 循环结构:while,for,do…while,这种语句会重复做某件事情,直到条件不满足才会结束
    if语句一共有三种格式:
    格式一:
    在这里插入图片描述
    执行流程:
  • 首先计算关系表达式的值,看其结果是true还是false;
  • 如果是true则执行语句体;
  • 如果是false就执行后续代码
    注意事项:
  • if语句后面跟的括号里面的值只能是boolean类型的
  • if语句默认会控制一条语句,建议大括号不要省落
  • ;代表一个空语句,有大括号就没有分号,有分号就没有大括号
    格式二:
    在这里插入图片描述
    执行流程:
  • 首先计算关系表达式的值,看其结果是true还是false;
  • 如果是true则执行语句体;
  • 如果是false就执行语句体2;
    注意事项:
    三目运算符和格式二是很像的;
    有些情况下是可以相互转换的
    一般情况下三目运算符和if语句的第二种格式是可以相互转换的,但是当控制的语句是一条输出语句的时候,三目运算符就不能实现了;
    结论: 三目运算符能做的事情,必须要有一个结果返回;
    格式三:
    在这里插入图片描述
    执行流程:
  • 首先计算关系表达式1的值,看其结果是true还是false;
  • 如果是true则执行语句体1;
  • 如果是false就计算关系表达式2的值看其结果是true还是false;
  • 如果是true则执行语句体2;
  • 如果是false就计算关系表达式3的值看其结果是true还是false;
  • 如果是true则执行语句体3;
  • 最后上述就够都不成立,执行语句体n+1;
    switch语句格式:
    在这里插入图片描述
    格式解析:
    表达式:它的取值可以是byte,short,int,long,char,String(JDK1.7)
    case:它表示匹配的异常,后面跟的常量值是和表达式的值进行匹配的
    语句体:就是我们要执行的事情,可以是一条或者多条语句
    break:表示结束switch语句
    default:它表示上述所有的case都不匹配时,就执行default里面的语句体,相当于if语句中的else
    执行流程:
    首先计算表达式的值,然后和所有的case后面的常量值进行一一匹配,一旦匹配成功就执行case里面的语句体,然后执行的过程中一旦遇到break就结束switch语句,如果所有的case都不匹配,就执行default里面的语句体
    注意事项:
  • case后面的值智能是常量值,不能是变量
  • default的位置智能放到最后吗?答案是不是的,case和default的顺序可以随意放置
  • break是可以省略的,但是一般不建议省略,因为break一旦没有了,那么就会一直执行下去,直到遇到break或者程序执行完switch语句才会结束
  • default是可以省略的,如果你想要的值是固定的,那么就不需要default
  • 程序结束的标志有:A:遇到break;B:程序执行结果
    选择标准:
    if语句:
  • 针对结果是boolean类型的判断
  • 针对一个范围的判断
    switch语句:
  • 针对几个常量值的判断
    循环结构:
    定义:它是通过一个判断条件为依据反复执行某一段代码,然后在合适的时机将这个判断标记改变成false,从而结束循环,不然的话这个循环就是一个死循环
    循环结构:
  • 初始化语句:一般是初始化一些变量的,比如初始化一个int类型的变量,只会执行一次
  • 判断条件语句:判断当前的循环是否有必须要继续,是否满足继续的条件,一般判断的是初始化时的那个变量
  • 循环体语句:就是我们要反复执行的代码,可以是一条或者多条语句
  • 控制条件语句:一般是控制初始化时的那个变量,让其在合适的时机结束整个循环
    for结构:
    在这里插入图片描述
    执行流程:
  • 执行初始化语句
  • 计算判断条件语句的结果,看其结果是true还是false;如果是true,就执行下面一步;如果是false就结束整个for循环
  • 执行循环体语句
  • 执行控制条件语句,然后再回到第二个步骤
    while结构:
    在这里插入图片描述
    完整格式:
    在这里插入图片描述
    执行流程:
  • 执行初始化语句;
  • 执行判断条件语句,看其结果是true还是false;如果是true,进行下一步骤;如果是false,结束while循环
  • 执行循环体语句
  • 执行控制条件语句,然后返回到第二个步骤
    选择标准:
    for语句: 更适合做一定已知范围内的循环
    while语句:更适合未知数
    注:当一个需求在循环之后需要访问初始化语句的那个变量时,使用while语句;当一个需求在循环之后不需要访问初始化语句那个变量时,用for循环更合适,因为for循环结束之后初始化语句的那个变量也随着消失;
    do…while结构:

    执行流程:
  • 执行初始化语句;
  • 执行循环体语句;
  • 执行控制条件语句;
  • 执行判断条件语句,看其结果是true还是false;如果是true,回到第二步骤;如果是false,结束while循环;
    三种循环结构的区别:
  • for语句更适合固定范围内的循环;
  • while语句更适合求未知数的循环;
  • do…while语句更适合循环体语句至少要执行一次的循环;
    三种循环结构的注意事项:
  • do…while的循环体语句至少会执行一次;
  • while和for语句只有在判断条件语句返回结果是true的时候,循环体语句才会执行;
    控制语句中的中断和继续:
  • break中断:表示中断的意思,可以在选择结构switch中使用,也可以在所有的循环语句中使用;离开使用场景没有任何的意义;
  • continue:跳过本次循环,后续的代码不会执行,直接开始下次循环;而break是结束当前循环;
  • return:表示结束整个方法,return后面的代码都不会执行了,将执行权交给上层调用者

猜你喜欢

转载自blog.csdn.net/qq_36633450/article/details/83685242