欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

car命令linux CAR程序

關(guān)于編程風(fēng)格??

首先,編程風(fēng)格并不同于其他的style,目的并不是形成自己獨(dú)樹(shù)一幟的風(fēng)格,而是為了讓你的程序易讀,有利于團(tuán)隊(duì)合作以及別人幫你改錯(cuò)。

10多年的二連浩特網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整二連浩特建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“二連浩特網(wǎng)站設(shè)計(jì)”,“二連浩特網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

風(fēng)格是通用的

C語(yǔ)言和C++語(yǔ)言的編程風(fēng)格 (Java見(jiàn)下)

第一章:縮進(jìn)格式

Tab是8個(gè)字符,于是縮進(jìn)也是8個(gè)字符.有很多怪異的風(fēng)格,他們將縮進(jìn)格式定義為4個(gè)字符(設(shè)置為2個(gè)字符!)的深度,這就象試圖將PI定義為3一樣讓人難以接受.

理由是:縮進(jìn)的大小是為了清楚的定義一個(gè)塊的開(kāi)始和結(jié)束.特別是當(dāng)你已經(jīng)在計(jì)算機(jī)前面呆了20多個(gè)小時(shí)了以后,你會(huì)發(fā)現(xiàn)一個(gè)大的縮進(jìn)格式使得你對(duì)程序的理解更容易.

現(xiàn)在,有一些人說(shuō),使用8個(gè)字符的縮進(jìn)使得代碼離右邊很近,在80個(gè)字符寬度的終端屏幕上看程序很難受.回答是,但你的程序有3個(gè)以上的縮進(jìn)的時(shí)候,你就應(yīng)該修改你的程序.

總之,8個(gè)字符的縮進(jìn)使得程序易讀,還有一個(gè)附加的好處,就是它能在你將程序變得嵌套層數(shù)太多的時(shí)候給你警告.這個(gè)時(shí)候,你應(yīng)該修改你的程序.

第二章:大符號(hào)的位置

另外一個(gè)C程序編程風(fēng)格的問(wèn)題是對(duì)大括號(hào)的處理.同縮進(jìn)大小不同,幾乎沒(méi)有什么理由去選擇一種而不選擇另外一種風(fēng)格,但有一種推薦的風(fēng)格,它是Kernighan和Ritchie的經(jīng)典的那本書帶來(lái)的,它將開(kāi)始

的大括號(hào)放在一行的最后,而將結(jié)束大括號(hào)放在一行的第一位,如下所示:

if (x is true) { we do y }

然而,還有一種特殊的情況:命名函數(shù):開(kāi)始的括號(hào)是放在下一行的第一位,如下:

int function(int x) { body of function }

所有非正統(tǒng)的人會(huì)非難這種不一致性,但是,所有思維正常的人明白: (第一) KR是___對(duì)___的,(第二)如果KR不對(duì),請(qǐng)參見(jiàn)第一條. (:-))......另外,函數(shù)也是特殊的,不一定非得一致.

需要注意的是結(jié)束的括號(hào)在它所占的那一行是空的,__除了__它跟隨著同一條語(yǔ)句的繼續(xù)符號(hào).如"while"在do-while循環(huán)中,或者"else"在if語(yǔ)句中.如下:

do { body of do-loop } while (condition);

以及

if (x == y) { .. } else if (x y) { ... } else { .... }

理由: KR.

另外,注意到這種大括號(hào)的放置方法減小了空行的數(shù)量,但卻沒(méi)有減少可讀性.于是,在屏幕大小受到限制的時(shí)候,你就可以有更多的空行來(lái)寫些注釋了.

第三章:命名系統(tǒng)

C是一種簡(jiǎn)潔的語(yǔ)言,那么,命名也應(yīng)該是簡(jiǎn)潔的.同MODULE-2以及ASCAL語(yǔ)言不同的是,C程序員不使用諸如ThisVariableIsATemporaryCounter之類的命名方式.一個(gè)C語(yǔ)言的程序員會(huì)將之命名為"tmp",這很容易書寫,且并不是那么難以去理解.

然而,當(dāng)混合類型的名字不得不出現(xiàn)的時(shí)候,描述性名字對(duì)全局變量來(lái)說(shuō)是必要的了.調(diào)用一個(gè)名為"foo"全局的函數(shù)是很讓人惱火的.全局變量(只有你必須使用的時(shí)候才使用它) ,就象全局函數(shù)一樣,需要描述性的命名方式.假如你有一個(gè)函數(shù)用來(lái)計(jì)算活動(dòng)用戶的數(shù)量,你應(yīng)該這樣命名--"count_active_users()"--或另外的相近的形式,你不應(yīng)命名為"cntusr()".

有一種稱為Hungarian命名方式,它將函數(shù)的類型編碼寫入變量名中,這種方式是腦子有毛病的一種表現(xiàn)---編譯器知道這個(gè)類型而且會(huì)去檢查它,而這樣只會(huì)迷惑程序員. --知道為什么Micro$oft為什么會(huì)生產(chǎn)這么多"臭蟲(chóng)"程序了把!!.

局部變量的命名應(yīng)該短小精悍.假如你有一個(gè)隨機(jī)的整數(shù)循環(huán)計(jì)數(shù)器,它有可能有"i",如果沒(méi)有任何可能使得它能被誤解的話,將其寫作"loop_counter"是效率低下的.同樣的,""tmp"可以是任何臨時(shí)數(shù)值的函數(shù)變量.

如果你害怕混淆你的局部變量的名字,還有另外一個(gè)問(wèn)題,就是稱

function-growth-hormone-imbalancesyndrome.

第四章:函數(shù)

函數(shù)應(yīng)該短小而迷人,而且它只作一件事情.它應(yīng)只覆蓋一到兩個(gè)屏幕(80*24一屏),并且只作一件事情,而且將它做好.(這不就是UNIX的風(fēng)格嗎,譯者注).

一個(gè)函數(shù)的最大長(zhǎng)度和函數(shù)的復(fù)雜程度以及縮進(jìn)大小成反比.于是,如果你已經(jīng)寫了簡(jiǎn)單但長(zhǎng)度較長(zhǎng)的的函數(shù),而且你已經(jīng)對(duì)不同的情況做了很多很小的事情,寫一個(gè)更長(zhǎng)一點(diǎn)的函數(shù)也是無(wú)所謂的.

