Java 表达式

Scanner类

使用Scanner类的步骤:

(1)导入Scanner类;

import java.util.Scanner

(2)创建Scanner 对象;

Scanner in = new Scanner(System.in);

(3)获取用户输入数据;

方法名称说明
String next()获得一个字符串
String nextLine()获得一个字符串
int nextInt()获得一个整数
double nextDouble()获得一个双精度浮点数
boolean hasNext()判断是否有输入语句,如果有输入语句,则返回true,负责返回false

示例:

import java.util.Scanner;//导入Scanner类
​
public class ScoreManager {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);  //定义Scanner变量
        System.out.println("请输入学生姓名");
        String name = in.nextLine();
        System.out.println("请输入数学成绩");
        int mathscore = in.nextInt();
        System.out.println("请输入语文成绩");
        int chinesescore = in.nextInt();
        in.close();
        System.out.println("学生姓名是:" + name);
        System.out.println("学生数学成绩是:" + mathscore);
        System.out.println("学生语文成绩是:" + chinesescore);
    }
​
}

运算符

算数运算符

算数运算符包括 “+”、“-”、“*”、“/”、“%”、“++”、“--”。

运算符含义示例结果
+加法运算符2+35
-减法运算符2-3-1
*乘法运算符2*36
/除法运算符2/30
%求余运算符2%32
++自增运算符i=2,j=i++i=3,j=2
--自减运算符i=2,j=i--i=1,j=2

++/--只能对变量进行运算

++/--在后,先赋值,再自增

++/--在前,先自增,再赋值

//1.单独使用:++或者--放在变量前面没有区别
    int a = 10;
    a++; // 1
    --a; // 10
    System.out.println(a); // 10
//2.混合使用:++或者--放在变量或者前面运算规则稍有不通过 ++ 在后 先赋值 再自增 ++ 在前 先自增再赋值
    int a = 10;
    int b = a++;
    int c = ++a;
    System.out.println(a); // 12
    System.out.println(b); // 10
    System.out.println(c); // 12
    int x = 10;
    int y = --x;
    x = 9 y = 9

赋值运算符

赋值运算符“=”用来给变量赋值,复合赋值运算符主要包括“+=”、“-=”、“*=”、“/=”、“%=”。

推荐使用合赋值运算符,将"i=i+j"写成"i+=j"

a+=b => a = (a的类型)(a+b)

关系运算符

关系运算符用于比较两个变量或者常量的大小,并且返回布尔值true或者false来表示结果。

运算符含义示例结果
==等于2==3false
!=不等于2!=3true
>大于2>3false
<小于2<3true
>=大于等于2>=3false
<=小于等于2<=3true

逻辑运算符

逻辑运算符用于对两个布尔类型的值进行运算,并且返回一个布尔类型的值为结果。

运算符含义运算规则
&逻辑与两个操作数都是true,结果才是true,两个操作数有一个是false,结果为false。无论左边值是false还是true,右边表达式都会进行计算。
|逻辑或两个操作数都是false,结果才是false,两个操作数有一个是true,结果为true。无论左边值是false还是true,右边表达式都会进行计算。
^逻辑异或两个操作数相同,结果为false;两个操作数不同,结果为true。
逻辑非操作数为true,结果为false;操作数为false,结果为true。
&&短路与运行规则同“&”,不同在于如果左边值是false,右边表达式不会进行计算,相当于短路了。
||短路或运行规则同“|”,不同在于如果左边值是true,右边表达式不会进行计算,相当于短路了。

示例:

//键盘输入一个数字,判断是否是奇数。
import java.util.Scanner;
public class Test1{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int in = sc.nextInt();
        boolean res = in % 2==1;
        System.out.println(in + "是否为奇数?" + res);
    }
}
​
​
//键盘输入一个年份,判断是否是闰年
import java.util.Scanner;
public class IsHeap {
    public static void main(String[] args) {
        // 能被4整除但不能被100整除,或者被400整除
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个年份");
        int year = sc.nextInt();
        // 能被4整除 year % 4 == 0
        // 不能被100 整除 year % 100 != 0
        // 能被400整除 year % 400 == 0
        boolean a = year % 4 == 0;
        boolean b = year % 100 != 0;
        boolean c = year % 400 == 0;
        boolean res = a && b || c;
        System.out.println("你输入的" + year + "年是否是闰年呢?" +res);
    }
}
​
位运算符

1. 原码

原码是一种最简单的机器数表示法,其中最高位表示符号位,其余位表示该数的二进

制的绝对值。

2. 反码

正数的反码与原码相同,而负数的反码是其原码除符号位外,按位取反的结果。

3. 补码

正数的补码等于其原码,而负数的补码等于其反码加1。

条件运算符

三目运算符:条件?表达式1 : 表达式2

(1)首先计算关系表达式的值,其结果为布尔值true 或false;

(2)如果关系表达式的值为true,则返回值1;

(3)如果关系表达式的值为false, 则返回值2;

//判断学生的成绩是否>=60,如果为true,就考试通过;如果为false,就成绩不合格。
​
import java.util.Scanner;
public class Test2{
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个成绩:");
            double score = sc.nextDouble();
        
        String res = score >=60 ? "合格":"不合格";
        System.out.println("输入的成绩" + res); 
        sc.close();
    }
}

运算优先级

首先,括号优先级最高,逗号优先级最低。

单目运算符 > 算数运算符 > 外移运算符 > 关系运算符 > 逻辑运算符 > 三目运算符 > 赋值运算符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值