0
点赞
收藏
分享

微信扫一扫

Java-数据类型以及运算符

柠檬果然酸 2022-04-04 阅读 86
java

一、数据类型和变量

变量指的是程序运行时可变的量,相当于开辟一块内存空间来保存一些数据。
类型是对变量的种类进行了划分,不同类型的变量具有不同的特性。
在这里插入图片描述

1、8大基本类型、String类型

每个基本类型都有其固定的表示关键字、包装类,占用的字节大小以及数据范围。
基本类型在定义时,基本语法格式相似,在赋值时会有所不同。
在这里插入图片描述

1.1.整型变量(int)

基本语法格式:

int a=100//定义一个整型变量a,并给它赋初值100;

整型是有一定的数据范围的,可以使用以下代码查看最大值和最小值;

       System.out.println(Integer.MAX_VALUE);//打印输出整型int的最大值;
       System.out.println(Integer.MIN_VALUE);//打印输出整型int的最小值
       //执行结果
       2147483647
       -2147483648

如果在运算中超出了数据范围,就会出现溢出的情况

        int maxValue=Integer.MAX_VALUE;
        int minValue=Integer.MIN_VALUE;
        System.out.println(maxValue+1);//打印输出整型int的最大值;
        System.out.println(minValue+1);//打印输出整型int的最大值
        //执行结果
        -2147483648
        -2147483647

int的数据范围在现实生活中很明显是不够用的,很容易就会造成数据溢出,针对这种情况,Java中提供了long类型

1.2.long类型

long类型的基本语法格式与int类型相似,需要注意的是,在定义一个long类型的变量,给其赋值的时候,需要在数值后面加上字母L(或小写的L)。

long num1 = 100l;
long num2 = 100L;

同样可以使用以下代码查看Java中long类型的数据范围:

System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);

1.3.双精度浮点型变量(double)

基本语法格式与整型相同。
在Java中,int与int相除的值仍然是int,这就导致很多相除之后结果中存在小数的,小数部分会自动舍弃

        int a=5;
        int b=2;
        System.out.println(a / b);
        //执行结果
        2

如果想要精确值,就可以利用double类型进行运算

        double a=5;
        double b=2;
        System.out.println(a / b);
        //运行结果
        2.5

注意:

        double num=1.1;
        System.out.println(num*num);
        //运行结果
        1.2100000000000002

这是因为double类型的内存布局遵守IEEE 754标准,尝试是用有限的内存空间表示可能无限的小数,就会存在一定的误差,但是这种情况很少会出现。
出现这种问题时,有两种解决方式
a.使用小数点后六位为有效值
b.使用BigDecimal类(不推荐使用)
BigDecimal详解

1.4.单精度浮点型(float)(不太推荐使用)

        float num1=1.1f;
        float num2=1.1F;

同样遵守IEEE 754标准,但是由于表示的数据精度范围较少,一般在工程上优先考虑double。

1.5.字符型(char)

在对字符型变量赋值时,需要使用 ’ ’

        char ch = 'b';
        char ch1 = '哈';

注意:
计算机本质上时一个整数,在C语言中使用ASCII表示字符,Java中使用Unicode表示字符,因此一个字符占用两个字节,表示的字符种类更多,包括中文。

1.6.字节类型(byte)

1.7.短整型(short)

1.8.布尔类型(boolean)

注意事项:

1.9.字符串类型(非基本类型)(String)

把一些字符放在一起就构成了字符串。

        String ret="初始值";
        String ret1="chushizhi";

注意:
a.在定义字符串类型时使用 " ",同时首字母s大写 ;
b.String不是基本类型,是引用类型
c.对于一些特定的不太方便表示的字符需要进行转义
常用的转义字符表:
在这里插入图片描述
例如:

        //输出\"张三"\
        String ret="\\\"张三\"\\";
        System.out.println(ret);

字符串的 + 操作

        String a="hello";
        String b="world";
        String c=a+b;
        System.out.println(c);
        //输出结果
        helloworld
//也可以字符串连接整数
        String a="hello";
        int b=2022;
        int d=404;
        String c=a+b+d;
        System.out.println(c);
        //输出结果
        hello2022404

2.变量

2.1.变量的作用域

