微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java入门——语法基础运算

目录

1.数据类型转换

2.运算符


1.数据类型转换

数据类型转换分为自动类型转换和强类型转换。

自动类型转换:整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

转换从低级到高级,如下:

数据类型转换必须满足如下规则:

    1. 不能对boolean类型进行类型转换。

    2. 不能把对象类型转换成不相关类的对象。

    3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

    4. 转换过程中可能导致溢出或损失精度,例如:

    int i =128;  

    byte b = (byte)i;

    因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

    5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:

    (int)23.7 == 23;       

(int)-45.89f == -4

强制类型转换:

    1. 条件是转换的数据类型必须是兼容的。

    2. 格式:(type)value type是要强制类型转换后的数据类型 实例:

    public class test{

        public static void main(String[] args){

            int i1 = 123;

            byte b = (byte)i1;//强制类型转换为byte

            System.out.println("int强制类型转换为byte后的值等于"+b);

        }

    }

    运行结果:

    int强制类型转换为byte后的值等于123

2.运算符

Java提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。

算术运算符:+(加法),-(减法),*(乘法),/(除法),%(取余),++(自增),--(自减)

注意事项:

1.被除数需不为0,否侧程序会提示如下错误

2.取余操作时,被除数需小于等于除数,否侧%操作结果将等于其本身

3.a++/a--与++a/--a运算结果不相同。前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

测试用例如下:

结果如下:

关系运算符:==(等于),!=(不等于),>(大于),<(小于),<=(小于等于),>=(大于等于)

位运算符:Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

操作符

描述

例子

如果相对应位都是1,则结果为1,否则为0

(A&B),得到12,即0000 1100

|

如果相对应位都是 0,则结果为 0,否则为 1

(A | B)得到61,即 0011 1101

^

如果相对应位值相同,则结果为0,否则为1

(A ^ B)得到49,即 0011 0001

按位取反运算符翻转操作数的每一位,即0变成1,1变成0。

(〜A)得到-61,即1100 0011

<< 

按位左移运算符。左操作数按位左移右操作数指定的位数。

A << 2得到240,即 1111 0000

>> 

按位右移运算符。左操作数按位右移右操作数指定的位数。

A >> 2得到15即 1111

>>> 

按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。

A>>>2得到15即0000 1111

逻辑运算符:&&(并且),||(或者),!(非)

逻辑运算符一般用于作为判断条件,测试用例如下:

结果如下:

赋值运算符:基本的赋值运算符为=,可扩展为+=,-=,/=,*=,%=,即将运算符两边的结果进行运算操作,测试用例如下:

输出结果如下:

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

variable x = (expression) ? value if true : value if false

结果如下:

运算符优先级:当多个运算符出现在一个表达式中,java运算符具有一定的优先级,如下:

三元运算符 —> 算术运算符 —> 逻辑运算符 —> 条件运算符 —> 逻辑运算符

原文地址:https://www.jb51.cc/wenti/3286702.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