• Java语言基础(2)


    运算符和表达式

    赋值运算

    使用“=”进行赋值运算,用于对变量赋值。关于赋值运算符,除了将右边的表达式计算出来赋给左边以外还具备如下特点:赋值表达式本身也有值,其本身之值即为所赋之值。

    使用扩展赋值表达式

    在赋值运算符"="前加上其他运算符,即为扩展赋值运算符。

    如:x+=5  x-=5   x/=5   x%=5   x*=5

    字符串连接运算

    使用"+"进行字符串连接

    "+"可以实现字符串的连接,也可以实现字符串与其它数据类型的“相连”

    int a=100;
    String msg="a="+a;
    System.out.println(msg);//a=100
    
    msg=""+100+200;
    System.out.println(msg);//结果而100200
    
    msg=100+200+"";
    System.out.println(msg);//结果为:300

    条件运算(三目运算)
    使用条件(三目)运算符

    条件运算符又称"三目"运算符,其结构为:boolean 表达式? 表达式1:表达会2

    条件运算符的规则如下:

    -----先计算boolean 的表达式;

    -----如果boolean表达式的值为true,整个表达式的值为表达式1的值;

    -----如果boolean表达式的值为false,整个表达式的值为表达式2的值;

    int a=100,b=200;
    int flag=a>b?1:1-;//flag的值为-1

    条件(三目)运算符的嵌套

    条件运算符可以嵌套使用,所谓嵌套使用指在条件表达式:boolean表达式?表达式1:表达式2 中的表达式1或表达式2也可以是三目表达式。

    int a=-3;
    String r=a>0? "正数":(a==0?"0":"负数");
    System.out.println(r);//结果为负数

    分支结构

    任何复杂的程序逻辑都可以通过"顺序","分支"。"循环"三种基本的程序结构实现。

    程序可以在运行过程中,根据不同的条件运行不同的语句

    if语句的执行逻辑

    语句0;

    if(逻辑表达式){

       语句1;

               语句2;

    }

    语句3;

    1.执行语句0;

    2.判断逻辑表达式的值:

      若值为true,则执行if语句块中的语句;

    若值为false,则不执行if语句块中的语句;

    3.执行语句3.

    if-else语句的执行逻辑

    if(逻辑表达式){

       语句1;

    }else{

               语句2;

    }

    语句3;

    1.执行语句0;

    2.判断逻辑表达式的值:

      若值为true,则执行if语句块中的语句1;

    若值为false,则不执行if语句块中的语句2;

    3.执行语句3.

    switch case语句

    switch-case语句执行逻辑

    switch case语句是一种特殊的分支结构,可以根据一个整数表达式的不同取值,从不同的程序入口开始执行。

    switch(整型表达式){

      case 整型常量值1:语句1;

           case 整型常量值2:语句2 ;

            ..............

            default:语句n;

    }

    switch-case和break联合使用

    通常case1,case2,,,caseN对应完全不同的操作,可以和break语句配合使用,执行完全相应语句后即退出switch块,不继续执行下面的语句。

    switch(整型表达式){

      case 整型常量值1:语句1;break;

           case 整型常量值2:语句2 ;break;

            ..............

            default:语句n;

    }

    注意:break语句的作用在于跳出switch结构

    switch-case的优势

    switch-case常常和break语句结合使用实现分支的功能。

    switch-case在实现分支功能时和if-else的主要区别在于switch-case结构的效率更高,结构更清晰。

    从JDK7.0开始,switch-case支持字符串表达式。

    循环结构

    循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复执行。

    循环的要素:

    ---循环体(相同或相似的语句)

    ---循环条件(继续执行循环的条件,在某些情况下循环条件以循环次数的方式体现)

    while语句

    while语句的执行逻辑

    1.计算boolean表达式的值

    2.如果值为true则执行语句块;语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块;如此循环往复,知道boolean为false时退出while循环。

    while(boolean表达式){  //boolean表达式结果为真时,执行语句块;否则退出

      语句块   //被重复执行的操作

    }

    注意:一般情况下,循环操作中会存在使得循环条件不满足的可能性,否则将成为"死循环"。

    while语句用于处理循环逻辑

    int age=1;
    while(age<=100){
        System.out.println("你好");
        age++;  
    }
    System.out.println("over");

    使用break语句跳出循环

    break用在循环体中用于退出循环

    int x=0;
    while(x<10){
        if(x==5){
          break;
    }
     System.out.println(x);
     x++;
    }
    //输出结果为:0,1,2,3,4当x==5时,退出循环。

    do-while语句

    do-while语句的执行逻辑

    1.先执行语句块

    2.再计算boolean表达式,如果为true,再次执行语句块,如此循环往复,直到boolean表达式的值为false为止。

    do{   //无论boolean表达式是否为true,都先执行一次语句块

      语句块;

    }while(boolean表达式);

    while和do-while语句的区别:

    -----while循环先判断再执行;

    -----do-while循环先执行一次,再判断;

    当初始情况不满足循环条件时,while循环一次都不会执行;do-while循环不管任何情况都至少执行一次;

    注意:

    while和do-while语句的不同仅仅是体现在第一次就不满足条件的循环中;如果不是这样的情况,while和do-while可以互换。

    for语句

    for语句的执行逻辑

    for(表达式1;表达式2;表达式3){

      语句块(循环体)

    }

    1.计算表达式 1的值;

    2.计算表达式2(表达式2为逻辑表达式)的值,如果为true则执行循环体,否则退出循环;

    3.执行循环体;

    4.执行表达式3;

    5.计算表达式2,如果为true则执行循环体,否则退出循环;

    6.如此循环往复,直到表达式2的值为false.

    int sum=0;
    for(int i=0;i<=100;i++){
           sum+=i;  
    }
    System.out.println("1到100的和为:"+sum);

    for语句三个表达式特殊用法

    1)表达式1位置内容为空时:

    int sum=0;
    int i=1;
    for(;i<=10;i++){
        sum+=i;
    }
    Sysetem.ouot.println("1到10的和为"+sum);

    2)表达式3位置内容为空时:

    int sum=0;
    for(int i=1;i<=10;){
           sum+=i;
           i++;  
    }
    Sysetem.ouot.println("1到10的和为"+sum);

     3)表达式1,2,3位置内容均为空时:

    for(; ; ){ //死循环
           Sysetem.ouot.println("我要上班了....."); 
    }

    4)表达式1和3位置内容的多样化

    for(int i=1,j=6;i<=6;i+=2,j-=2){
         System.out.println("i,j="+i+","+j);
    }

    循环中使用break语句

    break用于循环语句或switch语句中;

    break用于循环,可使程序终止循环而执行循环后面的语句,常常与条件语句一起使用。

    int sum=0;
    for(int i=1;i<=100;i++){
    if(sum>=400){
         break;
    }
    sum+=i;
    
    }

     循环中使用continue语句

    continue只能用于循环中

    其作用为跳出循环体中剩余语句而执行下一次循环

    int sum=0;
    for(int i=1;i<=100;i++){  //统计总会时,跳过所有个位为3的
      if(i%10==3){
           continue;
    }
    sum+=i;
    }

    循环问题

    需要多次重复执行一个或多个任务的问题考虑使用循环来解决;

    一般情况下,for循环使用最多,对于for循环结构,一定要分析出需解决业务的3部分:

    -----循环变量初始状态

    -----循环条件

    -----循环变量的改变

    循环问题定义--------“当”循环

    循环语句的选择

    ---如果业务可以转换为"当..."这样的语句时,优先选择while语句来实现

    ---如果业务可以转换为"直到..."这样的句式时,优先选择do-while语句来实现

    ---如果业务中可以获取到一个确切的循环次数考虑for循环

  • 相关阅读:
    布隆过滤器
    springboot+redis实现分布式锁
    springboot+redis实现消息队列
    工作启示文章收藏
    redis常用命令
    前方的路
    分布式系统中对cookie和session的思考
    用Markdown来写自由书籍-开源技术的方案
    Centos 7.0添加yum本地安装源
    爹地,我找到了!15个极好的Linux find命令示例
  • 原文地址:https://www.cnblogs.com/peachwang/p/7388168.html
Copyright © 2020-2023  润新知