定义一个变量以后,这个变量能生效的范围,一般是变量定义所在的代码块,即 { }包括的范围。

public class work_4_4 {
    public static void main(String[] args) {
    //计算1+2+...+10的值
        int sum=0;
        for (int i = 0; i <=10; i++) {
            sum+=i;
        }
        System.out.println(sum);
        System.out.println(i);
    }
}

运行这个程序的就会报错,因为i是在for循环中定义的一个变量,当for循环结束的时候i就消失了,即在for循环的{}外面,就无法调用,而sum是在外面整个的{}中定义的,因此可以在这个{}中的代码片段中进行调用。

2.2.变量的命名规则

5.不能使用Java中的关键词命名。
在这里插入图片描述

2.3.常量

常量是指在运行过程中,其类型不会发生变化的量。
常量主要有以下两种方式:
1.字面值常量

2.final关键字修饰的常量

        final int a=10;
        a=20;
        //编译出错,提示:
        java: 无法为最终变量a分配值

注意:

二、运算符

1.算术运算符

1.1.基本四则运算符(+、-、*)

1.同时,int/int时,结果还是int,需要使用double来计算。
2.在int类型中,/ 表示取整操作,%表示取余操作。
例如

        int a=123;
        System.out.println(a / 10);
        System.out.println(a % 10);
        //运行结果
        12
        3

3.%也可以对double进行求模

        double a = 11.5;
        System.out.println(a % 10.0);
        //运行结果
        1.5

1.2增量赋值运算符(+= -= *= /= %= )

        int a = 2;
        a += 2;//等于a=a+2;
        System.out.println(a);
        //运算结果
        4

1.3.自增/自减运算符(++ --)

        int a = 2;
        int b=a++;// 等于 b=a->a+1;此时 b=2,a=3;
        int c=++a;//等于 a+1->c=a;此时 c=4,a=4;
        int d=a--;//等于 d=a->a-1;此时 d=4,a=3;
        int e=--a;//等于 a-1->e=a;此时 e=2,a=2
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        //输出结果
        2
        2
        4
        4
        2

2.关系运算符

关系运算符返回的是布尔类型的值,即true或false。
关系运算符有六个

       int a = 10;
        int b = 20;
        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(a >= b);
        //运算结果
        false
        true
        true
        false
        true
        false

3.逻辑运算符

逻辑运算符主要有三个

逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是boolean。

3.1.逻辑与&&、逻辑或||、逻辑非!

        int a = 10;
        int b = 20;
        int c=30;
        System.out.println(!(a < b && a < c));
        System.out.println(!(a > b || a > c));
        //运行结果
        false
        true

3.2.短路求值

        System.out.println(10 > 20 && 10/0==0);
        System.out.println(10 < 20 || 10/0==0);

0不能作为除数,因此运行10/0时程序一定会报错,然而上面这串代码没有报错,说明10/0==0,这部分并没有运行
结论:

而&和|在使用过程中,不支持短路求值,因此不推荐使用。

4.位运算符

位运算符主要有四个:

Java中对数据的操作的最小单位不是字节,而是二进制位。
位操作表示按照二进制位运算,计算机中都是使用二进制来表示数据的(01构成的序列),按位运算就是在按照二进制位的每一位依次进行运算。

4.1.按位与&、按位或|、按位异或^

在这里插入图片描述

4.2.按位取反

规则:如果该位为0则转化为1,如果该位为1,则转化为0.
结果:

5.条件运算符(三目运算符)

条件运算符只有一个:

规则

        int a=1,b=2,c=3;
        int Max=a>b?a>c?a:c:b>c?b:c;
        int Min=a<b?a<c?a:c:b<c?b:c;
        System.out.println(Max);
        System.out.println(Min);

6.移位运算(<< >> >>>)

移位运算按照二进制来运算
注意:

6.1.左移(<<)

规则:

        int a=0x10;
        System.out.printf("%x\n",a<<1);//输出20

6.2.右移(>>)

规则:

6.3.无符号右移(>>>)

规则;

举报

相关推荐

JAVA-数据类型与运算符笔记

数据类型 运算符

java数据类型与运算符

Java数据类型与运算符

《java的数据类型与运算符》

0 条评论