当前位置: 首页 > news >正文

小孩做阅读的网站有哪些在线直播免费服务器

小孩做阅读的网站有哪些,在线直播免费服务器,常州装修网站建设公司,百度一下网页标识符定义给包,类,方法,变量起名字的符号。组成规则标识符由字母、数字、下划线、美元符号组成。命名原则:见名知意包名#xff1a;全部小写,多级包用.隔开。举例#xff1a;com.jourwon类、接口#xff1a;一个单词首字母大写#xff0c;多个单词每个单词的首字母大写。举…标识符定义给包,类,方法,变量起名字的符号。组成规则标识符由字母、数字、下划线、美元符号组成。命名原则:见名知意包名全部小写,多级包用.隔开。举例com.jourwon类、接口一个单词首字母大写多个单词每个单词的首字母大写。举例Student,Car,HelloWorld方法和变量一个单词首字母小写多个单词从第二个单词开始每个单词的首字母大写。举例age,maxAge,show(),getAge()常量如果是一个单词,所有字母大写如果是多个单词,所有的单词大写,用下划线区分每个单词。举例DATE,MAX_AGE项目名全部用小写字母多个单词之间用横杆-分割。举例demospring-boot注意事项不能以数字开头不能是Java中的关键字Java标识符大小写敏感长度无限制标识符不能包含空格关键字定义被Java语言赋予了特殊含义用作专门用途的字符串(单词)这些关键字不能用于常量、变量、和任何标识符的名称。Java关键字(Java 8版本)Java关键字(Java 8版本)Java关键字(Java 8 以后版本)Java关键字(Java 8 以后版本)注意事项truefalse和null看起来像关键字但它们实际上是文字; 您不能在程序中将它们用作标识符。注释定义用于解释说明程序的文字分类单行注释格式 // 注释文字多行注释格式 /* 注释文字 */文档注释格式/** 注释文字 */作用在程序中尤其是复杂的程序中适当地加入注释可以增加程序的可读性有利于程序的修改、调试和交流。注释的内容在程序编译的时候会被忽视不会产生目标代码注释的部分不会对程序的执行结果产生任何影响。注意事项多行和文档注释都不能嵌套使用。访问修饰符定义Java中可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。分类private : 在同一类内可见。使用对象变量、方法。 注意不能修饰类(外部类)default (即缺省什么也不写不使用任何关键字): 在同一包内可见不使用任何修饰符。使用对象类、接口、变量、方法。protected : 对同一包内的类和所有子类可见。使用对象变量、方法。 注意不能修饰类(外部类)。public : 对所有类可见。使用对象类、接口、变量、方法访问修饰符图访问修饰符图分隔符定义空格、逗号、分号以及行结束符都被称为分隔符规定任意两个相邻标识符、数字、保留字或语句之间必须至少有一个分隔符以便程序编译时能够识别。分类; 分号 用来终止一个语句{} 花括号、大括号 用来包括自动初始化的数组的值也用来定义程序块、类、方法以及局部范围[] 方括号、中括号 用来声明数组的类型也用来表示撤消对数组值的引用, 逗号 在变量声明中区分变量说明的各个变量。在for控制语句中用来将圆括号内的语句连接起来. 原点 用来将软件包的名字与它的子包或类分隔。也用来将引用变量与变量或方法分隔() 圆括号 在定义和调用方法时用来容纳参数表。在控制语句或强制类型转换组成的表达式中用来表示执行或计算的优先权注意事项必须都是半角下的英文符号。转义字符定义转义字符是一种特殊的字符常量。转义字符以反斜线开头后跟一个或几个字符。转义字符具有特定的含义不同于字符原有的意义故称“转义”字符。常见转义字符表常见转义字符表Java中需要转义的字符在Java中不管是String.split()还是正则表达式有一些特殊字符需要转义这些字符是( [ { / ^ - $ ¦ } ] ) ? * .转义方法为字符前面加上\这样在split、replaceAll时就不会报错。不过要注意String.contains()方法不需要转义。空行空白行或者有注释的行Java编译器都会忽略掉进制定义进制也就是进位计数制是人为定义的带进位的计数方法。十进制是逢十进一十六进制是逢十六进一二进制就是逢二进一以此类推x进制就是逢x进位。常用进制类型二进制计算机底层都是使用二进制进行存储以及运算0b****;(以0b或者0B开始*表示0或1)比如010101原码、反码、补码原码原码将一个整数转换成二进制表示以 int 类型为例int类型占4个字节、共32位。例如2 的原码为00000000 00000000 00000000 00000010-2的原码为10000000 00000000 00000000 00000010反码反码正数的反码与原码相同负数的反码原码的符号位不变其他位取反例如-2 的反码为11111111 11111111 11111111 11111101补码补码正数的补码与原码相同负数的补码反码1例如-2 的补码为01111111 11111111 11111111 11111110注意事项二进制的最高位是符号位(“0”代表正数“1”代表负数)Java中没有无符号数计算机以整数的补码进行运算八进制0****(以数字0开始*表示0到7任意数字 比如012345)十进制0~9组成 比如100十六进制0x****(以0x或者0X开始*表示09或者af组成 比如0x12c)进制转换十进制转二进制方法为十进制数除2取余法即十进制数除2余数为权位上的数得到的商值继续除2依此步骤继续向下运算直到商为0为止。150十进制转二进制150十进制转二进制二进制转十进制方法为把二进制数按权展开、相加即得十进制数。150二进制转十进制150二进制转十进制流程控制语句定义流程是指程序运行时各语句的执行顺序。流程控制语句就是用来控制程序中各语句执行的顺序。分类顺序结构定义顺序结构是程序中最简单最基本的流程控制没有特定的语法结构按照代码的先后顺序依次执行程序中大多数的代码都是这样执行的举例/** 顺序结构从上往下依次执行*/public class OrderDemo {public static void main(String[] args) {System.out.println(开始);System.out.println(语句A);System.out.println(语句B);System.out.println(语句C);System.out.println(结束);}}分支结构(选择结构)定义条件语句可根据不同的条件执行不同的语句。包括if条件语句与switch多分支语句。分类if分支结构第一种格式格式if(条件表达式){执行的代码块}执行流程执行流程图if语句格式1执行流程说明首先判断关系表达式看其结果是true还是false如果是true就执行语句体如果是false就不执行语句体举例public class IfDemo {public static void main(String[] args) {System.out.println(开始);// 定义两个变量int a 10;int b 20;if (a b) {System.out.println(a等于b);}int c 10;if (a c) {System.out.println(a等于c);}System.out.println(结束);}}第二种格式格式if(条件表达式){执行的代码块;}else{执行的代码块}执行流程执行流程图if语句格式2执行流程说明首先判断关系表达式看其结果是true还是false如果是true就执行语句体1如果是false就执行语句体2举例public class IfDemo2 {public static void main(String[] args) {System.out.println(开始);// 判断给定的数据是奇数还是偶数// 定义变量int a 100;// 给a重新赋值a 99;if (a % 2 0) {System.out.println(a是偶数);} else {System.out.println(a是奇数);}System.out.println(结束);}}第三种格式格式if(条件表达式){执行的代码块;}else if(条件表达式){执行的代码块;}......(此处省略N个else if)else{执行代码块;}执行流程执行流程图if语句格式3执行流程说明首先判断关系表达式1看其结果是true还是false如果是true就执行语句体1如果是false就继续判断关系表达式2看其结果是true还是false如果是true就执行语句体2如果是false就继续判断关系表达式…看其结果是true还是false…如果没有任何关系表达式为true就执行语句体n1举例public class IfDemo3 {public static void main(String[] args) {// x和y的关系满足如下// x3 y 2x 1;// -1x3 y 2x;// x-1 y 2x – 1;// 根据给定的x的值计算出y的值并输出。// 定义变量int x 5;/*int y;if (x 3) {y 2 * x 1;} else if (x -1 x 3) {y 2 * x;} else if (x -1) {y 2 * x - 1;}else {y 0;}*/int y 0;if (x 3) {y 2 * x 1;} else if (x -1 x 3) {y 2 * x;} else if (x -1) {y 2 * x - 1;}System.out.println(y的值是y);}}注意事项1、一旦满足某个条件表达式则进入其执行语句块执行执行完毕后不会执行其一下的条件语句。2、如果多个条件表达式之间为“互斥”关系多个语句之间可以上下调换顺序一旦是包含关系要求条件表达式范围小的写到范围大的上边switch分支结构执行流程执行流程说明首先计算出表达式的值其次和case依次比较一旦有对应的值就会执行相应的语句在执行的过程中遇到break就会结束。最后如果所有的case都和表达式的值不匹配就会执行default语句体部分然后程序结束掉。执行流程图switch执行流程举例public class SwitchDemo {public static void main(String[] args) {//创建键盘录入对象Scanner sc new Scanner(System.in);//接收数据System.out.println(请输入一个数字(1-7));int weekday sc.nextInt();//switch语句实现选择switch(weekday) {case 1:System.out.println(星期一);break;case 2:System.out.println(星期二);break;case 3:System.out.println(星期三);break;case 4:System.out.println(星期四);break;case 5:System.out.println(星期五);break;case 6:System.out.println(星期六);break;case 7:System.out.println(星期日);break;default:System.out.println(你输入的数字有误);break;}}}注意事项1、swich(表达式)中表达式的返回值必须是以下几种类型之一byteshortcharint枚举(jdk1.5)String(jdk1.7)2、case子句中的值必须是常量且所有case子句中的值应是不同的3、default子句是可任选的当没有匹配的case时执行default4、break语句用来在执行完一个case分支后使程序跳出swich语句块如果没有break程序会顺序执行到swich结尾if分支结构和switch分支结构区别if和swich语句很想如果判断的具体数值不多而且复合byte、short、int、char这四种类型。建议使用swich语句因为效率稍高其他情况对区间进行判断对结果为boolean类型进行判断使用ifif的使用范围比较广泛。循环结构定义循环语句就是在满足一定条件的情况下反复执行某一个操作。包括while循环语句、do···while循环语句和for循环语句。分类for循环语句执行流程执行流程图for循环语句的执行流程图执行流程说明A:执行初始化语句B:执行判断条件语句看其结果是true还是false如果是false循环结束。如果是true继续执行。C:执行循环体语句D:执行控制条件语句E:回到B继续格式for(初始化语句;判断条件语句;控制条件语句) {循环体语句;}举例public class ForDemo {public static void main(String[] args) {//原始写法System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(HelloWorld);System.out.println(-------------------------);//用循环改进for(int x1; x10; x) {System.out.println(HelloWorld);}}}foreach循环语句执行流程执行流程说明和for循环执行流程相似格式for (声明语句 : 表达式) {//代码句子}举例public class Test {public static void main(String args[]) {int [] numbers {10, 20, 30, 40, 50};for ( int x : numbers ) {System.out.print( x );System.out.print(,);}System.out.print();String [] names {James, Larry, Tom, Lacy};for ( String name : names ) {System.out.print( name );System.out.print(,);}}}定义它是Java5后新增的for语句的特殊简化版本并不能完全替代for语句但所有foreach语句都可以改写为for语句。foreach语句在遍历数组等时为程序员提供了很大的方便。while循环语句格式基本格式while(判断条件语句) {循环体语句;}扩展格式初始化语句;while(判断条件语句) {循环体语句;控制条件语句;}执行流程执行流程图while循环语句的执行流程图执行流程说明while循环语句的循环方式为利用一个条件来控制是否要继续反复执行这个语句。举例public class WhileDemo {public static void main(String[] args) {//输出10次HelloWorld/*for(int x1; x10; x) {System.out.println(HellloWorld);}*///while循环实现int x1;while(x10) {System.out.println(HellloWorld);x;}}}do…while循环语句格式基本格式do {循环体语句;}while((判断条件语句);扩展格式初始化语句;do {循环体语句;控制条件语句;} while((判断条件语句);执行流程执行流程图do...while循环语句的执行流程图执行流程说明A:执行初始化语句;B:执行循环体语句;C:执行控制条件语句;D:执行判断条件语句看是true还是false如果是true回到B继续如果是false就结束举例public class DoWhileDemo {public static void main(String[] args) {//输出10次 HelloWorld/*for(int x1; x10; x) {System.out.println(HelloWorld);}*///do...while改写int x1;do {System.out.println(HelloWorld);x;}while(x10);}}三种循环的区别虽然可以完成同样的功能但是还是有小区别do…while循环至少会执行一次循环体。for循环和while循环只有在条件成立的时候才会去执行循环体for循环语句和while循环语句的小区别使用区别控制条件语句所控制的那个变量在for循环结束后就不能再被访问到了而while循环结束还可以继续使用如果你想继续使用就用while否则推荐使用for。原因是for循环结束该变量就从内存中消失能够提高内存的使用效率。跳转语句(控制循环结构)定义Java语言中提供了3种跳转语句分别是break语句、continue语句和return语句。分类breakbreak的使用场景break的使用场景在选择结构switch语句中在循环语句中离开使用场景的存在是没有意义的break的作用跳出单层循环举例/** break:中断的意思* 使用场景* A:switch语句中* B:循环中* 注意* 离开使用场景是没有意义的。* 作用* 跳出循环让循环提前结束*/public class BreakDemo {public static void main(String[] args) {//break;for(int x1; x10; x) {if(x 3) {break;}System.out.println(HelloWorld);}}}continuecontinue的使用场景continue的使用场景在循环语句中离开使用场景的存在是没有意义的continue的作用单层循环对比break然后总结两个的区别break 退出当前循环continue 退出本次循环举例/** continue:继续的意思* 使用场景* 循环中* 注意* 离开使用场景是没有意义的* 作用* 结束一次循环继续下一次的循环* 区别* break:退出循环* continue:结束一次循环继续下一次的循环*/public class ContinueDemo {public static void main(String[] args) {//continue;for(int x1; x10; x) {if(x 3) {//break;continue;}System.out.println(HelloWorld);}}}returnreturn的使用场景return的使用场景在循环语句中在方法中return的作用可以从一个方法返回并把控制权交给调用它的语句。直接结束整个方法从而结束循环。举例public class ReturnDemo {public static void main(String[] args) {getStr();}public String getStr() {return Hello;}}表达式定义用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。类型和值表达式值的数据类型即为表达式的类型。对表达式中操作数进行运算得到的结果是表达式的值。运算顺序应按照运算符的优先级从高到低的顺序进行;优先级相同的运算符按照事先约定的结合方向进行;举例a b3.14 a(x y) * z 100boolean b i 10 (i%10 ! 0)运算符定义分类算术运算符算术运算符/ % -- 注意事项1、/ 左右两端的类型需要一致2、%最后的符号和被模数相同3、前先1后运算 后先运算后14、当String字符串与其他数据类型只能做连接运算并且结果为String类型比较运算符(关系运算符) - * / %比较运算符1比较运算符比较运算符2比较运算符2注意事项1、比较运算符的两端都是boolean类型也就是说要么是true要么是false2、比较运算符的与的作用是不同的使用的时候需要小心。赋值运算符 - * / %基本的赋值运算符扩展的赋值运算符,-,*,/,%: a20;相当于a (a的数据类型)(a 20);逻辑运算符(符号的两端都是boolean类型) | ^ ! ||注意事项1、 与 以及|与||的区别左边无论真假右边都会进行运算如果左边为假则右边不进行运算| 与 || 的区别同上在使用的时候建议使用和||2、(^)与或(|)的不同之处是当左右都为true时结果为false。逻辑运算符逻辑运算符位运算符(两端都是数值型的数据)位运算符1位运算符1位运算符2位运算符2三元运算符(三目运算符)三元运算符三元运算符注意事项1、表达式1与表达式2的类型必须一致2、使用三元运算符的地方一定可以使用if..else代替反之不一定成立运算符的优先级运算符的优先级优先级按照从高到低的顺序书写也就是优先级为1的优先级最高优先级14的优先级最低。使用优先级为 1 的小括号可以改变其他运算符的优先级。变量定义在程序执行的过程中在某个范围内其值可以发生改变的量。从本质上讲变量其实是内存中的一小块区域分类按被声明的位置划分成员变量方法外部类内部定义的变量类变量(静态变量)独立于方法之外的变量用 static 修饰。类变量也称为静态变量在类中以static关键字声明但必须在方法构造方法和语句块之外。无论一个类创建了多少个对象类只拥有类变量的一份拷贝。静态变量除了被声明为常量外很少使用。常量是指声明为public/privatefinal和static类型的变量。常量初始化后不可改变。静态变量储存在静态存储区。经常被声明为常量很少单独使用static声明变量。静态变量在第一次被访问时创建在程序结束时销毁。与实例变量具有相似的可见性。但为了对类的使用者可见大多数静态变量声明为public类型。默认值和实例变量相似。数值型变量默认值是0布尔型默认值是false引用类型默认值是null。变量的值可以在声明的时候指定也可以在构造方法中指定。此外静态变量还可以在静态语句块中初始化。静态变量可以通过ClassName.VariableName的方式访问。类变量被声明为public static final类型时类变量名称一般建议使用大写字母。如果静态变量不是public和final类型其命名方式与实例变量以及局部变量的命名方式一致。实例变量(非静态变量)独立于方法之外的变量不过没有 static 修饰。实例变量声明在一个类中但在方法、构造方法和语句块之外当一个对象被实例化之后每个实例变量的值就跟着确定实例变量在对象创建的时候创建在对象被销毁的时候销毁实例变量的值应该至少被一个方法、构造方法或者语句块引用使得外部能够通过这些方式获取实例变量信息实例变量可以声明在使用前或者使用后访问修饰符可以修饰实例变量实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见实例变量具有默认值。数值型变量的默认值是0布尔型变量的默认值是false引用类型变量的默认值是null。变量的值可以在声明时指定也可以在构造方法中指定实例变量可以直接通过变量名访问。但在静态方法以及其他类中就应该使用完全限定名ObejectReference.VariableName。类变量和实例变量的区别调用方式静态变量也称为类变量可以直接通过类名调用。也可以通过对象名调用。这个变量属于类。成员变量也称为实例变量只能通过对象名调用。这个变量属于对象。存储位置静态变量存储在方法区长中的静态区。成员变量存储在堆内存。生命周期静态变量随着类的加载而存在随着类的消失而消失。生命周期长。成员变量随着对象的创建而存在随着对象的消失而消失。与对象的相关性静态变量是所有对象共享的数据。成员变量是每个对象所特有的数据。局部变量局部变量类的方法中的变量。局部变量声明在方法、构造方法或者语句块中局部变量在方法、构造方法、或者语句块被执行的时候创建当它们执行完成后变量将会被销毁访问修饰符不能用于局部变量局部变量只在声明它的方法、构造方法或者语句块中可见局部变量是在栈上分配的。局部变量没有默认值所以局部变量被声明后必须经过初始化才可以使用。成员变量和局部变量的区别作用域成员变量针对整个类有效。局部变量只在某个范围内有效。(一般指的就是方法,语句体内)存储位置成员变量随着对象的创建而存在随着对象的消失而消失存储在堆内存中。局部变量在方法被调用或者语句被执行的时候存在存储在栈内存中。当方法调用完或者语句结束后就自动释放。生命周期成员变量随着对象的创建而存在随着对象的消失而消失局部变量当方法调用完或者语句结束后就自动释放。初始值成员变量有默认初始值。局部变量没有默认初始值使用前必须赋值。使用原则在使用变量时需要遵循的原则为就近原则首先在局部范围找有就使用接着在成员位置找。按所属的数据类型划分基本数据类型变量基本数据类型byte,short,int,long,float,double,char,boolean变量的定义格式数据类型 变量名 初始化值;注意整数默认是int类型定义long类型的数据时要在数据后面加L。浮点数默认是double类型定义float类型的数据时要在数据后面加F。引用数据类型变量定义格式数据类型 变量名 初始化值;注意格式是固定的记住格式以不变应万变举例public class Variable{// 类变量static int allClicks0;// 实例变量String strhello world;public void method(){// 局部变量int i 0;}}注意事项类外面不能有变量的声明常量定义常量定义在程序执行的过程中其值不可以发生改变的量。常量不同于常量值它可以在程序中用符号来代替常量值使用因此在使用前必须先定义。常量值定义常量和常量值是不同的概念常量值又称为字面常量它是通过数据直接表示的。关系常量值是常量的具体和直观的表现形式常量是形式化的表现。通常在程序中既可以直接使用常量值也可以使用常量。分类字符串常量 用双引号括起来的内容(“HelloWorld”)整数常量 所有整数(12,-23)小数常量 所有小数(12.34)字符常量 用单引号括起来的内容(‘a’,’A’,’0’)布尔常量 较为特有只有true和false空常量 null(数组部分讲解)举例Java 语言使用 final 关键字来定义一个常量final int COUNT10;final float HEIGHT10.2F;注意事项在定义常量时就需要对该常量进行初始化。final 关键字不仅可以用来修饰基本数据类型的常量还可以用来修饰对象的引用或者方法。为了与变量区别常量取名一般都用大写字符。数据类型定义Java语言是强类型语言对于每一种数据都定义了明确的具体的数据类型在内存中分配了不同大小的内存空间。分类基本数据类型数值型整数类型(byte,short,int,long)浮点类型(float,double)字符型(char)布尔型(boolean)引用数据类型类(class)接口(interface)数组([])计算机存储单元定义变量是内存中的小容器用来存储数据。那么计算机内存是怎么存储数据的呢无论是内存还是硬盘计算机存储设备的最小信息单元叫“位(bit)”我们又称之为“比特位”通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”通常用大写字母B表示字节是由连续的8个位组成。常用存储单元关系1B 8b1KB 1024B1MB 1024KB1GB 1024MB1TB 1024GBJava基本数据类型图Java基本数据类型数据类型转换定义数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的它需要从一种数据类型转换成另一种数据类型。分类隐式转换定义在运算过程中由于不同的数据类型会转换成同一种数据类型所以整型、浮点型以及字符型都可以参与混合运算。自动转换的规则是从低级类型数据转换成高级类型数据。转换规则数值型数据的转换byte→short→int→long→float→double。字符型转换为整型char→int。转换条件自动类型转换的实现需要同时满足两个条件①两种数据类型彼此兼容②目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据)。例如 byte 类型向 short 类型转换时由于 short 类型的取值范围较大会自动将 byte 转换为 short 类型。显式转换定义当两种数据类型不兼容或目标类型的取值范围小于源类型时自动转换将无法进行这时就需要进行强制类型转换。语法格式目标类型 变量名 (目标类型) (被转换的数据);举例int b (byte)(a b);注意如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同不建议强制转换因为会有精度的损失。
http://www.zqtcl.cn/news/609150/

