JavaEE 学习笔记 第二章 Java基本语法 4

第二章 运算符与Java判断,循环语句



2.7 运算符

2.7.1 运算符的概述

        运算符是一种特殊的符号,用于表示数据的运算,赋值,比较等。

        分为:算术运算符 赋值运算符 比较运算符(关系运算符) 逻辑运算符 位运算符 三元运算符  。 


2.7.2 算术运算符     


2.7.3 赋值运算符

         符号:=;当” =“两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理,支持连续赋值

        扩展赋值运算符:+=,-=,*=,/=,%=


2.7.4 比较运算符

        比较运算符的结果都是boolean型数据,也就是要不 true,要不 false。

        比较运算符 ” == “ 不能误写成 ” = “。 


2.7.5 逻辑运算符

        用于连接布尔型表达式,Java中不可以写成 3 < x < 6,应该写成 x > 3 & x < 6。

        ”&“和”&&“ 的区别

                ”&“,左边无论真假,右边都进行运算;

                ”&&“,如果左边为真,右边参与运算,如果左边为假,那右边不参与运算。

         ”|“和”||“的区别同理,||表示:当左边为真,右边不参与运算。

        异或(^)和(|)的不同之处是:当左右都为true时,结果为false。

 一:x = 2,y = 2;二:x = 2,y = 1;三:x = 7,y = 2;四:x = 7,y = 1;


2.7.6 位运算符

        位运算是直接对整数的二进制进行计算


2.7.7 三元运算符

        格式:(条件表达式) ? 表达式1 : 表达式2;

                 条件表达式为 true,执行表达式1;条件表达式为false,执行表达式2。

        表达式1和表达式2为同种类型。

        三元运算符与 if-else的区别:

                ①.三元运算符可简化if-else语句

                ②.三元运算符必须返回一个结果

                ③.if后的代码块可有多个语句

        如果程序既可以使用三元运行算符,有可以使用if-else结构,那么优先选择三元运算符。原因:简洁,执行效率高。


2.7.8 运算符的优先级

        运算符有不同的优先级,所谓优先级就是表达式中的运算顺序。如下表,上一行的运算符总优先于下一行。只有单目运算符,三元运算符,赋值运算符是从右向左运算。


2.8 程序流程控制 

2.8.1 概述

        流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

        其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:

        ①.顺序结构:程序从上到下逐行的执行,中间没有任何判断和跳转;

        ②.分支结构:根据条件,选择性的执行某段代码,有 if-else 和 switch-case两种分支语句;

        ③.循环结构:根据循环条件,重复性的执行某段代码,有 while,do...while,for三种循环语句,注:JDK1.5提供了foreach循环,方便了遍历集合,数组元素。


2.8.2 顺序结构

        分支语句:if-else结构:

第一种格式:if( 条件表达式 ){ 执行代码块 }       一选一

第二种格式:if( 条件表达式 ){ 执行代码块1 }else{ 执行代码块2 }     一选二

第三种格式:if( 条件表达式 ){ 执行代码块1 }else if( 条件表达式2 ){ 执行代码块2 }else if( 条件表达式3 ){ 执行代码块3 }else{ 执行代码块4 }        多选多

 


练习





分支语句:switch-case 结构:

        switch语句有关规则:

        ①.switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举(jdk 5.0),String(jdk 7.0)

        ②.case子句中的值必须是常量,不能是变量名或不确定的表达式值

        ③.同一个switch语句,所有case子句中的常量值互不相同

        ④.break语句用来执行玩一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾

        ⑤.default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default


import java.util.Scanner;

public class Person {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        int j = i % 12;
        switch (j){
            case 4:
                System.out.println("Rat:"+"鼠");
                break;
            case 5:
                System.out.println("Ox:"+"牛");
                break;
            case 6:
                System.out.println("Tiger:"+"虎");
                break;
            case 8:
                System.out.println("Dragon:"+"龙");
                break;
            case 9:
                System.out.println("Snake:"+"蛇");
                break;
            case 10:
                System.out.println("Horse:"+"马");
                break;
            case 11:
                System.out.println("Sheep:"+"羊");
                break;
            case 0:
                System.out.println("Monkey:"+"猴");
                break;
            case 1:
                System.out.println("Rooster:"+"鸡");
                break;
            case 2:
                System.out.println("Dog:"+"狗");
                break;
            case 3:
                System.out.println("Pig:"+"猪");
                break;
            default:
                System.out.println("输入有误");
        }
    }
}

2.8.3 循环结构

        循环语句的四个组成部分:初始化部分(init_statement),循环条件部分(test_exp),循环体部分(body_statement),迭代部分(alter_statement)

                 

        循环结构:for循环:

        for循环是编程语言中一种循环语句,而循环语句由及循环体循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}


public class Person {
    public static void main(String[] args) {
        for (int i = 0; i < 150; i++) {
            if (i % 3 == 0) {
                System.out.println("foo");
            } else if (i % 5 == 0) {
                System.out.println("biz");
            } else if (i % 7 == 0) {
                System.out.println("baz");
            }
            System.out.println();
        }
    }
}


循环结构:while循环:

        while是j计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(循环条件){循环体}。循环条件一定不能丢,丢了会导致死循环状态。


循环结构:do   while循环:

        do...while 循环是while循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假。    


import java.util.Scanner;

public class Person {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int positiveNumber = 0;//记录正数的个数
        int negativeNumber = 0;//记录负数的个数
        while (true){
            int number = scanner.nextInt();
            //判断number的正负情况
            if (number>0){
                positiveNumber++;
            }else if(number<0){
                negativeNumber++;
            }else {
                break;
            }
        }
        System.out.println("输入正数的个数为:"+positiveNumber);
        System.out.println("输入负数的个数为:"+negativeNumber);
    }
}

点击进入:下一节:JavaEE 学习笔记 第二章 Java基本语法 5

猜你喜欢

转载自blog.csdn.net/woailuo8214/article/details/121204260