Java的String用法 java语言中怎么在if语句中使用string

java\u4e2d\uff0cString a = null \uff0c String a = "" \u548cString a \u8fd9\u4e09\u4e2a\u4e4b\u95f4\u7684\u533a\u522b\u548c\u5404\u81ea\u9002\u5408\u7684\u7528\u6cd5\uff1f

String a; \u7533\u660e\u4e00\u4e2astring\u7c7b\u578b\u7684 a\uff0c\u5373\u6ca1\u6709\u5728\u7533\u8bf7\u5185\u5b58\u5730\u5740\uff0c\u66f4\u6ca1\u6709\u5728\u5185\u5b58\u4efb\u4f55\u6307\u5411\u5f15\u7528\u5730\u5740;

String a = null ; \u7533\u660e\u4e00\u4e2astring\u7c7b\u578b\u7684 a\uff0c\u540c\u65f6\u5728\u5185\u5b58\u91cc\u7533\u8bf7\u4e86\u4e00\u4e2a\u5730\u5740\uff0c\u4f46\u662f\u8be5\u5730\u5740\u4e0d\u6307\u5411\u4efb\u4f55\u5f15\u7528\u5730\u5740\uff1b

String a = "" \uff1b\u7533\u660e\u4e00\u4e2astring\u7c7b\u578b\u7684 a\uff0c\u65e2\u5728\u5185\u5b58\u91cc\u7533\u8bf7\u4e86\u5730\u5740\uff0c\u8be5\u5730\u5740\u53c8\u6307\u5411\u4e00\u4e2a\u5f15\u7528\u8be5\u5b57\u7b26\u4e32\u7684\u5f15\u7528\u5730\u5740\uff1b

\u4e00\u822c\u6765\u8bf4 \u5b57\u7b26\u4e32\u7684\u4f7f\u7528 \u6700\u597d\u7528String a = "" ;\u8bed\u53e5\uff0c
\u53ef\u4ee5\u9632\u6b62\u540e\u9762\u7684\u7a0b\u5e8f\u56e0\u5f15\u7528\u5730\u5740\u6df7\u4e71\u800c\u627e\u4e0d\u5230\u7684\u5f02\u5e38\uff01
String a = null ; String a; \u52b2\u91cf\u5c11\u7528\uff01 \u80fd\u4e0d\u7528\u5c31\u4e0d\u8981\u4f7f\u7528!

/**
*
*/
package test;

import java.util.Scanner;

/**
* @author lilin
*
*/
public class StringTest {

/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("\u8bf7\u8f93\u5165\u8d2d\u4e70\u5546\u54c1\uff1a");
int x = input.nextInt();
String goods = "";
int z = 0;
if (x == 1) {
goods = "\u5c0f\u7c733\u624b\u673a";
z = 1999;
} else if (x == 2) {
goods = "\u8054\u60f3\u7535\u8111";
z = 4989;
} else {
System.out.println("\u6ca1\u6709\u6b64\u5546\u54c1");
}
System.out.println("\u8bf7\u8f93\u5165\u8d2d\u4e70\u6570\u91cf\uff1a");
int a = input.nextInt();
int b = z * a;
System.out.println("\u5c0a\u656c\u7684\u7528\u6237\uff0c\u60a8\u8d2d\u4e70\u7684\u5546\u54c1\u4fe1\u606f\u5982\u4e0b:");
System.out.println("\u5546\u54c1\u540d\u79f0\uff1a" + goods);
System.out.println("\u5546\u54c1\u4ef7\u683c\uff1a" + z);
System.out.println("\u8d2d\u4e70\u6570\u91cf\uff1a" + a);
System.out.println("\u603b\u4ef7\uff1a" + b);

}

}


\u8bf7\u8f93\u5165\u8d2d\u4e70\u5546\u54c1\uff1a
1
\u8bf7\u8f93\u5165\u8d2d\u4e70\u6570\u91cf\uff1a
2
\u5c0a\u656c\u7684\u7528\u6237\uff0c\u60a8\u8d2d\u4e70\u7684\u5546\u54c1\u4fe1\u606f\u5982\u4e0b:
\u5546\u54c1\u540d\u79f0\uff1a\u5c0f\u7c733\u624b\u673a
\u5546\u54c1\u4ef7\u683c\uff1a1999
\u8d2d\u4e70\u6570\u91cf\uff1a2
\u603b\u4ef7\uff1a3998


\u4f60\u662f\u7528text\u7f16\u7a0b\u7684\u4e48\uff1f\u7136\u540e\u81ea\u5df1\u7f16\u8bd1class\u6587\u4ef6\u6267\u884c\u7684\u4e48\uff1f\u63a8\u8350\u8fd8\u662f\u7528ide\u5427 \u8fd9\u6837\u7701\u53bb\u4e86\u7f16\u8bd1\u7684\u95ee\u9898\u67e5\u627e\u3002