然而,假如你要寫一個(gè)很復(fù)雜的函數(shù),而且你已經(jīng)估計(jì)到假如一般人讀這個(gè)函數(shù),他可能都不知道這個(gè)函數(shù)在說(shuō)些什么,這個(gè)時(shí)候,使用具有描述性名字的有幫助的函數(shù).

另外一個(gè)需要考慮的是局部變量的數(shù)量.他們不應(yīng)該超過(guò)5-10個(gè),否則你有可能會(huì)出錯(cuò).重新考慮這個(gè)函數(shù),將他們分割成更小的函數(shù).人的大腦通常可以很容易的記住7件不同的事情,超過(guò)這個(gè)數(shù)量會(huì)引起混亂.你知道你很聰明,但是你可能仍想去明白2周以前的做的事情.

第5章:注釋

注釋是一件很好的事情,但是過(guò)多的注釋也是危險(xiǎn)的,不要試圖區(qū)解釋你的代碼是注釋如何如何的好:你應(yīng)該將代碼寫得更好,而不是花費(fèi)大量的時(shí)間去解釋那些糟糕的代碼.

通常情況下,你的注釋是說(shuō)明你的代碼做些什么,而不是怎么做的.而且,要試圖避免將注釋插在一個(gè)函數(shù)體里:假如這個(gè)函數(shù)確實(shí)很復(fù)雜,你需要在其中有部分的注釋,你應(yīng)該回到第四章看看.你可以寫些簡(jiǎn)短的注釋來(lái)注明或警告那些你認(rèn)為特別聰明(或極其丑陋)的部分,但是你必須要避免過(guò)多.取而代之的是,將注釋寫在函數(shù)前,告訴別人它做些什么事情,和可能為什么要這樣做.

第六章:你已經(jīng)深陷其中了.

不要著急.你有可能已經(jīng)被告之"GUN emacs"會(huì)自動(dòng)的幫你處理C的源代碼格式,而且你已經(jīng)看到它確實(shí)如此,但是,缺省的情況下,它的作用還是不盡如人意(實(shí)際上,他們比隨便敲出來(lái)的東西還要難看- ainfinite number of monkeys typing into GNU emacs would never make a good program)

于是,你可以要么不要使用GUN emacs,要么讓它使用sanervalules.使用后者,你需要將如下的語(yǔ)句輸入到你的.emacs文件中.(defun linux-c-mode() "C mode with adjusted defaults for use with the Linux kernel."(interactive) (c-mode) (c-set-style"KR") (setq c-basic-offset8))

這會(huì)定義一個(gè)M-x Linux-c-mode的命令.當(dāng)你hacking一個(gè)模塊的時(shí)候,如何你將-*- linux-c -*-輸入在最開(kāi)始的兩行,這個(gè)模式會(huì)自動(dòng)起作用.而且,你也許想加入如下

(setq auto-mode-alist (cons '("/usr/src/linux.*/.*.〖ch〗$" . linux-c-mode) auto-mode-alist))

到你的.emacs文件中,這樣的話,當(dāng)你在/usr/src/linux下編輯文件的時(shí)候,它會(huì)自動(dòng)切換到linux-c-mode .

但是,假如你還不能讓emaces去自動(dòng)處理文件的格式,不要緊張,你還有一樣?xùn)|西: "縮進(jìn)" .

GNU的縮進(jìn)格式也很死板,這就是你為什么需要加上幾行命令選項(xiàng).然而,這還不算太壞,因?yàn)镚NU縮進(jìn)格式的創(chuàng)造者也記得KR的權(quán)威, (GNU沒(méi)有罪,他們僅僅是在這件事情上錯(cuò)誤的引導(dǎo)了人們) ,你要做的就只有輸入選項(xiàng)"-kr -i8"(表示"KR,縮進(jìn)8個(gè)字符).

"縮進(jìn)"有很多功能,特別是當(dāng)它建議你重新格式你的代碼的時(shí)候,你應(yīng)該看看幫助.但要記住: "縮進(jìn)"不是風(fēng)格很差的程序的萬(wàn)靈丹.

JAVA編程風(fēng)格簡(jiǎn)析

很久以來(lái)都在體會(huì)著JAVA的風(fēng)格,現(xiàn)在做一簡(jiǎn)單陳述,希望大家多提寶貴意見(jiàn)。

對(duì)于一種好的編程語(yǔ)言,學(xué)習(xí)它的編程風(fēng)格是很重要的。每種語(yǔ)言都有自己的編寫和注釋約定,當(dāng)然所有語(yǔ)言都建立在最基本的約定之上。編程中最重要的并不是讓代碼按自己希望的方式運(yùn)行,而是程序中那種自明的編程風(fēng)格(這對(duì)于程序員的益處相信眾多程序員都身有體會(huì))!但這還不夠,程序還應(yīng)該具有可讀、相對(duì)持久和可維護(hù)性。可讀性非常重要,因?yàn)槟悴幌M约阂郧暗淖髌吩谥蟮拈喿x中給自己留下障礙,當(dāng)然,更重要的是自己的程序能讓其他程序員讀懂并且修改。

下面我把工作中所理解的java風(fēng)格做一簡(jiǎn)單總結(jié),這是我所理解的好的編程風(fēng)格和應(yīng)用中我們應(yīng)當(dāng)如何使用java編寫自己的代碼的小Guide。這并不完全,希望大家?guī)臀谊懤m(xù)總結(jié)各自的經(jīng)驗(yàn)。

一般性概述

好的編程風(fēng)格固然重要,但是你一定聽(tīng)說(shuō)過(guò)一些程序員的個(gè)人風(fēng)格。其實(shí)我們完全不必為那些所謂條條框框所累,但是作為原則是我們至少不能打破這些常規(guī)。我們應(yīng)該在保持自己風(fēng)格的同時(shí)盡量的把自己與編程潛原則靠攏。

