Java学习-基础篇(2)

    科技2022-07-10  129

    基础(2)目录

    一、运算符1.1算术运算符1.2关系运算符1.3逻辑运算符1.4赋值运算符1.5三元运算符 二、分支结构2.1单分支2.2双分支2.3多分支2.4嵌套分支

    一、运算符

    PS:楼主只PO出了自己学到的部分运算符

    一、算术运算符 +   -   *   /   %算术表达式的最终类型由表达式中最大类型决定++  --+=  -=  *=  /=二、关系运算符>  >=   <  <=  ==  !=关系表达式的最终结果为boolean逻辑运算符&& 短路:逻辑表达式左侧表达式的结果能确定    最终结果时右侧表达式不予执行||!赋值运算符=从右向左执行三元运算符xxx val = boolean ? V1 : V2;/

    1.1算术运算符

           +  -   *  /  %                      10/3 => 3      10%3 => 1

           ++   –                                a++ 先取值后+1      ++a 先+1再取值

           +=  -=   *=   /=                   a=a+1 <=> a++/++a <=> a+=1          a=a+N <=> a+=N


    1.2关系运算符

           >   >=   <   <=  ==  !=(关系表达式的最终结果为 boolean)

           20==10 => false      20>10 => true     20!=10 => true


    1.3逻辑运算符

           &&       逻辑与    二元短路与                      都为true为true,否则为false

           ||          逻辑或    二元短路或                      都为false为false,否则为true

           !           逻辑非    前置一元运算符               !true=false  /  !false=true

           ★短路:逻辑表达式左侧表达式的结果能确定最终结果时,右侧表达式不予执行。

           下面举例演示:

    public class Practice { public static void main(String[] args){ int a = 1; System.out.println(false && a++==1); //&&之前已经为false,那么整个逻辑表达式的结果就是false,后面直接不予执行; System.out.println(a); //因为后面的表达式不予执行,所以结果还为1; System.out.println(false || a++==1); //虽然||之前为false,但是还会计算后续的表达式; System.out.println(a); //表达式执行后结果自然加1; } } //输出结果为: false 1 true 2

    1.4赋值运算符

           =                   C = A + B将把A + B得到的值赋给C


    1.5三元运算符

           xxx val = boolean ? V1 : V2;

           条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

           下面举例演示:

    public class Practice { public static void main(String[] args){ int a = 30>20 ? 30 : 20; int b = 30<20 ? 30 : 20; System.out.print(a+"\t"+b); } } //输出结果为: 30 20

    二、分支结构

    2.1单分支

           if(条件){代码}

    public class Practice { public static void main(String[] args){ if(30>20){ System.out.println("true"); } } } //输出结果为: true

    2.2双分支

           if(条件){代码1}else{代码2}

    public class Practice { public static void main(String[] args){ if(20>30){ System.out.println("true"); }else{ System.out.println("false"); } } } //输出结果为: false

    2.3多分支

           if(条件1){代码1}else if(条件2){代码2}…else{代码N}                                ★if做区间条件

    import java.util.Scanner; public class Practice { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("告诉我你的成绩:"); int score = input.nextInt(); if(score>=90){ System.out.println("优秀"); }else if(score>=80){ System.out.println("良好"); }else if(score>=70){ System.out.println("中等"); }else if(score>=60){ System.out.println("及格"); }else{ System.out.println("不及格"); } } } //输出结果为: 告诉我你的成绩:87 良好

           switch(算术表达式){case 常量1:代码1;break;…default:代码N;}              ★switch做等值条件

    import java.util.Scanner; import java.text.MessageFormat; public class Practice { public static void main(String[] args){ //判断某年是否为闰年和这一年某月的天数 Scanner input = new Scanner(System.in); int year,month,day=0; System.out.print("请输入年份:"); year =input.nextInt(); System.out.print("请输入月份:"); month =input.nextInt(); boolean isLeapYear = (year%4==0 && year%100!=0) || year%400==0; System.out.println(year+(isLeapYear?"是":"非")+"闰年"); switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 4: case 6: case 9: case 11: day = 30; break; case 2: day = isLeapYear ? 29 : 28; break; } } } System.out.println(MessageFormat.format("{0}年{1}月有{2}天",year,month,day)); //输出结果为: 请输入年份:2004 请输入月份:2 2004是闰年 2,0042月有29

    2.4嵌套分支

           if(){               if(){}               switch(){}        }

           多个变量构成复杂条件,建议用嵌套分支,一层只负责一个变量构成的条件

    import java.util.Scanner; public class Practice { public static void main(String[] args){ //学校组织跑步比赛,跑进10秒进决赛,决赛根据性别进行分组 Scanner input = new Scanner(System.in); int score; char gender; System.out.println("请输入成绩:"); score = input.nextInt(); if(score<10 ){ System.out.println("请输入性别:"); gender = input.next().charAt(0); if(gender !='男' && gender !='女'){ System.out.println("性别有误"); }else{ System.out.println("恭喜你进入"+gender+"子组决赛!"); } } else{ System.out.println("成绩不达标,淘汰"); } } } //输出结果为: 请输入成绩: 8 请输入性别: 男 恭喜你进入男子组决赛!
    PS:作者是一枚刚入编程的小白,如果有写错或者写的不好的地方,欢迎各位大佬在评论区留下宝贵的意见或者建议,敬上!如果这篇博客对您有帮助,希望您可以顺手帮我点个赞!不胜感谢!

    原创作者:wsjslient

    作者主页:https://blog.csdn.net/wsjslient

    参考文档:https://www.runoob.com/java/java-tutorial.html


    Processed: 0.020, SQL: 8