java中String类型的字面量(即“java”这个字符串)是存放在内存中的静态存储区,当程序执行到String a = "java";该区域里就会生成一个字符串字面量“java”,执行String b = "java";时,java对字符串的创建过程进行了优化,会先去该区域里寻找字面量为“java”的字符串,如果找到了,就把该字符串的引用指向到b,如果找不到就创建新的字符串“java”,所以a和b共用一个。加号(+)是字符串的一个连接方法,可以理解为String类的concat方法,String c = x +y;和String c = x.concat(y);效果是一样的,变量c接受的是concat方法的返回值,是内存中“ja”和“va”连接后的对象,与前面的过程不是一码事!如果还不理解,可以再问我!

Java对常量在内存中相同对象会合并,因为常量不会改变,多份引用指向同一份数据可以节省内存。
这是在编译源程序时分析和处理的。

c=x+y实际是用x和y的值又新创建了一个字符串对象,这是在程序运行时发生的,你的例子中c内容只是恰好和a、b相同,若也进行常量合并则势必要在内存中进行搜索匹配,得不偿失。所以实际c的值不会借用a、b的值。

这里用到Java里面是一个常量池的问题。对于x+y操作,其实是在堆里面重新创建了一个新的对象,c保存的是这个新对象在堆空间的的内容,所以c与a的值是不相等的。而当调用c.intern()方法,却可以返回c在常量池中的地址值,因为a的值存储在常量池中,故c.intern和a的值相等。

String对象是不可变的对象,所以x是一个对象,y是一个对象,c=x+y就是另一个对象,而a和b使用的是相同的内存地址,因此他们是相同的