可讀性很容易達(dá)到,比如,讓自己的代碼縮排排列、名字采用描述性但不要過(guò)長(zhǎng)(短名應(yīng)僅僅用在非遠(yuǎn)程)、特殊名稱比如pi應(yīng)當(dāng)被定義為final類型。模塊性是編程需要注意的另一重點(diǎn),把代碼劃分到類里,在類中把功能劃分到方法中,別讓一個(gè)類太大,否則在使用、修改和理解上都會(huì)造成不必要的麻煩,方法也一樣,如果一個(gè)方法長(zhǎng)度超過(guò)50行,它產(chǎn)生錯(cuò)誤的概率將接近100%,盡量把大方法劃分為小方法,編程中為避免重復(fù)編寫,還應(yīng)盡量調(diào)用JAVA標(biāo)準(zhǔn)類庫(kù)。

盡量避免在寫代碼和注釋時(shí)使用不同語(yǔ)言,經(jīng)常見(jiàn)到論壇有朋友詢問(wèn)諸如在java中調(diào)用c、調(diào)用php、調(diào)用shell之類的問(wèn)題,其實(shí)在編程中,我們應(yīng)盡量使用一種語(yǔ)言去完成事情。另外就是不必最優(yōu)化自己的代碼,應(yīng)該選擇相對(duì)較優(yōu)的算法就可以了。

類、方法和fields

類應(yīng)體現(xiàn)出某種物質(zhì)的基本概念,比如要編程實(shí)現(xiàn)“汽車”的組成,那么所有的汽車都可以用類Car實(shí)現(xiàn)。這個(gè)類應(yīng)當(dāng)包括域描述、屬性描述和car的狀態(tài)(color, number of doors, age等)和由car可完成的操作(getColor, setColor等)。為了提高類的可重用性,不要在類中有過(guò)多的描述,當(dāng)然這也會(huì)增加錯(cuò)誤產(chǎn)生的機(jī)會(huì)。

類名首字母大寫,比如Date, String, Hashtable等 ... ...

類如下定義:(未使用Javadoc做注釋):

public class Car {

/* Instance variables are placed either in the beginning

or at the end of the class */

private int age;

private Color color;

/* The constructor should be placed in the beginning */

public Car(int age, Color color) {

this.age = age;

this.color = color;

}

/* Example method */

public int getAge() {

return age;

}

/* The main method is optional, but looks like this.

If it exists, it is either the first or the last

method in the class */

public static void main(String [] args) {

...

}

}

注意類名和大括號(hào)間的空格!

方法

方法一般定義為public。當(dāng)然,如果方法僅僅在當(dāng)前類用到可以定義為private,而如果希望一個(gè)子類沿用這個(gè)方法則不同,這時(shí)候的方法應(yīng)定義為protected。

java中的方法定義很有趣,它們一般小寫字母開(kāi)頭,如果有兩個(gè)字組成,第二個(gè)字的首字母則大寫。因此名字的描述性是至關(guān)重要的。這使你不用閱讀整篇代碼來(lái)判斷這是一個(gè)什么方法。在給自己的方法取名時(shí)應(yīng)盡量不要太短或者太長(zhǎng),另一個(gè)需要注意的是大多方法使用動(dòng)詞(動(dòng)賓短語(yǔ))。

例如:

public void eat() {}

public void eatBananas() {}

Selector(選擇器)方法有g(shù)et前綴,后綴是它們將要get的,比如

public int getBananas() {}

Mutator(存取器)方法則有set前綴,后綴則是他們要set的,比如

public void setBananas(int amount) {}

注意mutators大多無(wú)返回值。

方法的參數(shù)應(yīng)當(dāng)以如下方式給出:

public void aMethod(type parameter1, type parameter2, ... , type parametern) {}

如果參數(shù)過(guò)長(zhǎng),也可以斷開(kāi)為幾行,應(yīng)對(duì)齊向下排列如:

public void aMethod(type parameter1, type parameter2,... ,

type parametern, type parameter n+1,... ,

type parameterm, type parameter m+1) {}

另外要注意類的左束括號(hào)應(yīng)在方法的右束括號(hào)之后而非下一行:

public int aMethod() {

int i = 0;

if(i == 0)

System.out.println("success!");

}

為了文件可讀性好,還要注意語(yǔ)句最好寫在同一行,當(dāng)然一行寫不下是可以斷行的,比如行字母超過(guò)80。

fields

比如變量,如果不希望它永久有效,應(yīng)設(shè)為private。如果一個(gè)變量在類中不發(fā)生任何動(dòng)作(比如數(shù)據(jù)結(jié)構(gòu)中的node)則可以設(shè)置為public,常量一般聲明為public。如果不能確定一個(gè)變量到底該聲明為什么,應(yīng)暫且聲明為private。

field的名字一般使用小寫字母,不要使用下橫線或其他特殊字符。 如果變量包含兩個(gè)字,那么第二個(gè)字的首字母大寫。比如:

int i, j, k;

Date date;

double myField;

常量一般全部大寫,也可以包含下橫線:

public static final int MAX_SIZE_OF_DATABASE

fields的名字通常為名詞。較重要的fields更應(yīng)具備描述性,比如程序中包含一個(gè)游戲的得分,那可以用score來(lái)代表。如果變量變化較頻繁,那使用一個(gè)單一字符來(lái)代表就ok了:

i, j, k 通常代表整數(shù)

r, t, u, v, w 通常代表實(shí)數(shù)

x, y, z 通常是并列出現(xiàn)或代表浮點(diǎn)數(shù)

s, s1, s2, 通常代表字符串

c, ch 通常代表字符

f, file 通常代表文件

tmp, temp 通常代表臨時(shí)變量

ctr, cnt, cntr 一般代表計(jì)數(shù)器(如果i, j, k這些變量已被使用)

dummy, foo, bar 一般代表啞元變量

args 是main-method的主參數(shù)名

縮排與換行

每行長(zhǎng)度不得超過(guò)80字符。如果需要可以折行時(shí),也應(yīng)當(dāng)與上一行有共同的縮排距離。代碼應(yīng)如何交錯(cuò)、如何建立新行、在哪里建立允許、哪里不允許都有一些一般約定,縮排空格一般為2個(gè)或4個(gè)空格。

