Java基础&运算符

简介: Java基础&运算符

前面我们学过了通过字面量和变量来表示一个数据,这篇文章我们来学习对数据进行运算。而对数据运算就要用到我们这里要讲解的运算符,而在讲解具体的运算符之前,我们对运算符和表达式做一个简单的描述:


运算符: 对字面量或者变量进行操作的 符号


表达式: 用 运算符 把字面量或者变量连接起来 符合java语法的式子 就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。


举例说明

int a = 10;

int b = 20;

int c = a + b;


+ :是运算符,是算术运算符

a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

总共要学习5种类型的运算符,后三种标记为灰色了,我们是在哪里用就在哪里学习。这里我们先学习前两种,首先我们来学习算术运算符


1.1 算术运算符


Java中的算术运算符有如下几种:

符号 作用
+
-
*
/
% 取余

了解了Java中的算术运算符之后,下面我们到IDEA中去使用一下:

/*
    算术运算符
 */
public class Test{
    public static void main(String[] args) {
        //定义两个int类型的变量
        int a = 6;
        int b = 4;

        System.out.println(a + b);//10
        System.out.println(a - b);//2
        System.out.println(a * b);//24
        System.out.println(a / b);// ? ? ?
        System.out.println(a % b);//2

        //整数相除只能得到整数,要想得到小数,必须有浮点数的参与
        System.out.println(6.0 / 4);
    }
}

最后,我们来总结一下,刚才在演示代码的时候有两个注意事项:

注意事项

① / 和 % 的区别:两个数据做除法, / 取结果的商, % 取结果的余数.

② 整数操作只能得到整数. 要想得到小数, 则必须有浮点数的参与.


1.2 案例数值拆分


需求:定义一个三位数,将其拆分为个位、十位、百位后,输出在控制台

什么意思呢?下面我们举例来说明一下:

举例:int number = 123;

在控制台输出结果:


个位是:3

十位是:2

百位是:1


知道了要做什么后,下面我们来分析一下如何获取个位,十位,百位:


分析:


① 个位的计算:数值 % 10

123 除以 10(商12,余数为3)


② 十位的计算:数值 / 10 % 10

123 除以 10 (商12,余数为3,整数相除只能得到整数)

12 除以 10 (商1,余数为2)


③ 百位的计算:数值 / 10 / 10 % 10

123 / 10 / 10 % 10(123 / 10 得到12,12 / 10 得到1,1 % 10 得到 1)


分析完毕之后,下面我们到IDEA中去实现一下:

/*
    需求:定义一个三位数,将其拆分为个位、十位、百位后,输出在控制台
 */
public class Test {
    public static void main(String[] args) {
        //定义一个三位数
        int number = 123;

        //获取个,十,百位数据
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number / 100 % 10;

        //输出结果
        System.out.println("个位是:" + ge);
        System.out.println("十位是:" + shi);
        System.out.println("百位是:" + bai);
    }
}

1.3 +操作的三种情况


1.3.1 数字相加(类型转换)


在Java程序中,数据参与运算,要求类型一致。这里就涉及到了数据的类型转换。而类型转换又分为两种:

  1. 隐式转换
  2. 强制转换


隐式转换: 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量


强制转换: 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量

格式:数据类型 变量名 = (目标数据类型)(数值或者变量)


IDEA中代码演示如下:

/*
    数字相加
 */
public class OperatorDemo01 {
    public static void main(String[] args) {
        int a = 10;
        double b = 13.14;
        System.out.println(a + b);

        int c = (int)(a + b);
        System.out.println(c);
//        double d = a + b;

        short s = 10;
        int i = 20;
        int j = s + i;
//        short ss = s + i;

        short ss = (short) (s + i);
    }
}


1.3.2 字符相加


继续再来说一下字符参与+操作。

先到IDEA中代码演示如下:

/*
    字符相加
 */
public class OperatorDemo02 {
    public static void main(String[] args) {
        //定义两个变量
        int i = 10;
        char ch = 'A';  //'A'的值是65
        ch = 'a'; //'a'的值是97
        ch = '0'; //'0'的值是48
        System.out.println(i + ch);
    }
}