c是变量x的地址断开后再连接上的

  • java涓殑string鏄粈涔堟剰鎬?
    绛旓細鍦↗ava涓紝String鏄竴绉嶉瀹氫箟鐨勬暟鎹被鍨嬶紝涔熸槸鏈甯哥敤鐨勬暟鎹被鍨嬩箣涓銆傚畠琛ㄧず涓涓插瓧绗﹀簭鍒楋紝鍖呮嫭瀛楁瘝銆佹暟瀛椼佺鍙风瓑锛屼互鍙婂彲浠ヤ负绌虹殑瀛楃涓层係tring鍙互鐢ㄤ簬瀛樺偍鍜屾搷浣滄枃鏈俊鎭紝姣斿鐢ㄦ埛鍚嶃佸瘑鐮併佺數瀛愰偖浠跺湴鍧绛夈係tring绫诲瀷鐨勫彉閲忛氬父鐢ㄦ潵瀛樺偍瀛楃涓茬殑鍊硷紝骞跺彲浠ヨ繘琛屽瓧绗︿覆鐨勮繛鎺ャ佹浛鎹佹埅鍙栫瓑鎿嶄綔銆侸ava涓...
  • java涓璼tring绫荤殑鏂规硶鏈夊摢浜?
    绛旓細boolean equalsIgnoreCase(String anotherString)灏嗘 String 涓庡彟涓涓 String 杩涜姣旇緝锛屼笉鑰冭檻澶у皬鍐欍俿tatic String format(Locale l, String format, Object... args)浣跨敤鎸囧畾鐨勮瑷鐜銆佹牸寮瀛楃涓鍜屽弬鏁拌繑鍥炰竴涓牸寮忓寲瀛楃涓层俿tatic String format(String format, Object... args)浣跨敤鎸囧畾鐨勬牸寮忓瓧绗...
  • Java鏁扮粍涓璼tring鐨勭敤娉
    绛旓細1.Java鏁扮粍鐨勮娉: String[鏁扮粍涓嬫爣], Java鏁扮粍鐨勪笅鏍囨槸浠0寮濮嬬殑銆2.绀轰緥浠g爜public class StringArray {public static void main(String[]args){ //java鏁扮粍鍒濆鍖 String[] strArray={"1","2","3"}; //杈撳嚭java鏁扮粍 for(int i=0;i<strArray.length;i++) { System.out.println(strArray[i]);/...
  • java涓char涓String鐨鍖哄埆?
    绛旓細1銆佺被鍨嬩笉鍚 char鏄瓧绗︾被鍨嬶紝 String鏄瓧绗︿覆绫诲瀷銆2銆佸寘鍚 String瀛楃涓叉槸鐢ㄦ潵鍖呭惈涓茬殑锛 char鏄敤鏉ュ寘鍚崟瀛楃鐨銆備緥濡傦細char a='1';//瀹氫箟涓涓瓧绗 String b="dadsa";//瀹氫箟涓涓瓧绗︿覆3銆佸瓨鍌 String鍐呴儴鐢ㄦ潵瀛樺偍鐨勭粨鏋滄槸涓涓猚har瀛楃鏁扮粍銆俻rivate final char value[];//杩欐槸string涓敤鏉...
  • Java鐨凷tring鐢ㄦ硶
    绛旓細java鈥濓紝鎵浠鍜宐鍏辩敤涓涓傚姞鍙凤紙+锛夋槸瀛楃涓鐨勪竴涓繛鎺ユ柟娉曪紝鍙互鐞嗚В涓String绫荤殑concat鏂规硶锛孲tring c = x +y;鍜孲tring c = x.concat(y);鏁堟灉鏄竴鏍风殑锛屽彉閲廲鎺ュ彈鐨勬槸concat鏂规硶鐨勮繑鍥炲硷紝鏄唴瀛樹腑鈥渏a鈥濆拰鈥渧a鈥濊繛鎺ュ悗鐨勫璞★紝涓庡墠闈㈢殑杩囩▼涓嶆槸涓鐮佷簨锛佸鏋滆繕涓嶇悊瑙o紝鍙互鍐嶉棶鎴戯紒
  • Java涓殑String绫
    绛旓細Java杩愯鐜鏈変竴涓被浼瀛楃涓姹犵殑涓滀笢銆1.鎵ц璇彞String str="str"鏃讹紝棣栧厛鏌ョ湅瀛楃涓叉睜涓槸鍚﹀瓨鍦ㄥ瓧绗︿覆"abc"锛屽鏋滃瓨鍦ㄥ垯鐩存帴灏"abc"鐨勫紩鐢ㄧ粰str锛屽鏋滀笉瀛樺湪鍒欏厛鍦ㄥ瓧绗︿覆姹犱腑鏂板缓涓涓瓧绗︿覆"abc"锛岀劧鍚庡啀灏嗗叾寮曠敤缁欑粰str銆2.鎵ц璇彞String str = new String("str");棣栧厛鍦⊿tring姹犲唴鎵撅紝...
  • java涓set<string>绫诲瀷鐨勪笢瑗挎槸浠涔?濡備綍灏嗕竴涓猻tring绫诲瀷鐨瀛楃涓...
    绛旓細Set鏄泦鍚堢殑鎰忔濓紝鏄悓绉嶅璞$殑闆嗗悎锛<String>璇存槑杩欑瀵硅薄閮芥槸String绫诲瀷鐨勫璞°傚彲浠ヨ繖鏍凤細Set<String> set = new HashSet<String>();String s1 = "hello";String s2 = "world";set.add(s1);set.add(s2);杩欐牱灏辨坊鍔犱簡涓や釜鍏冪礌銆
  • java 涓璖tring鐨別quals()鏂规硶鏄粈涔?
    绛旓細public boolean equals(Object anObject)鍙傛暟 anObject -- 杩欐槸杩欎釜String瀵规瘮杈冪殑瀵硅薄 杩斿洖鍊 姝ゆ柟娉曡繑鍥瀟rue濡傛灉缁欏畾瀵硅薄浠h〃涓涓瀛楃涓锛岃繖涓瓧绗︿覆锛屽惁鍒欒繑鍥瀎alse 寮傚父 NA 瀹炰緥 涓嬮潰鐨勪緥瀛愭樉绀浣跨敤鐨刯ava.lang.String.equals()鏂规硶 package com.pieryon;import java.lang.*;public class StringDemo ...
  • java.lang.String鐨甯哥敤鐨勬柟娉
    绛旓細鐨瀛楃涓锛屽湪java閲屽彲浠ラ氳繃杩欑绠鍗曠殑鏂瑰紡瀹炵幇瀛楃涓茬殑杩炴帴銆傝繖閲岄渶瑕佹敞鎰忕殑鏄紝杩欎釜杩囩▼瀹為檯涓婄敓鎴愪簡涓変釜String瀵硅薄锛孖 am 鍜孡ingo!鍏堣鐢熸垚锛岀劧鍚庣敤浠栦滑鍐嶅垱寤轰竴涓猄tring瀵硅薄str锛宻tr鐨勫唴瀹规槸涓よ呯殑鎬诲拰銆傛墍浠ワ紝浣跨敤+杩涜瀛楃涓茶繛鎺ョ殑鏃跺欎細寰堣楄垂璧勬簮锛岃繖涓椂鍊欏氨闇瑕佷娇鐢ㄥ彟涓涓被StringBuffer锛屽畠鐨...
  • java涓殑String鏈変粈涔堢敤
    绛旓細String鏄竴涓瀛楃涓绫伙紝鍦JAVA涓娌℃湁鐩存帴鐨勫瓧绗︿覆绫诲瀷杩欑绠鍗曟暟鎹被鍨嬶紝瀹冩槸鐢ㄤ竴涓被灏嗗瓧绗︿覆鍙婂叾灞炴у拰鎿嶄綔灏佽璧锋潵鐨勩傚氨鍍忓叾浠栫殑绫讳竴鏍凤紝鏈夎嚜宸辩殑灞炴ф瘮濡傞暱搴︾瓑锛屼篃鏈夋柟娉曟瘮濡傛眰瀛愪覆绛夈傝繕鏈変竴涓猄tringBuffer璺熻繖涓樊涓嶅銆
  • 扩展阅读:java调用tostring方法 ... java string format用法 ... java中substring用法 ... java中string转list ... java的substring方法 ... java中string类的方法 ... java中string转为map ... java json怎么转string ... string在java怎么用 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网