條件表達(dá)式

如果見(jiàn)到如下語(yǔ)法表達(dá)式:

if (expr)

statement1;

else

statement2;

代碼行向右錯(cuò)排兩個(gè)空格如上所示。

如果在一個(gè)表達(dá)式中有超過(guò)一條的聲明,則需要大括號(hào):

if (expr){

statement1;

statement2;

} else{

statement3;

statement4;

}

有時(shí)我們會(huì)希望在表達(dá)式中使用表達(dá)式(比如條件嵌套),這時(shí)應(yīng)注意else表達(dá)式,它的位置很容易出錯(cuò)!如例:

if (expr1) {

statement1;

statement2;

} else if (expr2)

statement3;

else if (expr3) {

statement4;

statement5;

} else {

statement6;

statement7;

}

注意大括號(hào)位置!

Loops

while-loop語(yǔ)法如下:

while (expr) {

statement1;

statement2;

}

for-loop語(yǔ)法如下:

for (expr1; expr2; expr3){

statement1;

statement2;

}

注意大括號(hào)位置!僅一條聲明時(shí)大括號(hào)省略:

while (expr)

statement;

for (expr1; expr2; expr3)

statement;

例如,我們寫一個(gè)procedure寫出1到10這十個(gè)數(shù)字:

for (i = 1; i = 10; i++)

System.out.println(i);

try-catch語(yǔ)法形如:

try {

statements;

} catch (ExceptionClass e) {

statements;

}

如果try-catch語(yǔ)句后跟隨finally子句則形如:

try {

statements;

} catch (ExceptionClass e) {

statements;

} finally {

statements;

}

新行

每一行最好只闡述一件事情。比如,一行包含一個(gè)聲明、一個(gè)條件語(yǔ)句、一個(gè)循環(huán)等。不論多小,最好不要一行辦兩件事及以上。例如不要把一個(gè)if表達(dá)式或循環(huán)語(yǔ)句的主體放置在同一行,這樣的表達(dá)式斷行的易讀性會(huì)更高。通常,互相協(xié)作的代碼應(yīng)放在一起,為保證代碼美觀可讀,我們應(yīng)將代碼的不同代碼段放置在不同的段落。不過(guò)要牢記斷行不要太過(guò)分!比如:

public int factorial(int n) {

int result = 1;

for(int i = 1; i = n; i++)

result*=i;

return result;

}

給自己的代碼加入注釋

注釋就是類的描繪、方法存在的原因、它完成了什么以及它對(duì)它其中(變量)的作用域。假定閱讀你代碼的人已經(jīng)知道這是什么語(yǔ)言,所以不需要注釋語(yǔ)句功能,盡量使用簡(jiǎn)短而有描述力的注釋。

Java有兩種類型的注釋:

//This is a comment that continues until the end of the line.

/* This is a comment. It goes on and on and on and on and on and on and on

and on and on and on and on and on and on and on and on and on and on and

on and on and on and on and on and on and on and on and ends like this: */

/**

* This is a JavaDoc comment. More about JavaDoc in the next section.

*/

如果在注釋中加入注釋則會(huì)出錯(cuò):

/* You are not allowed to do anything like this /* because the compiler will

complain, if you are lucky */ DON'T DO THIS! And don't write comments in

upper case either... */

注釋應(yīng)放在它要解釋內(nèi)容上下,這樣會(huì)讓代碼更易于理解。

不要注釋一些語(yǔ)言的語(yǔ)句功能:

i++; // Add 1 to i

更不要讓自己的代碼處于這種狀態(tài):

for(int i = 1; i = n; i++)

/* don't place comments where

they don't belong */

result*=i;

較短的注釋既可被放在被注釋代碼上下,而長(zhǎng)注釋則習(xí)慣性的放在代碼之上:

/* Comments can be placed before the

block that is to be commented */

for(int i = 1; i = n; i++)

result*=i;

或者:

for(int i = 1; i = n; i++){

result*=i; // short comments can be placed like this

tmp++; // if necessary, they continue here

}

不要寫沒(méi)用的注釋:

i++; // change this later

Excuse me,這句肯定是胡扯!

不要寫自己都看不懂的注釋:

i++; // BMW

BMW? 如果你能連續(xù)十天記住這是什么意思的話,那么你的記憶真是不錯(cuò)了。所以不要寫沒(méi)人能看懂的注釋,ok?

最后重申一下:寫簡(jiǎn)短而富于描述性的注釋,把它們放在該放的地方,而不要考驗(yàn)?zāi)阕约旱挠洃浟Γ?/p>

JavaDoc - 文檔工具

JavaDoc不僅是另一種給代碼加注釋的仿佛咱,更是一個(gè)文檔工具。類、方法和一些重要地方需要用JavaDoc來(lái)注釋。這并不是說(shuō)你可以放棄常規(guī)的注釋,這兩者在代碼中應(yīng)該是相輔相成、互相彌補(bǔ)的關(guān)系。

類被注釋如:

/**

* Car represents cars ... A description of the class

* should be place here. Note that the description begins

* on the second line and that there is a space between

* the asterix and the text. Next we will add some fields

* indicating who the authors of the class are and

* other useful information. Notice the newline!

*

* @author Jerry Meng

* @version %I%, %G%

*/

