Java初始String和运算符

简介: Java初始String和运算符

1.Sting

在Java中,数据类型分为基本数据类型和引用数据类型。基本数据类型有:4类(即:整型,浮点型,字符型,布尔型),8种(即:byte、short、int、long、float、double)。引用数据类型有:Sting,包装类(Byte、Short、Integer、Long、Float、Double、Character)等。

public class String1 {
    public static void main(String[]args){
        String a="hello";
        String b="World";
        System.out.println(a);
        System.out.println(b);
        System.out.println(a+b);//‘+’表示字符穿的拼接
    }
}

对于+我有以下理解:

1.当+不与字符串进行相加时,+相当于普通的加法

public class String1 {
    public static void main(String[]args){
        int a=10;
        int b=20;
        System.out.println("int类型数的相加:"+(a+b));
        float c=0.2F;
        float d=0.2F;
        System.out.println("float类型数据的相加:"+(c+d));
        byte e=10;
        byte f=20;
        System.out.println("byte类型数据的相加:"+(e+f));
        short g=10;
        short h=90;
        System.out.println("short类型数据的相加:"+(g+h));
        long i=10L;
        long j=20L;
        System.out.println("long类型的数据相加:"+(i+j));
        double k=10.0;
        double m=20.0;
        System.out.println("double类型数据相加:"+(k+m));
        char A='A';
        char B='B';
        System.out.println("char类型数据相加:"+(A+B));
    }
}

运行的结果如下:

2.当+和字符串与普通数据类型的数字相加时,相加的结果为字符串。计算时从左向右进行计算的。

public class String1 {
    public static void main(String[]args){
        int a=10;
        int b=20;
        String s="hello";
        System.out.println(a+b+s);
        System.out.println(s+a+b);
        System.out.println(s+b+a);
        System.out.println(s+(a+b));
    }
}

运行的结果如下:

在有些情况下,需要将字符串和整形数字之间进行转换:

1.int 转成 String

public class String1 {
    public static void main(String[]args){
        int a=1234567890;
        String s=String.valueOf(a);
        System.out.println(s);
    }
}

String中的valueOf:

2.String转成int

public class String1 {
    public static void main(String[]args){
        String s="12345";
        int a=Integer.valueOf(s );
        System.out.println(a+30);
    }
}

int包装类中的valueOf:

2.运算符

1. 什么是运算符

运算符即,对操作数进行操作时的符号,不同的运算操作的含义不同。’

作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符(+ - */)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算符等。

2.算术操作符

1.基本的四则运算符:加减乘除模(+-*/%)

public class String1 {
    public static void main(String[]args){
        int a=10;
        int b=20;
        System.out.println("a+b="+(a+b));
        System.out.println("a-b="+(a-b));
        System.out.println("a*b="+(a*b));
        System.out.println("a/b="+(a/b));
        System.out.println("a%b="+(a%b));
    }
}

运行的结果如下:

意:

*都是二元运算符,使用时必须要有左右两个操作数

*int / int 结果还是int类型,而且会向下取整

*做除法和取模时,除数不能为0

*% 不仅可以对整型取模,也可以对浮点型取模

*两侧操作数类型不一致时,向类型范围大的提升

2.增量运算符*= -= /= += %=

 

public class String1 {
    public static void main(String[] args) {
        int a = 10;
        a += 10;//相当于a=a+10
        System.out.println(a);
        int s=10;
        s-=10;//相当于s=s-10;
        System.out.println(s);
        int d=10;
        d*=10;//相当于d=d*10
        System.out.println(d);
        int k=10;
        k/=10;//相当于k=k/10
        System.out.println(k);
        int g=10;
        g%=3;//相当于g=g%3
        System.out.println(g);
    }
}

运行的结果:

注意:只有变量才能使用该运算符,常量不能使用。

3.自增/自减运算符++ --

++是给变量的值+1,--是给变量的值-1。

注意:

*如果单独使用,【前置++】和【后置++】没有任何区别

*如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置++】先使用变量原来的值,表达式结束时给变量+1

