精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java基础笔记之String相关知识

不仅如此,还可以使用 String 的 intern() 方法在运行过程中将字符串添加到 String Pool 中。...当一个字符串调用 intern() 方法时,如果 String Pool 中已经存在一个字符串和该字符串值相等(使用 equals() 方法进行确定),那么就会返回 String Pool 中字符串的引用..."Cherish"对象,同时在堆中创建"Cherish"这个对象,然后将堆中的这个对象的地址返回赋给引用str,若实例池存在则直接在堆中创建"test"这个对象,然后将堆中的这个对象的地址返回赋给引用str...final关键字(拓展) final关键字:在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局?...一个类的private方法会隐式的被指定为final方法 修饰变量: 当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化; 如果final修饰一个引用类型时,则在对其初始化之后便不能再让其指向其他对象

38220

Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断

然后,使用 + 运算符将 x 和 y 相加,并将结果赋给变量 sum。最后,使用 System.out.println() 方法打印 sum 的值。...使用 myObj.nextInt() 方法读取用户输入的数字,并分别赋值给 x 和 y。使用 + 运算符将 x 和 y 相加,并将结果赋给变量 sum。...使用 for 循环遍历 originalStr 字符串的每个字符。在每次迭代中,将当前字符添加到 reversedStr 字符串的开头。...Java如何计算元素的和计算数组元素的总和示例int[] myArray = {1, 5, 10, 25};int sum = 0;int i; // 循环遍历数组元素,并将和存储在 sum 变量中for...声明一个 int 类型的变量 sum,用于存储数组元素的总和。声明一个 int 类型的变量 i,用于循环遍历数组。使用 for 循环遍历数组元素,并在每次迭代中将当前元素的值添加到 sum 变量中。