public class Car {

注意JavaDoc結(jié)束和類開(kāi)始間無(wú)空行。

方法被注釋如:

/**

* A description of what the method does...

*

* @param n a description of the parameter

* @return a description of the return value

*/

public int factorial(int n) {

某些不是全部,被JavaDoc注釋區(qū)域如:

/**

* Short description of the variable (one line)

*/

type variable;

什么應(yīng)當(dāng)使用JavaDoc做注釋?如何注釋的恰當(dāng)呢?

可以這樣想,JavaDoc中所作的注釋都可以在類的文檔中看到。所有讀這個(gè)類的文檔的讀者都會(huì)明白這個(gè)類所完成的功能、它包括的方法、如何使用這些方法及方法的返回值。一些作用域,比如public的變量或常量將會(huì)一目了然。任何不了解這個(gè)類內(nèi)部結(jié)構(gòu)的人都可以輕松的調(diào)用它。這便是你用JavaDoc可以輕松提供的信息。而使用一般注釋的地方,一般是給那些可能修改你的類代碼的程序員,它們一般描述了類的內(nèi)部信息和結(jié)構(gòu)。

下面我寫一下car的類來(lái)描述一個(gè)編程風(fēng)格好的java類應(yīng)該是怎樣的。當(dāng)然這僅僅是一個(gè)小例子(apart from selector and mutator methods),僅僅是在考慮JAVA編程風(fēng)格上一個(gè)參考而已。

import java.awt.Color;

/**

* This is a class representing cars. A car has certain features, such

* as color, age, number of doors etc and a car can be repainted,

* the tank can be filled etc.

*

* @author Jerry Meng

* @version %I%, %G%

*/

public class Car {

/**

* The maximum size of the tank in litres.

*/

private static final double TANK_SIZE = 100.0;

/**

* The color of the car.

*/

private Color color;

/**

* The age of the car.

*/

private int age;

/**

* The number of doors of the car.

*/

private int doors;

/**

* The amount of gasoline in the tank.

*/

private double gasoline;

/**

* Class constructor, which constructs a brand new, black car with

* five doors and a full tank.

*/

public Car() {

this(Color.black, 0, 5, TANK_SIZE);

}

/**

* Class constructor specifying the color, age, number of doors

* and litres of gasoline

*

* @param color The color of the car

* @param age The age of the car

* @param doors The number of doors

* @param km Kilometres driven

* @param gasoline The litres of gasoline

*/

public Car(Color color, int age, int doors, double gasoline) {

this.color = color;

this.age = age;

this.doors = doors;

this.gasoline = gasoline;

}

/**

* Returns the color of the car

*/

public Color getColor() {

return color;

}

/**

* Repaints the car (i.e. changes its color)

*/

public void setColor(Color color) {

this.color = color;

}

/**

* Returns the age of the car

*/

public int getAge() {

return age;

}

/**

* Returns the number of doors of the car

*/

public int getDoors() {

return doors;

}

/**

* Returns the amount of gasoline in the tank

*/

public double getGasoline() {

return gasoline;

}

/**

* Fills the tank. The amount of gasoline cannot exceed

* the size of the tank. In that case, the tank will be

* filled to the maximum and the rest will run out in

* the sand.

*

* @param gas The amount of gasoline to put in the tank

*/

public void setGasoline(double gas) {

if(gasoline + gas = TANK_SIZE)

gasoline+=gas;

else

gasoline = TANK_SIZE;

}

}

linux grep命令詳解

簡(jiǎn)介

grep (global search regular expression(RE) and print out the line,全面搜索正則表達(dá)式并把行打印出來(lái))是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來(lái)。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴(kuò)展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說(shuō),正則表達(dá)式中的元字符表示回其自身的字面意義,不再特殊。linux使用GNU版本的grep。它功能更強(qiáng),可以通過(guò)-G、-E、-F命令行選項(xiàng)來(lái)使用egrep和fgrep的功能。

grep常用用法

[root@www ~]#grep[-acinv] [--color=auto]'搜尋字符串' filename

選項(xiàng)與參數(shù):-a :將 binary 文件以 text 文件的方式搜尋數(shù)據(jù)-c :計(jì)算找到'搜尋字符串' 的次數(shù)-i :忽略大小寫的不同,所以大小寫視為相同-n :順便輸出行號(hào)-v :反向選擇,亦即顯示出沒(méi)有'搜尋字符串' 內(nèi)容的那一行!--color=auto :可以將找到的關(guān)鍵詞部分加上顏色的顯示喔!

將/etc/passwd,有出現(xiàn) root 的行取出來(lái)

# greproot /etc/passwdroot:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

或# cat/etc/passwd|grep root

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

將/etc/passwd,有出現(xiàn) root 的行取出來(lái),同時(shí)顯示這些行在/etc/passwd的行號(hào)

#grep-n root /etc/passwd1:root:x:0:0:root:/root:/bin/bash30:operator:x:11:0:operator:/root:/sbin/nologin

在關(guān)鍵字的顯示方面,grep 可以使用 --color=auto 來(lái)將關(guān)鍵字部分使用顏色顯示。 這可是個(gè)很不錯(cuò)的功能啊!但是如果每次使用 grep 都得要自行加上 --color=auto 又顯的很麻煩~ 此時(shí)那個(gè)好用的 alias 就得來(lái)處理一下啦!你可以在 ~/.bashrc 內(nèi)加上這行:『alias grep='grep --color=auto'』再以『 source ~/.bashrc 』來(lái)立即生效即可喔! 這樣每次運(yùn)行 grep 他都會(huì)自動(dòng)幫你加上顏色顯示啦

將/etc/passwd,將沒(méi)有出現(xiàn) root 的行取出來(lái)

#grep-v root /etc/passwdroot:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

將/etc/passwd,將沒(méi)有出現(xiàn) root 和nologin的行取出來(lái)

#grep-v root /etc/passwd|grep-v nologin

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

用 dmesg 列出核心信息,再以 grep 找出內(nèi)含 eth 那行,要將捉到的關(guān)鍵字顯色,且加上行號(hào)來(lái)表示:

[root@www ~]# dmesg |grep-n --color=auto'eth'247:eth0: RealTek RTL8139 at0xee846000,00:90:cc:a6:34:84, IRQ10248:eth0: Identified8139chip type'RTL-8139C'294:eth0: link up, 100Mbps, full-duplex, lpa0xC5E1305:eth0: no IPv6 routers present

# 你會(huì)發(fā)現(xiàn)除了 eth 會(huì)有特殊顏色來(lái)表示之外,最前面還有行號(hào)喔!

在關(guān)鍵字的顯示方面,grep 可以使用 --color=auto 來(lái)將關(guān)鍵字部分使用顏色顯示。 這可是個(gè)很不錯(cuò)的功能啊!但是如果每次使用 grep 都得要自行加上 --color=auto 又顯的很麻煩~ 此時(shí)那個(gè)好用的 alias 就得來(lái)處理一下啦!你可以在 ~/.bashrc 內(nèi)加上這行:『alias grep='grep --color=auto'』再以『 source ~/.bashrc 』來(lái)立即生效即可喔! 這樣每次運(yùn)行 grep 他都會(huì)自動(dòng)幫你加上顏色顯示啦

用 dmesg 列出核心信息,再以 grep 找出內(nèi)含 eth 那行,在關(guān)鍵字所在行的前兩行與后三行也一起捉出來(lái)顯示

[root@www ~]# dmesg |grep-n -A3 -B2 --color=auto'eth'245-PCI: setting IRQ10as level-triggered246-ACPI: PCI Interrupt0000:00:0e.0[A] - Link [LNKB] ...247:eth0: RealTek RTL8139 at0xee846000,00:90:cc:a6:34:84, IRQ10248:eth0: Identified8139chip type'RTL-8139C'249-input: PC Speaker as /class/input/input2250-ACPI: PCI Interrupt0000:00:01.4[B] - Link [LNKB] ...251-hdb: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(66)

# 如上所示,你會(huì)發(fā)現(xiàn)關(guān)鍵字 247所在的前兩行及248 后三行也都被顯示出來(lái)!

# 這樣可以讓你將關(guān)鍵字前后數(shù)據(jù)捉出來(lái)進(jìn)行分析啦!

根據(jù)文件內(nèi)容遞歸查找目錄

#grep‘energywise’ *? ? ? ? ? #在當(dāng)前目錄搜索帶'energywise'行的文件

# grep-r ‘energywise’ *? ? ? ? #在當(dāng)前目錄及其子目錄下搜索'energywise'行的文件

# grep-l -r ‘energywise’ *? ? #在當(dāng)前目錄及其子目錄下搜索'energywise'行的文件,但是不顯示匹配的行,只顯示匹配的文件

這幾個(gè)命令很使用,是查找文件的利器。

grep與正規(guī)表達(dá)式

字符類

字符類的搜索:如果我想要搜尋 test 或 taste 這兩個(gè)單字時(shí),可以發(fā)現(xiàn)到,其實(shí)她們有共通的 't?st' 存在~這個(gè)時(shí)候,我可以這樣來(lái)搜尋:

[root@www ~]#grep-n't[ae]st' regular_express.txt8:I can't finish the test.9:Oh! The soup taste good.

其實(shí) [] 里面不論有幾個(gè)字節(jié),他都謹(jǐn)代表某『一個(gè)』字節(jié), 所以,上面的例子說(shuō)明了,我需要的字串是『tast』或『test』兩個(gè)字串而已!

字符類的反向選擇 [^] :如果想要搜索到有 oo 的行,但不想要 oo 前面有 g,如下

[root@www ~]#grep-n'[^g]oo' regular_express.txt2:apple is my favorite food.3:Football game is not use feet only.18:google is the best toolsfor search keyword.19:goooooogle yes!

第 2,3 行沒(méi)有疑問(wèn),因?yàn)?foo 與 Foo 均可被接受!

但是第 18 行明明有 google 的 goo 啊~別忘記了,因?yàn)樵撔泻竺娉霈F(xiàn)了 tool 的 too 啊!所以該行也被列出來(lái)~ 也就是說(shuō), 18 行里面雖然出現(xiàn)了我們所不要的項(xiàng)目 (goo) 但是由於有需要的項(xiàng)目 (too) , 因此,是符合字串搜尋的喔!