相关文章:

  • 做网站 如何 挣钱游戏网站开发协议
  • 网站建设发展wordpress比较慢
  • 收费网站推广动漫制作就业方向
  • 湖北优化网站建设设计公司需要什么资质
  • 个人网站怎么制作wordpress创意小工具
  • 网站管理维护怎么做在线oa
  • vue做企业网站wordpress 不发送邮件
  • 深圳做网站哪家便宜邮政编码html编写
  • 黑龙江营商环境建设局网站门户网站整改报告
  • 是不是做推广都得有网站深圳网站建设新闻
  • 旅游做视频网站关于建设网站的书本
  • 营销网站是什么意思快站优惠券app
  • wordpress加dz公司网站搜索优化
  • 北京网站seo技术厂家联合外发加工网
  • 自己做的网站 jen江门模板建站定制
  • 教做糕点的网站工作计划范文
  • dw自己做网站需要什么黄骅贴吧足疗
  • 稻香村网站建设网站建设制作 优帮云
  • 简单的网站作业seo关键词搜索和优化
  • 个人域名备案网站名称例子龙岩网站制作公司
  • 深圳专门做网站的公司电子商务网站推广目的分为
  • 政协网站法治建设版块设计头像 制作 免费
  • wordpress 去除下划线成都seo公司排名
  • 网站移动页面怎么做万网域名管理入口
  • 吴桥网站建设公司wordpress 不收录设置
  • 长安网站建设工作总结信息安全网站建设方案书
  • seo公司网站wordpress 功能块
  • 手机网站分辨率做多大做羞羞的网站
  • 网站挂到国外服务器地址重庆网络公司排行榜
  • 网站seo诊断优化方案好网站的建设标准