Java基础篇之基本运算符的认识

目录

1.运算符:

2.字符与字符串参与运算:

3.自增自减运算符:

4.关系运算符 :

5.逻辑运算符:

6.三元运算符:

7.重点:键盘录入:

8.程序控制语句:


1.运算符:

运算符:对常量和变量进行操作的符号

表达式:用运算符把常量或者变量连接起来符合Java语法的式子

常用运算符:

算术运算符

自增自减运算符

赋值运算符

关系运算符

逻辑运算符

三元运算符

算术运算符:+ - * / %

/与%的区别:
/:获取两个数据相除的商
%:获取两个数据相除的余数
public class operatorDemo {
    public static void main(String[] args) {
//        定义两个int变量
        int a = 5;
        int b = 3;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/b);
        System.out.println(a%b);
        System.out.println("-------------------");
        System.out.println(5/4);
        System.out.println(5.0/4);
        System.out.println(5/4.0);

    }

}

输出结果:

8
2
15
1
2
-------------------
1
1.25
1.25

2.字符与字符串参与运算:

字符参与运算:其实是拿该字符在计算机中存储所表示的数据值来运算的。

需重点记住如下三个代表

'a' :97

'A':65

'0':48

字符串参与加法运算:其实这里不是加法,而是字符串的拼接。

 

public class operatorDemo2 {
    public static void main(String[] args) {
//        定义两个变量,一个int类型,一个char类型
        int a = 10;
        char ch = 'a';
        System.out.println(a + ch);
        System.out.println("---------------");
//        字符串加法
        System.out.println("hello" + "world");
        System.out.println("hello" + 10);
        System.out.println("hello" + 10 +20);
        System.out.println(10+20+"hello");
    }
}

输出结果:

107
---------------
helloworld
hello10
hello1020
30hello

3.自增自减运算符:

自增自减运算符:++,--

作用:自己加1或减一

重点区分:a++; ++a; a--; --a

单独使用一个变量时,放在变量前面或者后面,效果一样。

但参与其他操作时:

