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 的值.

相关文章
|
7月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
107 13
|
3月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
235 14
|
7月前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
155 11
|
7月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
164 9
|
7月前
|
Java
课时15:Java运算符(基础数学运算符)
课时15介绍了Java中的基础数学运算符,涵盖加、减、乘、除及自增自减运算。强调了运算符的优先级和使用括号的重要性,并通过范例展示了四则运算与自增自减的具体应用。提醒编写代码时应保持简洁,避免复杂的表达式,确保代码易读性和可维护性。
|
7月前
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
119 6
|
7月前
|
Java
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
107 6
|
7月前
|
Java
课时16:Java运算符(三目运算符)
范例:将两个变量值在大的内容赋值给新变量。三目是一种赋值运算,它指的是根据条件来进行判断。(根据判断的结果来决定赋值内容)对于三目运算的基本使用语法如下: 数据类型 变量 = 布尔表达式 ?条件满足时赋值内容:条件不满足时:赋值内容
|
7月前
|
Java 程序员 数据处理
课时19:Java运算符(位运算符)
课时19介绍Java中的位运算符,涵盖进制转换、位与、位或及移位操作。重点讲解了二进制与其他进制的转换方法,通过具体范例演示了位与和位或运算的过程,并展示了八进制和十六进制的处理方式。此外,还解释了逻辑运算符(&&、||)与位运算符(&、|)的区别及其应用场景,特别是位运算在加密中的应用。
132 5

热门文章

最新文章