至於第 19 行,同樣的,因?yàn)?goooooogle 里面的 oo 前面可能是 o ,例如: go(ooo)oogle ,所以,這一行也是符合需求的!

字符類的連續(xù):再來(lái),假設(shè)我 oo 前面不想要有小寫字節(jié),所以,我可以這樣寫 [^abcd....z]oo , 但是這樣似乎不怎么方便,由於小寫字節(jié)的 ASCII 上編碼的順序是連續(xù)的, 因此,我們可以將之簡(jiǎn)化為底下這樣:

[root@www ~]#grep-n'[^a-z]oo' regular_express.txt3:Football game is not use feet only.

也就是說(shuō),當(dāng)我們?cè)谝唤M集合字節(jié)中,如果該字節(jié)組是連續(xù)的,例如大寫英文/小寫英文/數(shù)字等等, 就可以使用[a-z],[A-Z],[0-9]等方式來(lái)書寫,那么如果我們的要求字串是數(shù)字與英文呢? 呵呵!就將他全部寫在一起,變成:[a-zA-Z0-9]。

我們要取得有數(shù)字的那一行,就這樣:

[root@www ~]#grep-n'[0-9]' regular_express.txt5:However, this dress is about $3183 dollars.15:You are the best is mean you are the no.1.

行首與行尾字節(jié) ^ $

行首字符:如果我想要讓 the 只在行首列出呢? 這個(gè)時(shí)候就得要使用定位字節(jié)了!我們可以這樣做:

[root@www ~]#grep-n'^the' regular_express.txt12:the symbol'*'is represented as start.

此時(shí),就只剩下第 12 行,因?yàn)橹挥械?12 行的行首是 the 開(kāi)頭啊~此外, 如果我想要開(kāi)頭是小寫字節(jié)的那一行就列出呢?可以這樣:

[root@www ~]#grep-n'^[a-z]' regular_express.txt2:apple is my favorite food.4:this dress doesn't fit me.10:motorcycle is cheap than car.12:the symbol'*' is represented as start.18:google is the best toolsfor search keyword.19:goooooogle yes!20:go! go! Let's go.

如果我不想要開(kāi)頭是英文字母,則可以是這樣:

[root@www ~]#grep-n'^[^a-zA-Z]' regular_express.txt1:"Open Source" is a good mechanism to develop programs.21:# I am VBird

^ 符號(hào),在字符類符號(hào)(括號(hào)[])之內(nèi)與之外是不同的! 在 [] 內(nèi)代表『反向選擇』,在 [] 之外則代表定位在行首的意義!

那如果我想要找出來(lái),行尾結(jié)束為小數(shù)點(diǎn) (.) 的那一行:

