ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第二周总结

2021-10-07 15:32:39  阅读:149  来源: 互联网

标签:总结 语句 ... 运算符 第二周 成立 执行 表达式


运算符

算术运算符

基本的算术运算符:
    +  -  *  /  %(模,求余)
注意事项:
        Java中 /:默认取整  
            3/4  = 0 ;
        Java中 %:求余数
算术运算符扩展写法:
    ++(自增)    --(自减)
关于他们的使用方式:
    两种场景:
        1)单独使用
            无论在数据前还是或者数据后:都是对当前变量的值进行自增1或者自减1 
应用场景:循环语句中有一个控制体语句(步长语句)                                2)参与运算使用
            在数据前:
                先将当前变量本身的值进行自增1或者自减1,然后在参与运算!   
            在数据后:
                先运算,然后变量的本身的值进行自增1或者自减1;

赋值运算符

基本的赋值运算符: =     
例:
    int a = 10 ; 
    表示的意思:将10赋值给int类型的变量a                   
注意事项:
    =不能写成==,反之,==不能写成=;冲突的
扩展的赋值运算符:
    +=, -=, *=, /=, %=
例:  a += b/100;(a = a+b/ a+100;)    其他原理一样
    强制转换:   s  = (short)(s+1) ;

关系运算符/比较运算符

<,  >,  <=, >=, ==, !=  
无论表达式简单还是赋值,最终都是boolean(true/false) 
注意:
    ==不能写成"="
    ==:比较连接的两个基本数据类型(目前使用的基本类型),比较数据值相同
    String:引用类型(常用类的重点类:功能非常多)
        比较数据是否相同,使用的"equals方法"

逻辑运算符

基本逻辑运算符
    逻辑单与&:  并列关系
        结论:有false,则false; 多个条件必须同时满足才成立!
    逻辑单或|:  有true,则true; 多个条件,满足一个即可成立!
    逻辑异或^: 相同则为false,不同则为true;
        简单记:    男女关系                            
            男男 女女:false     男女 女男 :true
    逻辑非!:
        非true,则false;非false则true!
扩展的逻辑运算符(推荐)
    逻辑双与&&
        特点:
            逻辑双与&&:当符号左边的表达式为false,右边不执行了,具有短路效果 ;
    逻辑双或||
        特点:
            当这个符号左边表达式为true,则右边不执行了,具有短路效果;

位运算符

位与 & : 有0则0
位或 | : 有1则1
位异或 ^ :相同则为0,不同则为1
    一个数据被另一个数据位异或两次,其值是它本身
反码 ~ :按位取反,全部都0变1,1变0
位移符号:
    << : 左移
        将这个数据(补码)左移动,右边不够的补1,左边不够的补0,将左边多余的移动位数丢掉;
    >>:右移
        将这个数据(补码)向右移动指定的位数;如果最高符号位为0,左边补0;
        如果最高符号位为1,左边补1;将右边的多余的数据丢弃掉;
    >>>:无符号右移
        无论最高符号位是1还是0,始终左边补0;(使用补码无符号右移)
运算:
    << : 将<<符号左边数据乘以2的移动次幂
    >> : 将>>符号左边的数据除以2的移动次幂
例 : 
    2 << 3      2左移3位:2*2^3

三元运算符/三目运算符

格式 :
    (表达式) ? 语句1 : 语句2;
执行的流程:
    先判断表达式的结果是否成立,如果结果为true,就执行成立的语句1;
    否则不成立,则执行不成立的语句2;
例 :
    int x = (a > b)? a : b ;

键盘录入数据

使用步骤:
    1)导包 用哪个一类,就需要导入到当前Java文件中(只要不是java.lang包下的类,都需要导入) 
    固定写法:
        import java.util.Scanner; //用谁导谁
        书写位置:在class的上面
    2)固定格式:创建文本扫描器对象
        Scanner 对象名 = new Scanner(System.in) ; //对象名:自己起名字      
    3)提示并录入数据 (默认录入int类型)
        System.out.println("请您输入数据:") ;
        int 变量名= 对象名.nextInt() ; //录入一个int类型的数据
    4)完成自己的业务操作:使用这个变量名(求两个数据是否相等/比较数据最大值等等...)
录入字符串:
        String a = sc.nextLine() ;
        String b = sc.next() ;
例:
        import java.util.Scanner;
        class Demo{
            public static void main(String[] args){
                Scanner sc = new Scanner(System.in);
                System.out.println("请您录入一个数据:");
                int a = sc.nextInt();
                System.out.println("您输入的数据是"+a);
            }
        }

流程控制语句

顺序结构语句

当进入到类中之后,jvm调用main方法,代码由上而下依次加载
除非一种特例:当jvm退出了就不会进行执行了!
    后期System类中有一个功能:exit(int status) 参数里面为0,表示正常终止jvm
例:
        class ShunXuDemo{
​
            public static void main(String[] args){ //程序的入口
                //定义变量
                int a = 10 ; //局部变量(在方法定义中的变量)
                System.out.println("a:"+a) ;
                System.out.println("程序开始了...") ;
​
                System.out.println("......") ;
​
                //让Jvm退出(正常终止正在运行的jvm),main方法就结束了
                System.exit(0) ;    (有0,程序在这里终止)
​
                System.out.println("程序结束了...") ;
​
                System.out.println("over...") ;
            }
        }

选择结构语句

if

