欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

<tfoot id='n6hcj6xf'></tfoot>

<small id='qd2w56ie'></small><noframes id='r1vs0bmx'>

    1. <i id='r9lzeoml'><tr id='fct9ppio'><dt id='u5j7z9r6'><q id='shno45wv'><span id='m4rnnn96'><b id='r5t7cij4'><form id='jucgjpee'><ins id='wiue5uv7'></ins><ul id='gs1egy59'></ul><sub id='odmc2c4e'></sub></form><legend id='7yk2nymi'></legend><bdo id='26h1c2og'><pre id='iukj36y2'><center id='0kl03u77'></center></pre></bdo></b><th id='ibbmjc1z'></th></span></q></dt></tr></i><div class="c8jzdxauzz" id='1a6w9y9f'><tfoot id='5uab9kh2'></tfoot><dl id='6w3bps15'><fieldset id='oiol2ui3'></fieldset></dl></div>

      • <bdo id='2dd154kj'></bdo><ul id='txlyfdx5'></ul>
    2. <legend id='22zzklop'><style id='b93oi1zl'><dir id='p6m0z3wm'><q id='2so471ak'></q></dir></style></legend>

        歡迎來到入門教程網(wǎng)!

        Java編程

        當(dāng)前位置:主頁 > 軟件編程 > Java編程 >

        java字符串轉(zhuǎn)代碼6的簡單介紹

        來源:本站原創(chuàng)|時(shí)間:2023-04-13|欄目:Java編程|點(diǎn)擊: 次

        Java字符串轉(zhuǎn)為字符

        代碼如下:

        import?java.util.Arrays;

        import?java.util.Scanner;

        public?class?App?{

        public?static?void?main(String[]?args)?{

        Scanner?scanner?=?new?Scanner(System.in);

        //?1.鍵盤錄入一個(gè)字符串

        String?str?=?scanner.nextLine();

        char[]?chars?=?new?char[str.length()];

        //?2.將該字符串變成字符數(shù)組(不能使用toCharArray()方法)

        for?(int?i?=?0;?i??str.length();?i++)?{

        char?ch?=?str.charAt(i);

        //?5.將字符數(shù)組中索引為偶數(shù)的元素變成'~'

        ch?=?(i?%?2?==?0)???'~'?:?ch;

        //?3.將字符數(shù)組中的所有大寫字母變成小寫字母(不能使用toLowerCase()方法晌段)

        ch?扒謹(jǐn)碰=?(ch?=?'A'??ch?=?'Z')???(char)(ch?-?32)?:?ch;

        chars[i]?=?ch;

        }

        //?4.如果第一位和最后一位的內(nèi)容不相同,則交換

        if?(chars[0]?!=?chars[chars.length?-?1])?{

        char?ch?=?chars[0];

        chars[0]?=?chars[chars.length?-?1];

        chars[chars.length?春談-?1]?=?ch;

        }

        //?6.打印數(shù)組元素的內(nèi)容

        System.out.println(Arrays.toString(chars));

        }

        }

        如何用maven將java8寫的代碼編譯為java6平臺的

        在一般的Java應(yīng)用開發(fā)過程中,開發(fā)人員使用Java的方式比較簡單。打開慣用的IDE,編寫Java源代碼,再利用IDE提供的功能直接運(yùn)行Java 程序就可以了。這種開發(fā)模式背后的過程是:開發(fā)人員編寫的是Java源代碼文件(.java),IDE會負(fù)責(zé)調(diào)用Java的編譯器把Java源代碼編譯成平臺無關(guān)的字節(jié)代碼(byte code),以類文件的形式滲談老保存在磁盤上(.class)。Java虛擬機(jī)(JVM)會負(fù)責(zé)把Java字節(jié)代碼加載并執(zhí)行。Java通過這種方式來實(shí)現(xiàn)其“編寫一次,到處運(yùn)行(Write once, run anywhere)” 的目標(biāo)。Java類文件中包含的字節(jié)代碼可以被不同平臺上的JVM所使用。Java字節(jié)代碼不僅可以以文件形式存在于磁盤上,也可以通過網(wǎng)絡(luò)方式來下載,還可以只存在于內(nèi)存中。JVM中的類加載器會負(fù)責(zé)從包含字節(jié)代碼的字節(jié)數(shù)組(byte[])中定義出Java類。在某些情況下,可能會需要動態(tài)的生成 Java字節(jié)叢升代碼,或是對已有的Java字節(jié)代碼進(jìn)行修改。這個(gè)時(shí)候就需要用到本文中將要介紹的相關(guān)技術(shù)。首先介紹一下如何動態(tài)編譯Java源文件。

        動態(tài)編譯Java源文件

        在一般情況下,開發(fā)人員都是在程序運(yùn)行之前就編寫完成了全部的Java源代碼并且成功編譯。對有些應(yīng)用來說,Java源代碼的內(nèi)容在運(yùn)行時(shí)刻才能確定。這個(gè)時(shí)候就需要動態(tài)編譯源代碼來生成Java字節(jié)代碼,再由JVM來加載執(zhí)行。典型的場景是很多算法競賽的在線評測系統(tǒng)(如PKU JudgeOnline),允許用戶上傳Java代碼,由系統(tǒng)在后臺編譯、運(yùn)行并進(jìn)行判定。侍友在動態(tài)編譯Java源文件時(shí),使用的做法是直接在程序中調(diào)用Java編譯器。

        JSR 199引入了Java編譯器API。如果使用JDK 6的話,可以通過此API來動態(tài)編譯Java代碼。比如下面的代碼用來動態(tài)編譯最簡單的Hello World類。該Java類的代碼是保存在一個(gè)字符串中的。

        01 public class CompilerTest {

        02 public static void main(String[] args) throws Exception {

        03 String source = "public class Main { public static void main(String[] args) {System.out.println(\"Hello World!\");} }";

        04 JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

        05 StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);

        06 StringSourceJavaObject sourceObject = newCompilerTest.StringSourceJavaObject("Main", source);

        07 Iterable extends JavaFileObject fileObjects = Arrays.asList(sourceObject);

        08 CompilationTask task = compiler.getTask(null, fileManager, null,null, null, fileObjects);

        09 boolean result = task.call();

        10 if (result) {

        11 System.out.println("編譯成功。");

        12 }

        13 }

        14

        15 static class StringSourceJavaObject extends SimpleJavaFileObject {

        16

        17 private String content = null;

        18 public StringSourceJavaObject(String name, String content) ??throwsURISyntaxException {

        19 super(URI.create("string:///" + name.replace('.','/') + Kind.SOURCE.extension), Kind.SOURCE);

        20 this.content = content;

        21 }

        22

        23 public CharSequence getCharContent(boolean ignoreEncodingErrors) ??throws IOException {

        24 return content;

        25 }

        26 }

        27 }

        如果不能使用JDK 6提供的Java編譯器API的話,可以使用JDK中的工具類com.sun.tools.javac.Main,不過該工具類只能編譯存放在磁盤上的文件,類似于直接使用javac命令。

        另外一個(gè)可用的工具是Eclipse JDT Core提供的編譯器。這是Eclipse Java開發(fā)環(huán)境使用的增量式Java編譯器,支持運(yùn)行和調(diào)試有錯誤的代碼。該編譯器也可以單獨(dú)使用。Play框架在內(nèi)部使用了JDT的編譯器來動態(tài)編譯Java源代碼。在開發(fā)模式下,Play框架會定期掃描項(xiàng)目中的Java源代碼文件,一旦發(fā)現(xiàn)有修改,會自動編譯 Java源代碼。因此在修改代碼之后,刷新頁面就可以看到變化。使用這些動態(tài)編譯的方式的時(shí)候,需要確保JDK中的tools.jar在應(yīng)用的 CLASSPATH中。

        下面介紹一個(gè)例子,是關(guān)于如何在Java里面做四則運(yùn)算,比如求出來(3+4)*7-10的值。一般的做法是分析輸入的運(yùn)算表達(dá)式,自己來模擬計(jì)算過程??紤]到括號的存在和運(yùn)算符的優(yōu)先級等問題,這樣的計(jì)算過程會比較復(fù)雜,而且容易出錯。另外一種做法是可以用JSR 223引入的腳本語言支持,直接把輸入的表達(dá)式當(dāng)做JavaScript或是JavaFX腳本來執(zhí)行,得到結(jié)果。下面的代碼使用的做法是動態(tài)生成Java源代碼并編譯,接著加載Java類來執(zhí)行并獲取結(jié)果。這種做法完全使用Java來實(shí)現(xiàn)。

        01 private static double calculate(String expr) throws CalculationException {

        02 String className = "CalculatorMain";

        03 String methodName = "calculate";

        04 String source = "public class " + className

        05 + " { public static double " + methodName + "() { return " + expr +"; } }";

        06 //省略動態(tài)編譯Java源代碼的相關(guān)代碼,參見上一節(jié)

        07 boolean result = task.call();

        08 if (result) {

        09 ClassLoader loader = Calculator.class.getClassLoader();

        10 try {

        11 Class? clazz = loader.loadClass(className);

        12 Method method = clazz.getMethod(methodName, new Class?[] {});

        13 Object value = method.invoke(null, new Object[] {});

        14 return (Double) value;

        15 } catch (Exception e) {

        16 throw new CalculationException("內(nèi)部錯誤。");

        17 }

        18 } else {

        19 throw new CalculationException("錯誤的表達(dá)式。");

        20 }

        21 }

        上面的代碼給出了使用動態(tài)生成的Java字節(jié)代碼的基本模式,即通過類加載器來加載字節(jié)代碼,創(chuàng)建Java類的對象的實(shí)例,再通過Java反射API來調(diào)用對象中的方法。

        Java字節(jié)代碼增強(qiáng)

        Java 字節(jié)代碼增強(qiáng)指的是在Java字節(jié)代碼生成之后,對其進(jìn)行修改,增強(qiáng)其功能。這種做法相當(dāng)于對應(yīng)用程序的二進(jìn)制文件進(jìn)行修改。在很多Java框架中都可以見到這種實(shí)現(xiàn)方式。Java字節(jié)代碼增強(qiáng)通常與Java源文件中的注解(annotation)一塊使用。注解在Java源代碼中聲明了需要增強(qiáng)的行為及相關(guān)的元數(shù)據(jù),由框架在運(yùn)行時(shí)刻完成對字節(jié)代碼的增強(qiáng)。Java字節(jié)代碼增強(qiáng)應(yīng)用的場景比較多,一般都集中在減少冗余代碼和對開發(fā)人員屏蔽底層的實(shí)現(xiàn)細(xì)節(jié)上。用過JavaBeans的人可能對其中那些必須添加的getter/setter方法感到很繁瑣,并且難以維護(hù)。而通過字節(jié)代碼增強(qiáng),開發(fā)人員只需要聲明Bean中的屬性即可,getter/setter方法可以通過修改字節(jié)代碼來自動添加。用過JPA的人,在調(diào)試程序的時(shí)候,會發(fā)現(xiàn)實(shí)體類中被添加了一些額外的 域和方法。這些域和方法是在運(yùn)行時(shí)刻由JPA的實(shí)現(xiàn)動態(tài)添加的。字節(jié)代碼增強(qiáng)在面向方面編程(AOP)的一些實(shí)現(xiàn)中也有使用。

        java unicode 轉(zhuǎn)字符串,如下:["6\u621610\u621612"]轉(zhuǎn)String

        直接運(yùn)行下面這段代汪櫻碼就是你要的結(jié)果,那個(gè)str跟你的那個(gè)str是一樣的,不過在代碼巖辯里面要轉(zhuǎn)義,否則報(bào)錯,如果是變粗陵缺量接收,直接傳就行了

        public static void main(String[] args) {

        Pattern pattern1 = Pattern點(diǎn)抗pile("(?=\\[)[^\\]]+");

        String str="[\"6\u621610\u621612\"]";

        Matcher m = pattern1.matcher(str);

        while (m.find()) {

        System.out.println(m.group());

        }

        }

        <legend id='p625j9ve'><style id='a3ap2qfz'><dir id='dst6cpki'><q id='pd66zk5r'></q></dir></style></legend>
          <bdo id='24gebohd'></bdo><ul id='wrkwdzn5'></ul>
            <tbody id='ljz2wrt0'></tbody>

            <tfoot id='poh8hitp'></tfoot>

              1. <i id='wf3puoh4'><tr id='1c1lqp5z'><dt id='7ar9ubri'><q id='4v8rseze'><span id='f3c4y1lz'><b id='pnuk0dft'><form id='q8cagwf1'><ins id='amphlniz'></ins><ul id='hn6bcrjb'></ul><sub id='gl6dwyz5'></sub></form><legend id='gcj0ssdk'></legend><bdo id='90jqjq6i'><pre id='mhnq6ok4'><center id='tilsje86'></center></pre></bdo></b><th id='aqytx5u3'></th></span></q></dt></tr></i><div class="c8jzdxauzz" id='bbmdbiij'><tfoot id='v4wsks6l'></tfoot><dl id='7j2i9usl'><fieldset id='c10jv4sv'></fieldset></dl></div>

                <small id='bhwxafyh'></small><noframes id='01viscmq'>

                  上一篇:Java結(jié)束進(jìn)程樹代碼 java怎么結(jié)束運(yùn)行

                  欄    目:Java編程

                  下一篇:沒有了

                  本文標(biāo)題:java字符串轉(zhuǎn)代碼6的簡單介紹

                  本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/17410.html

                  網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

                  如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

                  聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

                  Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有

                • <legend id='ywxel9fe'><style id='pen8uk1f'><dir id='86g2eyi3'><q id='i8aug3ds'></q></dir></style></legend>
                    • <bdo id='avv98532'></bdo><ul id='qt8ir69n'></ul>
                    <i id='wyjz8sax'><tr id='oiubppjx'><dt id='ojzxfof8'><q id='909u1jo2'><span id='ajhaflo9'><b id='817v5cg2'><form id='wnar3uni'><ins id='mikj358d'></ins><ul id='7gsuh1jf'></ul><sub id='9fqcmysg'></sub></form><legend id='ge0ydwz3'></legend><bdo id='uqjq2dam'><pre id='mzrwfxzq'><center id='mb7nk8eh'></center></pre></bdo></b><th id='892qzjfb'></th></span></q></dt></tr></i><div class="c8jzdxauzz" id='1zhdaut3'><tfoot id='gkgmzh66'></tfoot><dl id='imfmgi54'><fieldset id='nt563s6y'></fieldset></dl></div>

                      <tfoot id='wvaau3ej'></tfoot>
                    1. <small id='msmicope'></small><noframes id='tfwbhii3'>