[root@www ~]#grep-n'\.$' regular_express.txt1:"Open Source" is a good mechanism to develop programs.2:apple is my favorite food.3:Football game is not use feet only.4:this dress doesn't fit me.10:motorcycle is cheap than car.11:This window isclear.12:the symbol'*' is represented as start.15:You are the best is mean you are the no.1.16:The world is the same with"glad".17:I like dog.18:google is the best toolsfor search keyword.20:go! go! Let's go.

特別注意到,因?yàn)樾?shù)點(diǎn)具有其他意義(底下會(huì)介紹),所以必須要使用轉(zhuǎn)義字符(\)來(lái)加以解除其特殊意義!

找出空白行:

[root@www ~]#grep-n'^$' regular_express.txt22:

因?yàn)橹挥行惺赘形?(^$),所以,這樣就可以找出空白行啦!

任意一個(gè)字節(jié) . 與重復(fù)字節(jié) *

這兩個(gè)符號(hào)在正則表達(dá)式的意義如下:

. (小數(shù)點(diǎn)):代表『一定有一個(gè)任意字節(jié)』的意思;* (星號(hào)):代表『重復(fù)前一個(gè)字符,0到無(wú)窮多次』的意思,為組合形態(tài)

假設(shè)我需要找出 g??d 的字串,亦即共有四個(gè)字節(jié), 起頭是 g 而結(jié)束是 d ,我可以這樣做:

[root@www ~]#grep-n'g..d' regular_express.txt1:"Open Source" is a good mechanism to develop programs.9:Oh! The soup taste good.16:The world is the same with"glad".

因?yàn)閺?qiáng)調(diào) g 與 d 之間一定要存在兩個(gè)字節(jié),因此,第 13 行的 god 與第 14 行的 gd 就不會(huì)被列出來(lái)啦!

如果我想要列出有 oo, ooo, oooo 等等的數(shù)據(jù), 也就是說(shuō),至少要有兩個(gè)(含) o 以上,該如何是好?

因?yàn)?* 代表的是『重復(fù) 0 個(gè)或多個(gè)前面的 RE 字符』的意義, 因此,『o*』代表的是:『擁有空字節(jié)或一個(gè) o 以上的字節(jié)』,因此,『 grep -n 'o*' regular_express.txt 』將會(huì)把所有的數(shù)據(jù)都列印出來(lái)終端上!

當(dāng)我們需要『至少兩個(gè) o 以上的字串』時(shí),就需要 ooo* ,亦即是:

[root@www ~]#grep-n'ooo*' regular_express.txt1:"Open Source" is a good mechanism to develop programs.2:apple is my favorite food.3:Football game is not use feet only.9:Oh! The soup taste good.18:google is the best toolsfor search keyword.19:goooooogle yes!

如果我想要字串開(kāi)頭與結(jié)尾都是 g,但是兩個(gè) g 之間僅能存在至少一個(gè) o ,亦即是 gog, goog, gooog.... 等等,那該如何?

[root@www ~]#grep-n'goo*g' regular_express.txt18:google is the best toolsfor search keyword.19:goooooogle yes!

如果我想要找出 g 開(kāi)頭與 g 結(jié)尾的行,當(dāng)中的字符可有可無(wú)

[root@www ~]#grep-n'g.*g' regular_express.txt1:"Open Source" is a good mechanism to develop programs.14:The gd software is a libraryfor drafting programs.18:google is the best toolsfor search keyword.19:goooooogle yes!20:go! go! Let's go.

因?yàn)槭谴?g 開(kāi)頭與 g 結(jié)尾,中間任意字節(jié)均可接受,所以,第 1, 14, 20 行是可接受的喔! 這個(gè) .* 的 RE 表示任意字符是很常見(jiàn)的.

如果我想要找出『任意數(shù)字』的行?因?yàn)閮H有數(shù)字,所以就成為:

[root@www ~]#grep-n'[0-9][0-9]*' regular_express.txt5:However, this dress is about $3183 dollars.15:You are the best is mean you are the no.1.

限定連續(xù) RE 字符范圍 {}

我們可以利用 . 與 RE 字符及 * 來(lái)配置 0 個(gè)到無(wú)限多個(gè)重復(fù)字節(jié), 那如果我想要限制一個(gè)范圍區(qū)間內(nèi)的重復(fù)字節(jié)數(shù)呢?

舉例來(lái)說(shuō),我想要找出兩個(gè)到五個(gè) o 的連續(xù)字串,該如何作?這時(shí)候就得要使用到限定范圍的字符 {} 了。 但因?yàn)?{ 與 } 的符號(hào)在 shell 是有特殊意義的,因此, 我們必須要使用字符 ? \ 來(lái)讓他失去特殊意義才行。 至於 {} 的語(yǔ)法是這樣的,假設(shè)我要找到兩個(gè) o 的字串,可以是:

[root@www ~]#grep-n'o\{2\}' regular_express.txt1:"Open Source" is a good mechanism to develop programs.2:apple is my favorite food.3:Football game is not use feet only.9:Oh! The soup taste good.18:google is the best toolsfor search ke19:goooooogle yes!

假設(shè)我們要找出 g 后面接 2 到 5 個(gè) o ,然后再接一個(gè) g 的字串,他會(huì)是這樣:

[root@www ~]#grep-n'go\{2,5\}g' regular_express.txt18:google is the best toolsforsearch keyword.

如果我想要的是 2 個(gè) o 以上的 goooo....g 呢?除了可以是 gooo*g ,也可以是:

[root@www ~]#grep-n'go\{2,\}g' regular_express.txt18:google is the best toolsfor search keyword.19:goooooogle yes!

擴(kuò)展grep(grep -E 或者 egrep):

使用擴(kuò)展grep的主要好處是增加了額外的正則表達(dá)式元字符集。

打印所有包含NW或EA的行。如果不是使用egrep,而是grep,將不會(huì)有結(jié)果查出。

#egrep'NW|EA' testfile? ?

northwest? ? ? NW? ? ? Charles Main? ? ? ? 3.0.98334? ? eastern? ? ? ? EA? ? ? TB Savage? ? ? ? ? 4.4.84520