*只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改

4.逻辑运算符

逻辑运算符主要有三个:&& || !,运算的结果都为boolean类型

public class String1 {
    public static void main(String[] args) {
        System.out.println("&&的逻辑表达式展示");
    System.out.println(true&&true);
    System.out.println(true&&false);
    System.out.println(false&&false);
    System.out.println(false&&true);
    System.out.println("**********************************************");
    System.out.println("||的逻辑表达式的展示");
   System.out.println(true||true);
   System.out.println(false||true);
   System.out.println(false||false);
   System.out.println(true||false);
   System.out.println("*************************************************");
   System.out.println("!的逻辑表达式展示:");
   System.out.println(!true);
   System.out.println(!false);
   System.out.println("****************************************************");
    }
}

结果展示:

注意:

*对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式

*对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式

*||,&&左侧表达式与右侧表达式都要为布尔表达式

*&和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值

5.位运算符

Java 中数据存储的最小单位是字节,而数据操作的最小单位是比特位. 字节是最小的存储单位,每个字节是由8个二进制比特位组成的,多个字节组合在一起可以表示各种不同的数据。

位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。

位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的每一位依次进行计算.

1.按位与&:  如果两个二进制位都是1, 则结果为 1, 否则结果为 0

public class String1 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a&b);
    }
}

进行按位运算, 需要先把 10 和 20 转成二进制, 分别为 1010 和 10100

2.按位或|:如果两个二进制位都是 0, 则结果为 0, 否则结果为 1

public class String1 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a|b);
    }
}

运算方式和按位于类似

注意: 当 & 和  | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算.

3.按位取反~:如果该位为 0 则转为 1, 如果该位为 1 则转为 0

public class String1 {
    public static void main(String[] args) {
        int a=0xf;
        System.out.printf("%x\n",~a);
    }
}

注意:

*0x 前缀的数字为 十六进制 数字. 十六进制可以看成是二进制的简化表示方式. 一个十六进制

数字对应 4个二进制位制位.

*0xf 表示 10 进制的 15, 也就是二进制的 1111

*printf 能够格式化输出内容, %x 表示按照十六进制输出.

*\n 表示换行符

4.按位异或^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1

public class String1 {
    public static void main(String[] args) {
        int a=0x1;
        int b=0x2;
        System.out.println(a^b);
    }
}

注意:如果两个数相同,则异或的结果为0

6.移位运算

1. 左移 <<: 最左侧位不要了, 最右侧补 0

2. 右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

3. 无符号右移 >>>: 最右侧位不要了, 最左侧补 0

注意:

1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方

2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方

3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替

4. 移动负数位或者移位位数过大都没有意义

7.条件运算符

条件运算符只有一个:表达式1 ? 表达式2 : 表达式3

当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值;

当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.

相关文章
|
2天前
|
存储 Java 测试技术
滚雪球学Java(47):String类教程:如何在Java中使用字符串操作
【6月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
13 2
滚雪球学Java(47):String类教程:如何在Java中使用字符串操作
|
2天前
|
Java
JAVA运算符详解与实战应用
JAVA运算符详解与实战应用
9 3
|
2天前
|
安全 Java
Java中的StringBuffer:深入解析与最佳实践
Java中的StringBuffer:深入解析与最佳实践
|
2天前
|
Java 开发者
Java语言中的运算符深入解析
Java语言中的运算符深入解析
|
2天前
|
Java 数据处理
Java的运算符与表达式详解
Java的运算符与表达式详解
10 1
|
3天前
|
Java
Java的运算符优先级判断
Java的运算符优先级判断
|
4天前
|
Java
深入理解Java中的instanceof运算符
深入理解Java中的instanceof运算符
|
4天前
|
Java
Java中的赋值运算符详解
Java中的赋值运算符详解
|
4天前
|
存储 Java 索引
Java中的条件运算符(三元运算符)
Java中的条件运算符(三元运算符)
11 0
|
4天前
|
Java
Java运算符优先级详解
Java运算符优先级详解
11 1