if格式1:
    if(表达式){
        语句;
    }
应用场景:针对一种情况判断
执行流程: 
    1)首先表达式是否成立,成立,则执行该语句
    2)不成立,不会进入if里面;
if格式2:
    if(表达式){
        语句1;
    }else{
        语句2;
    }
应用场景:针对两种情况进行判断
执行流程:
    1)先判断表达式是否成立,如果成立,执行执行语句1;
    2)如果不成立,则执行语句2;
if语句格式3 
    if(表达式1){
        语句1 ;
    }else if(表达式2){
        语句2;
    }else if(表达式3){
        语句3;
        ...
        ...
        ...
    }else{
        语句n+1;
    }
应用场景:针对多种情况进行判断
执行流程:
    1)首先判断表达式1是否成立,如果成立,则执行语句1;
    2)如果上面表达式1不成立,继续判断表达式2是否成立,如果成立,执行语句2
    3)如果表达式2也不成立,继续判断表达式3是否成立,如果成立,执行语句3
     ...
     ...
    4)如果上面的条件表达式都不成立,则执行最终语句n+1 ;
另:
    比较两个字符串是否相等
       equals(String str):
    例:
       (a.equals(b))        b:已知
            a是否等于b

switch

格式:
    switch(表达式){
        case 值1:
            语句1;
            break ;             
        case 值2:
            语句2;
            break ;
        ...
        ...
        ...
        default:
            语句n+1 ;
            break;
    }
执行流程:很类似于if格式3  
    1)switch中的表达式的结果值和case语句匹配,值1和结果匹配,
        就执行语句1,遇见break,switch结束;
    2)值1和switch表达式结果不匹配,继续判断值2是否匹配,如果匹配,就执行语句2,switch语句结束       
    ...
    ...
    3)如果case语句后面值都不匹配,这个执行default语句,执行语句n+1,程序执行到末尾结束...                
    break:属于跳转控制语句中的一种  
        结束,中断意思 (不能单独使用,只能在switch和循环语句中使用)
注意事项:
    1)case语句后面只能是常量(Java是一个强类型语言: 语法,结构非常严谨)
        相对来说:前端:javascript :简称"js",Switch语句的case中不仅可以常量,也可以是变量      是一个弱类型语言(语法结构非常不严谨)     
    2)case语句中beark 最好携带上,如果没有携带break语句,会造成"case穿透"
        "case穿透": (要灵活使用,并不是说这个情况不好)
        某个case语句中没有带break,此时当跟case的值匹配,这个时候继续就往下执行,不会在判断case!       
    3)default语句可以在switch语句中的任何位置,不会影响switch的执行流程
        如果在语句中,
            default里面的break千万不能省略;省略,造成case穿透(考点)
        如果在语句末尾,break可以省略不写,前期不建议           
    4)switch语句的结束条件是什么?
        a)遇见break结束
        b)程序默认执行到末尾

循环结构语句

for

格式:
    for(初始化语句;条件表达式;步长语句/控制体语句){
        循环体语句;
    }   
执行流程:
    1)初始化语句对变量进行赋值 
    2)判断条件表达式是否成立;
        如果是成立,执行循环体语句;
    3)继续执行控制体语句 
    4)继续回到2)里面判断
        如果是成立,执行循环体语句;
    继续回到3)  
    ...
    ...
    ...
    一直执行到条件不成立结束;

for嵌套

格式
    for(初始化语句;条件表达式;控制体语句){---外层循环
            循环体语句
        for(初始化语句;条件表达式;控制体语句){---内层循环
            循环体语句...
        }
    }       
    将一个for循环语句作为 "循环体"去执行;  

while

格式:
    初始化语句;
    while(条件表达式){
        循环体语句;
        控制体语句;
    }
执行流程:
    1)先初始化赋值
    2)判断条件表达式是否成立,成立,则执行循环体语句-
    3)执行控制体语句---继续判断条件是否成立,----循环,,,
    ...
    ...
    4)执行到条件表达式不成立,while语句结束

do while

格式:
    初始化语句;
    do{
        循环体语句;
        控制体语句;
    }while(条件表达式) ;
    
执行的流程:
    1)初始化语句赋值
    2)执行循环体语句
    3)执行控制体语句
    4)条件表达式判断,如果条件成立,继续执行循环体...
    ...
        
    ...
    条件表达式不成立,语句结束;

跳转控制语句

  1. break

break: 中断,结束
    不能单独使用
    1)只能在switch或者循环语句中中使用;
        单循环for循环中使用
    2)在for循环嵌套中使用
        break 标签语句 ;(现在很少见)     
        给外层循环,或者内层循环起名字--->标签语句;

continue

continue: 继续---->结束当前循环,立即进入下次循环        
    也不能单独使用     
    应用场景:
        JavaSE网络聊天室(集合+多线程+网络编程):某个功能
            功能: 上下提醒功能
            张三  :HashMap<String,Socket> 集合框架
                当遍历集合的时候,如果是张三本身,应该不提醒,使用continue;
                李四上线了
            李四登录--->

return

return: 返回具体的结果(结束方法)
    但是一般return很少单独使用,需要在有具体返回值类型的方法中使用!     
    return 一般都是结合方法使用
    return 结果值;  
在有返回值类型的方法中使用

标签:总结,语句,...,运算符,第二周,成立,执行,表达式
来源: https://blog.csdn.net/Daitutou_/article/details/120636686

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有