對(duì)于標(biāo)準(zhǔn)grep,如果在擴(kuò)展元字符前面加\,grep會(huì)自動(dòng)啟用擴(kuò)展選項(xiàng)-E。

#grep'NW\|EA' testfile

northwest? ? ? NW? ? ? Charles Main? ? ? ? 3.0.98334eastern? ? ? ? EA? ? ? TB Savage? ? ? ? ? 4.4.84520

搜索所有包含一個(gè)或多個(gè)3的行。

#egrep'3+' testfile

# grep-E'3+' testfile

# grep'3\+' testfile? ? ? ?

#這3條命令將會(huì)

northwest? ? ? NW? ? ? Charles Main? ? ? ? ? 3.0.98334western? ? ? ? WE? ? ? Sharon Gray? ? ? ? ? 5.3.97523northeast? ? ? NE? ? ? AM Main Jr.? ? ? ? ? 5.1.94313central? ? ? ? CT? ? ? Ann Stephens? ? ? ? ? 5.7.94513

搜索所有包含0個(gè)或1個(gè)小數(shù)點(diǎn)字符的行。

#egrep'2\.?[0-9]' testfile

# grep-E'2\.?[0-9]' testfile

# grep'2\.\?[0-9]' testfile

#首先含有2字符,其后緊跟著0個(gè)或1個(gè)點(diǎn),后面再是0和9之間的數(shù)字。

western? ? ? ? WE? ? ? Sharon Gray? ? ? ? ? 5.3.97523southwest? ? ? SW? ? ? Lewis Dalsass? ? ? ? 2.7.8218eastern? ? ? ? EA? ? ? TB Savage? ? ? ? ? ? 4.4.84520

搜索一個(gè)或者多個(gè)連續(xù)的no的行。

#egrep'(no)+' testfile

# grep-E'(no)+' testfile

# grep'\(no\)\+' testfile? #3個(gè)命令返回相同結(jié)果,

northwest? ? ? NW? ? ? Charles Main? ? ? ? 3.0.98334northeast? ? ? NE? ? ? AM Main Jr.? ? ? ? 5.1.94313north? ? ? ? ? NO? ? ? Margot Weber? ? ? ? 4.5.8959

不使用正則表達(dá)式

fgrep 查詢速度比grep命令快,但是不夠靈活:它只能找固定的文本,而不是規(guī)則表達(dá)式。

如果你想在一個(gè)文件或者輸出中找到包含星號(hào)字符的行

fgrep? '*' /etc/profile

for i in /etc/profile.d/*.sh ; do

grep -F '*' /etc/profile

for i in /etc/profile.d/*.sh ; do

linux 使用【vi /etc/app_car/php】 編輯后 使用【:wq】退出時(shí)出現(xiàn)沒(méi)有該文件的錯(cuò)誤提示

懷疑你沒(méi)有權(quán)限!

能貼出圖來(lái),問(wèn)題會(huì)更容易解決。

請(qǐng)ls /etc/app_cat 貼出看一下.

怎么才能打開(kāi)后輟名為.car的文件,

文件擴(kuò)展名為“.car”的格式是一種壓縮格式。car文件是組件的應(yīng)用程序資源的文件,用于BREW移動(dòng)平臺(tái)的程序開(kāi)發(fā)、描述無(wú)形轉(zhuǎn)化為可執(zhí)行的應(yīng)用程序。可使用不同系統(tǒng)(如Mac OS, Windows, Linux)下的CAR Archiver 和 CAR Compressor 打開(kāi)/解壓縮。 

linux 修改當(dāng)前目錄包含子目錄 下 aaa 開(kāi)頭的目錄名及文件名 替換為 bbb開(kāi)頭目錄名及文件名?

用find+exec命令結(jié)合rename命令可實(shí)現(xiàn)文件名“部分替換”

因?yàn)榇嬗心夸浀奶鎿Q,目錄替換后,就無(wú)法繼續(xù)搜索原目錄了,所以,需要多次執(zhí)行才能完成所有目錄的替換。

while?[?1?]

do

find?.?-name?"aaa*"?-exec?rename?aaa?bbb?{}?\;

if?[?$??-eq?0?]??#如果替換中有錯(cuò)誤,則上面命令執(zhí)行結(jié)果會(huì)返回非0

then

break;

fi

done

#注意,此命令缺陷是,當(dāng)同一目錄下,有aaa123文件,也有bbb123文件,則原bbb123文件將會(huì)被aaa123所覆蓋!!

rename命令格式說(shuō)明:

rename?from?to?file...

第一個(gè)參數(shù)from:被替換掉的字符串

第二個(gè)參數(shù)to:替換成的字符串

第三個(gè)參數(shù)file:匹配要替換的文件模式 ? ?可以是單文件,也可以是匹配模式(多文件,如aaa* ? aaa? ? aaa?? ) *匹配多字符, ?匹配單字符

linux車機(jī)怎么安裝carplay

一共兩個(gè)步驟:

第一步:

首先準(zhǔn)備一個(gè)8G的U盤;接下來(lái),在網(wǎng)上找到最新版本CarLife的系統(tǒng)文件,并放在U盤里;然后將U盤連接車機(jī)系統(tǒng),將下載好的CarLife系統(tǒng)安裝到車機(jī)中。

第二步:

在安裝好車機(jī)端的CarLife后,將手機(jī)端的USB連接到汽車上,打開(kāi)汽車上的百度CarLife;找到手機(jī)上桌面的設(shè)置選項(xiàng),選擇并打開(kāi)設(shè)置菜單選項(xiàng);選擇USB調(diào)試模式,打開(kāi)開(kāi)發(fā)者選項(xiàng)和USB調(diào)試,然后提示是否允許調(diào)試,點(diǎn)擊允許即可;usb調(diào)試完成后就能連接成功,退出設(shè)置打開(kāi)軟件允許即可。

分享題目:car命令linux CAR程序
網(wǎng)站地址:http://chinadenli.net/article18/hpeddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名自適應(yīng)網(wǎng)站網(wǎng)站改版App設(shè)計(jì)網(wǎng)站維護(hù)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)