字符参与+操作,其实就是拿字符在计算机底层对应的数值来进行计算的,这里我们了解一下英文大小写字符和数字字符对应的数据值:

  • ‘A’ 65 A-Z是连续的
  • ‘a’ 97 a-z是连续的
  • ‘0’ 48 0-9是连续的

这里也给大家准备了一张 ASCII码表,里面有常用的字符及其对应的数值关系:


1.3.3 字符串相加


接下来,我们继续讲解字符串相加

IDEA中代码演示如下:

/*
    字符串相加
 */
public class Test{
    public static void main(String[] args) {
        System.out.println("it" + "heima");
        System.out.println("itheima" + 666);
        System.out.println(666 + "itheima");

        System.out.println("itheima" + 6 + 66);
        System.out.println(1 + 99 + "年itheima");
    }
}

代码演示完毕后,总结如下:

  • 当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算
  • “zhongguo”+ 666
  • 当连续进行“+”操作时,从左到右逐个执行
  • 1 + 9999 + “岁zhongguo”


1.4 赋值运算符


下面呢,我们来学习赋值运算符。

Java中的赋值运算符有如下几种:

了解了Java中的赋值运算符之后,下面我们到IDEA中去使用一下:

/*
    赋值运算符
 */
public class OperatorDemo {
    public static void main(String[] args) {
        int a = 10;
        System.out.println("a:" + a);

        // += : 把左边和右边的数据相加,最后把结果赋值给左边
//        a += 20;
        a = a + 20;
        System.out.println("a:" + a);


        //注意:扩展的赋值运算符底层隐含了强制类型转换
        short s = 1;
//        s += 2;
        s = (short) (s + 2);
        System.out.println("s:" + s);
    }
}

最后,我们来总结一下,刚才在演示代码的时候有个注意事项:

扩展的赋值运算符隐含了强制类型转换.

相关文章
|
1月前
|
Java C++
Java基础之运算符
Java运算符包括算术、赋值、关系、逻辑、条件和类型等,如加减乘除、自增自减(前缀++n/后缀n++)、赋值(+/-/*/=等)、比较(==/!=/>/<等)、逻辑(&&/||/!)和三元运算符。自增前后缀的区别在于赋值顺序。初面常问:=与==的区别(赋值vs比较),==与equals()(引用vs内容比较),&&与&(短路逻辑与vs按位与)。
14 2
|
1天前
|
Java 测试技术
day14:Java零基础-条件运算符
【7月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
14 3
|
1月前
|
Java
哇塞!Java 基本语法的运算符,你真的懂了吗?算术运算符篇
【6月更文挑战第14天】Java中的算术运算符是编程基础,包括加法`+`(用于数字相加和字符串拼接)、减法`-`、乘法`*`、除法`/`(需防除数为零)和取余`%`。它们在计算位移、周期性问题等场景中广泛应用。理解并熟练掌握这些运算符,能提升编程效率和代码质量。现在就开始实践,发掘它们的更多可能性吧!
|
1月前
|
Java 程序员 API
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
|
1月前
|
算法 Java
炸裂!Java 基本语法的运算符世界,等你来探索!算术运算符特辑
【6月更文挑战第14天】Java中的算术运算符是基础关键,如加法"+"用于数字相加和字符串拼接,减法"-"求差,乘法"*"相乘,除法"/"注意整数除法会舍去小数,浮点数则保留,取模"%")返回除法余数。熟练掌握这些运算符能提升编程效率,构建复杂逻辑。继续探索Java运算符世界,创造更多精彩程序!
|
17天前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
18 0
|
18天前
|
Java
Java中的左移运算符及其在实现加法效果上的应用
Java中的左移运算符及其在实现加法效果上的应用
11 0
|
2月前
|
Java
JAVA运算符详解与实战应用
JAVA运算符详解与实战应用
23 3
|
2月前
|
Java 数据处理
Java的运算符与表达式详解
Java的运算符与表达式详解
22 1
|
2月前
|
Java
Java的运算符优先级判断
Java的运算符优先级判断