++在变量的后面,先把变量做操作,然后变量再++(如:下中int b = a++,表示先将a赋值给b,a再自行加1

++在变量的前面,先变量++,再操作(如:下中int b = ++a,表示先将a自行加一,再将a赋值给b

public class operatorDemo3 {
    public static void main(String[] args) {
//        定义一个int类型变量
        int a = 10;
        System.out.println("a:" + a);

//        a++;
//        System.out.println("a:"+a);
//        a--;
//        System.out.println("a:"+a);
//        --a;
//        System.out.println("a:"+a);
//        ++a;
//        System.out.println("a:"+a);

        int b = a++;
        System.out.println("b:"+b);
        System.out.println("a:"+a);
//        int b = ++a;
//        System.out.println("b:"+b);


    }
}

代码中有注释,可区分注释,答案不同

4.关系运算符 :

==, !=, >=, >, <, <=

关系运算符的操作完毕的结果是boolean类型(**为布尔类型

public class operatorDemo5 {
    public static void main(String[] args) {
//定义三个变量
        int a = 10;
        int b = 20;
        int c = 10;
        System.out.println(a == b);
        System.out.println(a == c);
        System.out.println(a != b);
        System.out.println(a != c);
        System.out.println(a > b);
        System.out.println(a > c);
        System.out.println(a >= b);
        System.out.println(a >= c);
        System.out.println(a <= b);
        System.out.println(a <= c);
    }
}

输出结果:

false
true
true
false
false
false
false
true
true
true

5.逻辑运算符:

逻辑运算符:

与:&&   或:||  非:!

&&:有false则false

||:有true则true

!:true则false,false则true

范例如下:

public class operatorDemo6 {
    public static void main(String[] args) {
//        定义变量
        int a = 3;
        int b = 4;
        int c = 5;
//        &&逻辑

        System.out.println((a > b) && (a > c));
        System.out.println((a < b) && (a > c));
        System.out.println((a > b) && (a < c));
        System.out.println((a < b) && (a < c));
//        ||逻辑
        System.out.println("------------------");
        System.out.println((a > b) || (a > c));
        System.out.println((a < b) || (a > c));
        System.out.println((a > b) || (a < c));
        System.out.println((a < b) || (a < c));
//        !逻辑
        System.out.println("------------------");
        System.out.println((a > b));
        System.out.println(!(a > b));
        System.out.println(!!(a > b));
    }

}

输出结果:

false
false
false
true
------------------
false
true
true
true
------------------
false
true
false

6.三元运算符:

三元运算符结构:

关系表达式?表达式1:表达式2

执行流程:

1:计算关系表达式的值,看结果是true还是false

2:如果是true,表达式1就是结果

     如果是false,表达式2就是结果(没其他更醒目的颜色,只有用绿色吧#-#)

public class operatorDemo7 {
    public static void main(String[] args) {
//        定义两个变量
        int a = 10;
        int b = 20;

        int c = (a>b)?a:b;
        System.out.println("c:"+c);
    }

}

 

输出结果:

c:20

三原不等式小练习:

public class test01 {
    public static void main(String[] args) {
//        需求:比较两个整数是否相等

//        定义两个int变量
        int a = 10;
        int b = 20;

        boolean flag = (a==b)?true:false;
//        成立则选第一个,不成立选第二个,由题意可知10不等于20,所以输出第二个值false
        System.out.println(flag);
    }

}

输出结果:

false

7.重点:键盘录入:

为了提高程序灵活性,将数据改为键盘录入

如何实现键盘录入,使用JDK 提供的Scanner

使用步骤:

A.导包

import java.util.Scanner;

注意:在一个类中,有如下顺序

package>import>class

B.创建键盘录入对象

Scanner sc = new Scanner(System.in);

C.获取数据

int i = sc.nextInt();

package day_2;
/*
@author: MR.chan
@file: scannerDemo.py
@time: 2020/03/22
@desc:
*/

import java.util.Scanner;

public class scannerDemo {
    public static void main(String[] args) {
//        创建键盘录入对象
        Scanner sc = new Scanner(System.in);
//        给出提示
        System.out.println("请输入一个数据:");
//        获取数据
        int i = sc.nextInt();
//        把获取的数据输出
        System.out.println("i:"+i);
    }

}

注意上方 导入包在package和class之间

输出结果为:

请输入一个数据:

(自己填入数字)

(输出所填数字)

键盘录入练习

需求:键盘录入两个数据,并对两个数据求和,输出其结果

package day_2;
/*
@author: MR.chan
@file: test02.py
@time: 2020/03/22
@desc:
*/

import java.util.Scanner;
//需求录入两个数据,并对这两个数据求和
public class test02 {
    public static void main(String[] args) {
//        创建键盘录入对象
        Scanner sc = new Scanner(System.in);
//        输出提示
        System.out.println("请输入第一个整数:");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数:");
        int b = sc.nextInt();
//        对数据求和
        int sum = a + b;
//        输出结果
        System.out.println("它们的和为:"+sum);

    }

}

8.程序控制语句:

流程控制语句:

顺序结构如下:

Java基础篇之基本运算符的认识_第1张图片

选择结构:

1.if语句

2.switch语句

 

(if语句结构1):

执行流程:首先判断关系表达式看结果是true还是false

若为true,则执行语句体;若为false,则不执行语句体

Java基础篇之基本运算符的认识_第2张图片

public class operatorDemo8 {
    public static void main(String[] args) {
        System.out.println("开始");
//        定义两个int类型的变量
        int a = 10;
        int b = 20;
        int c = 10;
//        判断两个变量是否相等
        if (a==b){
            System.out.println("a等于b");
        }
        if (a==c){
            System.out.println("a等于c");
        }
        System.out.println("结束");

    }

}

输出结果:

开始
a等于c
结束

if语句格式二

if(关系表达式){

语句体1;

}else{

语句体2;

}

Java基础篇之基本运算符的认识_第3张图片

public class test03 {
    public static void main(String[] args) {
        int a = 100;
        if (a%2==0){
          System.out.println("a为偶数");
        }else{
            System.out.println("a为奇数");
        }
    }
}

输出结果:

a为偶数

if语句格式3

if(关系表达式1){

语句体1;

}else if(关系表达式2){

语句体2;

}....

else{ 重点注意:else中要有语句,不然会报错

语句体n;

}

Java基础篇之基本运算符的认识_第4张图片

案例:假如x与y满足如下关系:

x>=3  y=2x+1

-1<=x<3 y = 2x

x<-1 y= 2x - 1

用第三种结构解决:

public class test04 {
    public static void main(String[] args) {
        int x = 5;
        int y;
        if (x >= 3) {
            y = 2 * x + 1;
        } else if (x < 3 && x >= -1) {
            y = 2 * x;
        } else if (x < -1) {
            y = 2 * x;
        }else {
            y = 0;
            System.out.println("不存在这样的值");
        }
        System.out.println("y:"+y);
        }
    }

输出结果:

y:11

小练习:

需求:

键盘录入两个数据,获取这两个数据中较大值

package day_2;
import java.util.Scanner;

public class test05 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a;
        int b;
        System.out.println("请输入第一个整数:");
        a = sc.nextInt();
        System.out.println("请输入第二个整数:");
        b = sc.nextInt();

        if(a>b){
            System.out.println("较大的值为第一个整数:"+a);
        }else{
            System.out.println("较大的值为第二个整数:"+b);
        }
    }
}

小练习2.0 :学生成绩级别判断程序:

学生成绩级别判断程序
90-100:优秀
80-90: 好
70-80: 良
60-70: 及格
60以下:不及格
 */

import java.util.Scanner;

public class test06 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入学生成绩:");
        int score = sc.nextInt();
        if (score >= 90 && score <= 100) {
            System.out.println("优秀");
        } else if (score >= 80 && score < 90) {
            System.out.println("好");
        } else if (score >= 70 && score < 80) {
            System.out.println("良");
        } else if (score >= 60 && score < 70) {
            System.out.println("及格");
        } else if (score < 60 && score >= 0) {
            System.out.println("不及格");
        } else {
            System.out.println("你输入的数据有误");
        }

    }
}

写程序做数据测试时,应当测试如下几种情况:

正确数据

边界数据

错误数据

switch语句:

格式:

switch(表达式){

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;

....

default:

语句体n+1;

break ;

}

Java基础篇之基本运算符的认识_第5张图片

格式解释:

表达式:byte,short,int,char

JDK5后可枚举,JDK7后可字符串

case后面的值:是用来表示和表达式比较的值

break表示中断,结束的意思,可以结束switch语句

default表示所有情况均不匹配时,执行该处内容,和if语句的else相似

范例:依据输入数字(1-7),依次对应星期一到星期日

package day_2;

import java.util.Scanner;

/*
@author: MR.chan
@file: test07.py
@time: 2020/03/22
@desc:
*/
/*
依据输入键盘的数据1-7,输出对应星期一到星球日
 */
public class test07 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数(1-7):");
        int a = sc.nextInt();
        switch (a) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
        }
    }
}

输出结果:

请输入一个数字:

(输入一个数字)

(输出对应)

 

你可能感兴趣的:(Java基础篇之基本运算符的认识)