11910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    015:为什么Java中的字符串对象是不可变的

    所谓不可变对象,是指一个对象在创建后,它的内部状态不会被改变的对象。这意味着当我们将一个不可变对象的引用赋值给某个变量后,我们就不能改变该对象的内部状态。...James Gosling也说过——Java开发者应该尽量使用不可变对象。 在Java中将String对象设置为不可变对象的好处很多,例如:缓存、安全、同步、性能等方面。...Why_String_Is_Immutable_In_Java.jpg 有两种方式定义的字符串,可以存放在常量池中: 使用常量字符串初始化字符串变量 String s1 = "Hello World";...假设字符串变量str = "hello"被多个线程同时使用,如果在某个线程中对str赋了新的字符串值,那么就会在字符串常量池中生成一份新的字符串,不会有并发争用。...由于字符串对象的不变性,JDK将它的hashcode()做了缓存,这样对于同一个字符串对象,只会在第一次调用它的hashcode()方法的时候进行计算,后面的调用直接使用缓存中的值,这缓存也提升了集合数据结构的性能

    63030

    Java赋值运算符的使用技巧,你Get了吗?

    简介  赋值运算符是将一个值赋给变量或表达式的运算符。在Java中,赋值运算符也是一种二元运算符,即它需要两个操作数:左操作数和右操作数。  ...在赋值运算符中,变量a被赋值为变量b的值,因此a的值变为了10。在复合赋值运算符中,变量a和变量b进行了不同的运算操作后,将结果赋值给变量a。  ...然后,使用赋值运算符将拼接后的字符串赋给变量 str3;使用字符串的toUpperCase()和toLowerCase()方法将字符串转为大写和小写,并分别将结果赋给变量 str4 和 str5。...如上测试用例代码演示了Java中的赋值运算符、复合赋值运算符、字符串拼接和大小写转换。  首先定义了两个整型变量a和b,并赋值为10和20。使用赋值运算符将b的值赋给a,因此a的值变为20。...然后使用复合赋值运算符将a的值加上b的值,并将结果赋给a,因此a的值变为30。  接着定义了三个字符串变量str1、str2和str3,分别为“Hello”、“ World”和空字符串。

    29751

    不止面试—jvm类加载面试题详解

    准备 这一步中将为静态变量和静态常量分配内存,并赋值。 需要注意的是,静态变量只会给默认值。...比如下面这个: public static int value = 123; 此时赋给value的值是0,不是123。 静态常量(static final修饰的)则会直接赋值。...比如下面这个: public static final int value = 123; 此时赋给value的值是123。 解析 解析阶段就是jvm将常量池的符号引用替换为直接引用。...在解析阶段之前,Worker类并不知道car.run()这个方法内存的什么地方,于是只能用一个字符串来表示这个方法。...初始化 类的初始化的主要工作是为静态变量赋程序设定的初值。 还记得上面的静态变量吗: public static int value = 123; 经过这一步,value的值终于是123了。

    68710

    java字符串操作(一)

    Java中的字符串是一个很重要的数据类型,字符串操作也是Java编程中非常基础的一部分。在Java中,字符串是一个对象,可以通过字符串类中的方法进行各种操作。...;int len = str.length();System.out.println(len); // 输出:13在上面的代码中,我们定义了一个字符串str,使用length()方法获取它的长度,并将长度值赋给整型变量...在上面的代码中,我们先定义了两个字符串str1和str2,然后使用加号运算符将它们连接起来,并将结果赋给了一个新的字符串str3。最后,我们将str3的值打印到控制台上。..."world",并将结果赋给整型变量pos。...在上面的代码中,我们使用replace()方法将字符串str中的子字符串"world"替换为"Java",并将结果赋给一个新的字符串newStr。最后,我们将newStr的值打印到控制台上。

    47830

    Java Script脚本语言入门(上)

    当给一个尚未声明的变量赋值时,JavaScript会自动用该变量名创建一个全局变量。在一个函数的内部,通常创建的只是一个仅在函数内部起作用的局部变量,而不是一个全局变量。...要创建一个全局变量,则必须使用一个var关键字进行声明变量。 在声明变量时不需要指定变量的类型,变量的类型将使用变量的值来确定。...5.运算符的应用 1.赋值运算符 运算符 描述 = 将右边表达式的值赋给左边的变量 += 将运算符左边的变量加上右边表达式的值赋给左边的变量 -= 将运算符左边的变量减去右边表达式的值赋给左边的变量 *...= 将运算符左边的变量乘以右边表达式的值赋给左边的变量 /= 将运算符左边的变量除以右边表达式的值赋给左边的变量 %= 将运算符左边的变量用右边表达式求模,并将结果值赋给左边的变量 &= 将运算符左边的变量与右边表达式进行逻辑与运算...6.字符串运算符 描述符 描述 + 连接两个字符串 += 连接两个字符串并将结果赋给第一个字符串 3.流程控制语句 1.if条件判断 if(expression) {statement1;} else

    1.6K20

    详解 final 修饰符

    ,虽然写程序的时候可以在定义final实例变量的时候、在非静态代码块中和在构造器中为final实例变量赋初始值,但本质上,这3种方式都是一样的,都是在构造器中赋值 对于final修饰的类变量而言,只能在以下两个地方赋初始值...,虽然写程序的时候可以在定义final类变量的时候和在静态代码块中为final类变量赋初始值,但本质上,这2种方式是一样的,都是在静态代码块中赋值 final修饰的局部变量需要被显示的赋初始值,其实非final...而是把它当成一个"宏变量",即不会在构造器(对于实例变量而言)或静态代码块(对于类变量而言)中去给这个final变量赋初始值,而是在类定义中直接使用该初始值来代替该final变量,也就是说,在所有出现该变量的地方...会缓存曾经使用过的字符串直接量,例如执行String a = "java";后,在堆内存的字符串缓存池中就会缓存一个字符串"java",如果再执行String b = "java";,编译器会让b直接指向字符串池中的...final变量时指定初始值才有可能触发"宏替换"的效果 对于实例变量而言,如果你在非静态代码块或构造方法中给final变量赋初始值,就不会有"宏替换"效果,对于类变量而言,如果你在静态代码块中给final

    51940

    Lua05——Lua基本数据类型

    lua 是动态类型语言,变量使用前不需要定义类型,在使用时直接赋值即可。 1 基本数据类型 值可以存储在变量中,作为参数传递或作为结果返回。...lua中有八个基本数据类型: nil 只有值nil属于该类,表示一个无效值(在条件表达式中相当于false) boolean 布尔类型, true 和 false number 双精度浮点数 string...在Lua里 table 的创建是通过构造表达式来完成,最简单构造表达式是{},用来创建一个空表。 2 获取数据类型 通过函数 type 可以返回一个值或一个变量所属的数据类型。...2.1 nil nil 是一种空数据类型,在 lua 中将 nil 用于表示“无效值”。变量在首次赋值前的默认值,就是 nil,将 nil 赋给全局变量后,即等同于删除该变量。...c = foo print(c()) -- 将函数赋值给变量2 local c = foo() print(c) 将函数赋值给变量时,函数名后不带()和带有()在引用变量时会有区别: 赋值时不带(),

    46220

    从入门到精通:Java三目运算符详细教程!

    1,如果是,则将b的值赋为20,否则赋为30;在第二个三目运算符中,判断a是否等于10,如果是,则将b的值赋为20,否则赋为30。...a : b;  上述代码中,如果a大于b,则将a的值赋给max,否则将b的值赋给max。  ..."偶数" : "奇数";拓展:  这段代码是一个三目运算符,用于判断变量num是否为偶数,如果是,将字符串"偶数"赋值给变量result,否则将字符串"奇数"赋值给变量result。  ...true : false;拓展:  这段代码定义了一个字符串变量 str,初始值为空字符串。...在该代码中,定义了两个整型变量a和b,并使用三目运算符求出a和b中的较大值,将其赋值给变量max,最后输出max的值。运行该代码,输出结果为"两个数中较大的是:10"。

    2.3K61

    一行代码能做什么?

    首先问大家一个问题:程序员的你,编程也有一段时间了,那么你觉得一行代码,在实际编程过程中,能起到多大作用?能干成哪些事情?...接下来,向大家分享一下,我自己总结的,关于各个编程语言的一行代码可以做的事情的示例,给大家做个参考,希望你喜欢。...1.打印输出:一行代码可以用来打印文本或变量的值到控制台,例如,在python中 2.变量赋值:一行代码可以将一个值赋给一个变量,例如: 3.条件语句:一行代码可以执行简单的条件判断,例如: 4....循环:一行代码可以实现简单的循环,例如,在Python中,使用列表推导式: 5.函数调用:一行代码可以调用一个函数,例如: 6.异常处理:一行代码可以处理异常,例如,在Java中,使用三元运算符捕获异常...: 7.文件操作: 一行代码可以进行文件读取或写入操作,例如,在Python中,使用with语句打开文件并读取一行: 8.数据转换: 一行代码可以进行数据类型转换,例如,在JavaScript中将字符串转换为整数

    23020

    java-程序运行时间检测实例-字符串叠加与两个变量交换数据

    参考链接: 交换两个字符串,而无需在Java中使用第三个用户定义的变量 上篇文章介绍了用System.currentTimeMillis()方法检测运行时间的用法,这篇文章结合两个实际例子,看一下实际效果...字符串叠加  在《Thinking in java》里,作者着重强调了,字符串叠加的时候,尽量使用StringBuilder,相对于直接使用String.append()可以提高效率。...(2)加减交换  int x =10,y=5; //定义两个变量     x = x + y;        //求二者和; y = x - y;        //x的值赋给y; x = x - y;...        //y的值赋给x;  这种方法不用单独创建额外的变量,弊端在于如果 x 和 y 的数值过大的话,超出 int 的值会损失精度。 ...; i<1000000; i++)         {             x = x + y;        //求二者和;             y = x - y;        //x的值赋给

    46950

    strtok()函数的使用以及注意事项

    返回值:分隔符匹配到的第一个子串 二、主要内容 1、函数的作用是分解字符串,所谓分解,即没有生成新串,只是在s所指向的内容首次出现分界符的位置,将分界符修改成了’/0’,故第一次用strtok()返回第一个子串...第n次)的调用中将strtok的第一个参数赋为空值NULL(表示函数继续从上 一次调用隐式保存的位置,继续分解字符串;对于前一次次调用来说,第一次调用结束前用一个this指针指向了分界符的下一位)...2.若要在第一次提取子串完毕之后,继续对源字符串s进行提取,应在其后(第二次,第三次。。。第n次)的调用中将strtok的第一个参数赋为空值NULL。...3.关于函数返回值的探讨 由”1”中所述,在提取到子串的情况下,strtok的返回值(假设返回值赋给了指针buf)是提取出的子串的指针。这个指针指向的是子串在源字符串中的起始位置。...6.不能向第一个参数传递字符串常量! 本文中所举的例子都将源字符串保存为字符串数组变量。若你将源字符串定义成字符串常量,可想而知,程序会因为strtok函数试图修改源字符串的值,而抛出异常。

    1.7K20

    ——深入理解Shell编程中的变量(理论与实例)

    1.定义新的变量 Bash 中的变量操作相对比较简单,不像其他高级编程语言(如 C/C++、Java 等)那么复杂在定义一个新的变量时,一般不需要提前进行声明,而是直接指定变量名称并赋给初始值(内容即可...,使用“$”符号可以引用其他变量的值(变量引用),从而能够直接调用现有变量的值来赋给新的变量。...例如,执行以下操作可以调用变量Version 的值,将其赋给一个新的变量java,最终的值为“java7.7"。...在双引号范围内,使用“$”符号可以引用其他变量的值(变量引用),从而能够直接调用现有变量的值来赋给新的变量。...例如,执行以下操作可以调用变量Version 的值,将其赋给一个新的变量java,最终的值为“java7.7"。

    15720

    python基本数据类型

    和其他大部分编程语言一样,python中给变量赋值也是用等于号 = ,左边是变量名,右边是需要存储在这个变量中的值或者说数据。...b = c = 10 以上这个示例,把10这个值赋给了a、b、c这三个变量上,过程是这样的:10先赋给了c,然后c的值赋给了b,b的值又赋给了a。...除此之外也可以同时给多个变量赋不同类型的值,示例: a,b,c=10,12.5,"string" 以上这个示例,把10这个值赋给了a,把12.5赋给了b,把”string”这个字符串赋值给了c。...当你给一个变量赋值一个整数时,Number对象就会被创建。 像大多数语言一样,数值类型的赋值和计算都是很直观的。...Python 不支持单个字符类型,也就是C或Java中的char类型,即便赋值的是单个字符在Python中也是作为一个字符串使用。 创建字符串很简单,只要为变量赋值一个使用引号引起来的值即可。

    68720

    Java 之数据类型

    对于引用类型,若一个变量引用的是一个复杂的数据结构的实例,则该变量的类型就属于引用类型,在引用类型变量所引用的实例中,不仅可以包含基本类型的变量,还可以包括对这些变量进行操作的行为。...而对于引用类型变量,Java虚拟机同样要为其分配内存空间,但该空间内存放的并不是变量所引用的对象,而是对象在堆区存放的地址。...所以引用变量最终只是指向被引用的对象,而不是存储了被引用的对象,因此两个引用变量之间的赋值,实际上就是将一个引用变量存储的地址复制给另一个引用变量,从而使两个变量指向同一个对象。...//num4的值为200 2.字符串与其他数据类型的转换 在Java语言中还提供了字符串与其他数据类型之间的转换,尤其是与基本数据类型和包装类间的转换,会被经常用到。         ...,但使其引用子类对象,在编译时,Java编译器是根据变量被显示声明的类型去编译,因此该变量的类型被看作父类类型,所以将其进行强制类型转换并赋给引用了另一个子类对象的变量时,编译成功。

    98330

    WinCC VBS 脚本的实用技巧问答 (TIA Portal )

    结束脚本前,将内部变量赋值给数组元素。 3、如何在控制器和脚本之间有效的赋值过程变量数组? 从控制器到一个脚本赋值,过程变量数组需要在一个循环中将数组元素一个一个赋值,参考示例。...然而,也可以通过一个简单的指令把局部脚本的数组的值赋给过程变量数组。...例如 把控制器的数组 "CPU_Array" 的值赋给内部数组 "local_array" 和 把内部数组 "local_array" 的值赋给控制器的数组 "CPU_Array" Dim local_array...7、如何在一个脚本中使用十六进制符号给变量赋值? 在脚本编辑器中把字符组合 "&h" 作为个十六进制常数的标识。...图. 02 在脚本中使用 "HMI_Tag_1" 的值赋给"Parameter_1" ,"HMI_Tag_2" 的值赋给"Parameter_2" ,必须有一行脚本定义了返回值。

    5.5K20

    Java-如何声明变量

    变量名则是你自己指定的一个唯一的名称 如果需要给变量赋初值,则可以在声明变量时进行初始化,基本语法如下: 数据类型 变量名 = 初始值; 这两种声明方法可以放在方法之内,也可以放在class之内,这取决于你的需求...在Java中,可以使用boolean数据类型来声明布尔型变量 例如: boolean flag = true; 字符串型变量 String类型实际上是一个类,可以用来表示一个由零个或多个字符组成的字符串...value是变量的值,必须用双引号"括起来 例如,声明一个字符串类型的变量str并赋初值为"Hello, World!",代码如下所示: String str = "Hello, World!"...; 可以看到,我们使用关键字String声明了一个字符串类型变量str,变量名为str,并给它赋了初值"Hello, World!"...; // 将两个字符串用"+"连接起来,并赋值给str 注意,在Java中,String类型的值是不可变的(immutable),也就是说,一旦初始化后就不能改变其内容。

    92720

    String类为什么被设计为不可变的?

    保证了value的引用和值都不会发生变化 final关键字的作用有如下几种 final修饰类时,表明这个类不能被继承 final修饰方法,表明方法不能被重写 final修饰变量,如果是基本数据类型的变量...,则其数值一旦在初始化之后便不能改变;如果是对象类型的变量,只能保证它的引用不变,但对象的内容是可以改变的 在Java中数组也是对象,数组即使被final修饰,内容还是可以改变的 所以我们说String...实际上是将引用放到哈希表中),随后将引用赋给str1 如果存在,则不创建任何对象,直接将池中"abc"对象的引用返回,赋给str2。...,JVM首先在字符串池中查找有没有"abc"这个字符串对象的引用 如果没有,则先在堆中创建一个"abc"字符串对象,并将引用添加到字符串常量池,随后将引用赋给str3 如果有,则不往池中放"abc"对象的引用...,直接在堆中创建一个"abc"字符串对象,然后将引用赋给str4。

    53410
    领券