电子开发 | 基础入门 | 电路原理图 | 濮婎垰鑸伴崶鎯х杽娓氾拷 | PLC閸╄櫣顢�   閵嗗﹤顩ч弸婊冩灘濞嗐垺婀扮粩娆欑礉鐠囬攱瀵� Ctrl+D 閹靛濮╅弨鎯版閿涗焦鍔呯拫銏″亶閻ㄥ嫭鏁幐浣碘偓锟�娑撯偓鐠у嘲顒熸稊鐘辩鐠х柉绻樺銉礉閻㈤潧鐡欏鈧崣鎴犲竾濞嗐垼绻嬮幃顭掔磼.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

閳藉懐鏁哥捄顖氬彆瀵繑澧滈崘宀嬬礉閺堚偓閺傛壆澧楅妴濠勬暩鐎涙劗鏁哥捄顖氬彆瀵繗顓哥粻妤€娅掗妴瀣剁礉閻絻鐭鹃崗顒€绱¢弻銉嚄閹靛鍞� 閻絻鐭鹃崗顒€绱$拋锛勭暬閸c劊鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
閳藉棗宕勬径鈺侇劅娴兼艾宕熼悧鍥ㄦ簚鐎圭偘绶�100 c鐠囶叀鈻� chm閺嶇厧绱¢妴鍌濈カ閺傛瑥鍞寸€圭顕涚紒鍡礉鐟曞棛娲婃笟瀣摍婢舵熬绱濋崘鍛啇楠炶¥鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
搜索: 您现在的位置: 电子开发网 >> 编程学习 >> Java >> 正文

JAVA语法程序汇总_Java基础语法总结

作者:佚名    文章来源:网络整理    点击数:361    更新时间:2024/2/25

Java基础语法
计算机基础
1.什么是二进制?
2.什么是字节?
3.命令提示符
Java语言基础
JRE和JDK、JVM
关键字和标识符
常量和变量
数据类型转换
运算符
程序流程
方法


Java基础语法

计算机基础

1.什么是二进制?

二进制数只包含0和1,每一个0或者1都是一个bit(位)。
我们常用的十进制如何转换成二进制:

 

2.什么是字节?

我们知道计算机中的数据都是由1或者0组成,每个0或1都是一个bit,每8个bit就是一个字节(byte)。
字节是数据存储的最小单位。
1 TB = 1024 GB---->1 GB = 1024 MB ---->1 MB = 1024 KB---->1 KB = 1024 B

3.命令提示符

启动:win+R
切换盘符: 盘符:
退出:exit
进入文件夹:cd+文件夹名称
查看目录:dir
清屏:cls
进入多级文件夹: cd+\IdeaProjects\javaBasic\java
返回上一层:cd…
返回根目录:cd </br>

Java语言基础

JRE和JDK、JVM

JRE(Java Runtime Enviroment),Java运行环境,如果只是需要在该计算机上运行Java应用,那么只需要安装JRE即可。

JDK(Java Development Kit),如果想要开发,就必须安装JDK。
 
特别注意:JDK安装路径最好不要有空格或者中文。

关键字和标识符

关键字的特点:

  1. 完全小写的字母
  2. 在增强版的记事本或者IDE中有特殊的颜色

标识符:自己命名的类名,方法名等。
命名规则:

  1. 由字母、数字、下划线、美元符号组成
  2. 不能由数字开头
  3. 不能是Java保留字

常量和变量

常量

什么是常量?
常量就是在程序运行期间,不会改变的量。

常量的分类
字符串常量:凡是用双引号括起来的都是字符串常量,例如:“abc”,“110”,“Hello”…
字符常量:凡是用单引号括起来的单个字符,就叫字符常量。例如:‘A’,‘a’,‘1’,‘张’
整型常量:直接写上的数字,没有小数点。例如:123,200,-23
浮点型常量:直接写上的数字,有小数点。例如:3.14,0.0
布尔常量:true或false
空常量:null。代表没有任何数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Demo01Const{
 public static void main(String[] args){
  // 字符串常量
  System.out.println("ABC");
  System.out.println("");
  System.out.println("XYZ");
  // 整数常量
  System.out.println(50);
  System.out.println(-30);
  // 浮点常量
  System.out.println(3.14);
  System.out.println(0.0);
  System.out.println(-24.0);
  // 字符常量
  System.out.println('A');
  System.out.println('a');
  //System.out.println('');单引号中间有且仅有一个字符,没有不行,编译出错
  // 布尔常量
  System.out.println(true);
  System.out.println(false);
  //空常量 null,不能直接打印
 }
}
数据类型

数据类型分为两类:

  1. 基本数据类型:整型,浮点型,布尔型,字符型
  2. 引用数据类型:字符串,数组,类,接口,Lamda

基本数据类型:
整型:byte,short,int,long
浮点型:float,double
字符型:char
布尔型:boolean
 

基本数据类型注意事项:
1.字符串不是基本数据类型,而是引用类型。
2.浮点型可能是一个近似值,而不是精确值。
3.数据范围不一定与字节数相关,例如float的范围比long要广,但是它只占4个字节。
4.浮点数默认是double类型,要使用float类型,需要加上后缀F/f,但是建议使用F。
5.整数默认为int类型,要使用long类型,需要加上后缀L/l,但是建议使用L。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Demo01DataType{
 public static void main(String[] args){
  System.out.println(1024);//默认是int类型
  System.out.println(3.14);//默认是double类型
  //左边是long类型,右边是int类型,数据类型不一致,会发生数据转换,
  //int类型数据范围比long类型数据范围小,可以发生自动类型转换
  long num1 = 10;
  System.out.println(num1);
  //左边是double类型,右边是float类型,数据类型不一致,可以发生数据类型转换
  //float---->double float数据范围比double小,可以是发生自动类型转换
  double num2 = 2.5F;
  System.out.println(num2);
  //左边是float类型,右边是long类型,数据类型不一致,可以发生数据类型转换
  //long---->float long类型数据范围比float类型小,可以发生自动类型转换
  float num3 = 30L;
  System.out.println(num3);//30.0
 }
}
变量

什么是变量?
就是在程序运行期间,会发生改变的量。

创建一个变量的格式
① 数据类型 变量名称;//创建一个变量
变量名称 = 数据值;//赋值,将右边的数据值,赋值给左边的变量
② 数据类型 变量名称 = 数据值;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Demo02Variable{
 public static void main(String[] args){
  //使用格式①创建变量
  int num1;
  num1=1;
  System.out.println(num1);
  //改变变量当中的值
  num1=20;
  System.out.println(num1);
  //使用格式②
  int num2 = 5;
  System.out.println(num2);
  //byte num3 = 129;
  //System.out.println(num3);
  byte num3 = 64;
  System.out.println(num3);//64
  short num4 = 400;
  System.out.println(num4);//400
  long num5 = 3000000000L;
  System.out.println(num5);//3000000000
  float num6 = 3.2444F;
  System.out.println(num6);//3.2444
  double num7 = 3.14;
  System.out.println(num7);//3.14
  char ch1 = 'A';
  System.out.println(ch1);//A
  char ch2 = '2';
  System.out.println(ch2);//2
  char ch3 = '我';
  System.out.println(ch3);//我
  boolean b1 = true;
  System.out.println(b1);//true
  b1 = false;
  System.out.println(b1);//false
  boolean b2 = b1;
  System.out.println(b2);//false
 }
}

使用变量的注意事项

  1. 变量的命名不能重复。
  2. 在使用byte和short的时候要注意它们的范围,如果超出范围会编译错误。
  3. 在使用float和long类型时,注意要加后缀。
  4. 变量的使用不能超出其作用域。(作用域:就是从变量命名的地方开始,直到该变量直接所属的大括号结束为止)
  5. 没有进行赋值的变量不能直接使用。
  6. 可以直接定义多个变量,但是不建议使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Demo03VariableNotice{
 public static void main(String[] args){
  int num1 = 10;
  System.out.println(num1);
  //int num1 = 20;错误,变量名不能重复。
  float num2 = 3.14F;//如果不加F会产生错误。
  System.out.println(num2);
  long num3 = 30000000000L;
  System.out.println(num3);
  //byte num4 = 128; 注意byte的范围是-128~127,不能超出范围
  byte num4 = 12;
  System.out.println(num4);
  short num5 = 400;
  System.out.println(num5);
  //没有赋值的变量不能使用
  //int num6;
  //System.out.println(num6);
  //此时还没有命名变量,无法使用。
  //System.out.println(num6);
  int num6 = 2;
  System.out.println(num6);
  //可以这么使用,但是不建议。
  int a = 10,b = 20,c = 30;
  System.out.println(a);
  System.out.println(b);
  System.out.println(c);
 }
}

数据类型转换

什么是数据类型转换?
当数据类型不一样时,就会发生数据类型转换。

数据类型转换的分类:

  1. 自动类型转换(隐式):
    ①特点:代码不需要进行处理,自动完成
    ②规则:数据范围由小到大
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Demo01DataType{
 public static void main(String[] args){
  System.out.println(1024);//默认是int类型
  System.out.println(3.14);//默认是double类型
  //左边是long类型,右边是int类型,数据类型不一致,会发生数据转换,
  //int类型数据范围比long类型数据范围小,可以发生自动类型转换
  long num1 = 10;
  System.out.println(num1);
  //左边是double类型,右边是float类型,数据类型不一致,可以发生数据类型转换
  //float---->double float数据范围比double小,可以是发生自动类型转换
  double num2 = 2.5F;
  System.out.println(num2);
  //左边是float类型,右边是long类型,数据类型不一致,可以发生数据类型转换
  //long---->float long类型数据范围比float类型小,可以发生自动类型转换
  float num3 = 30L;
  System.out.println(num3);//30.0
 }
}

2.强制类型转换(显式):
①特点:代码需要进行格式处理,不能自动完成
②格式:数据类型 变量名称 = (范围小的类型)原本范围大的数据

注意事项:

  1. 强制类型转换有可能导致精度丢失、数据溢出等。
  2. byte、short、char类型都可以进行数学运算。
  3. byte、short、char类型在进行数学运算时,都被提升成了int类型,再进行计算。
  4. boolean类型不能进行数据转换。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Demo02DataType{
 public static void main(String[] args){
  //左边是int类型,右边是long类型,会发生数据类型转换
  //long---->int ,long类型范围比int类型大,不能发生自动类型转换,需要强制类型转换
  //进行格式处理: 范围小的数据类型  范围小的变量名 = (范围小的数据类型)原本范围大的数据;
  int num =(int)100L;
  System.out.println(num);
  //左边是int类型,右边是long类型,会发生数据类型转换
  //long--->int long比int范围要大,所以发生强制类型转换
  //但是发生了数据溢出,因为int类型装不下6000000000
  int num1 = (int) 6000000000L;
  System.out.println(num1);//1705032704
  //float---->int 强制转换,发生精度丢失,这里不是四舍五入
  int num2 = (int) 3.99F;
  System.out.println(num2);//3
  //我们都知道计算机底层都是二进制数,所以A也是以二进制数的形式来存储,
  char ch1 = 'A';
  System.out.println(ch1+1);//66  证明这里的'A'被当做65来进行运算
  byte b1 = 40;
  byte b2 = 50;
  int result1 = b1+b2;//会报错,不兼容的类型。原因:就是第三个注意事项,当进行数学运算时,b1和b2都已经被提升成了int类型,左右两边类型不一致
  //需要发生强制类型转换,所以把result1的类型转换成int
  System.out.println(result1);
  short s1 = 60;
  //short result2 = b1+s1;    同上,会报错,如果想要的结果是short类型,那么必须进行强制类型转换
  short result2 =(short)(b1+s1);
  System.out.println(result2);
 }
}
ASCII码表

什么是ASCII码表?
ASCII:American Standard Code of Information Inchange 美国信息交换标准代码
还有Unicode表,就是数字和字符的对照关系表。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Demo03DataTypeChar{
 public static void main(String[] args){
  char ch1 = '1';
  System.out.println(ch1+0);
  char ch2 = 'A';
  System.out.println(ch2+2);//67
  //左边是int类型,右边是char类型,左右不一致,发生数据类型转换
  //char---->int 范围小向范围大转换,自动转换,不需要强制类型转换
  int num = 'c';
  System.out.println(num);//99
  int ch3 = '中';
  System.out.println(ch3);//20013
 }
}

运算符

什么是运算符?
就是进行特定操作的符号。
什么是表达式?
就是用运算符连接起来的式子。

四则运算符和加号的特定用法

四则运算符,+,-,*,/,%;其中包括加,减,乘,除,%代表取模,即取余数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Demo04Operator{
 public static void main(String[] args){
  System.out.println(20+30);//50
  int a = 10;
  int b = 20;
  //会先计算表达式的值,再进行打印
  System.out.println(a-b);//-10
  System.out.println(a*10);//100
  //除法,只看商
  int result1 = 10/3;
  System.out.println(result1);//3
  //如果想要获得余数,用取模运算
  int x = 14;
  int y = 3;
  int result2 = x%y;
  System.out.println(result2);//2
  //int + double ---->double + double ----->double
  double result3 = x + 2.5;
  System.out.println(result3);//16.5
 }
}

"+"常见的三种用法:

  1. 正常的加法运算
  2. 对于char类型来说,在计算前会被提升为int类型
  3. 用于连接字符串(注意事项:任何数据类型和字符串相连接,都会变成字符串)
1
2
3
4
5
6
7
8
9
10
11
12
public class Demo05Plus{
 public static void main(String[] args){
  String str1 = "Hello";
  System.out.println("Hello");
  System.out.println("Hello"+"World");//HelloWorld
  String str2 = "Java";
  //String + int --->String + String ---->String
  System.out.println(str1+20);//Java20
  System.out.println(str1+20+30);//Java2030
  System.out.println(str1+(20+30));//Java50
 }
}
自增、自减运算符

使用方式:++可以在前,也可以在后,例如:++n或者n++。
使用区别:
1.单独使用:++在前和在后没有任何区别,独自形成一个步骤(前提是不与任何其他操作混合)
2.混合使用:当混合使用时,++在前和在后有【重大区别】:
a.++在前时,变量立刻+1,然后再参与其他运算 【先加后用】
b.++在后时,变量首先按照原来的值参与其他运算,然后再+1 【先用后加】
注意事项:只有是变量才能使用自增、自减符号,常量无法使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class Demo06Operator{
 public static void main(String[] args){
  //单独使用的情况,没有区别
  int num1 = 10;
  ++num1;
  System.out.println(num1);//11
  int num2 = 20;
  num2++;
  System.out.println(num2);//21
  System.out.println("==============================================================");
  //混合使用,例如与打印操作混合
  int num3 = 30;
  System.out.println(++num3);//31
  System.out.println(num3);//31
  int num4 = 40;
  System.out.println(num4++);//40
  System.out.println(num4);//41
  System.out.println("==============================================================");
  //和赋值操作混合
  int num5 = 50;
  int result1 = num5++;
  System.out.println(result1);//50
  System.out.println(num5);//51
  int num6 = 60;
  int reuslt2 = --num6;
  System.out.println(reuslt2);//59
  System.out.println(num6);//59
  System.out.println("==============================================================");
  int x = 10;
  int y = 20;
  int result = --x + y++;
  System.out.println(result);//29
  System.out.println(x);//9
  System.out.println(y);//21
  //30++; //只有变量才能自增或自减,常量使用会编译报错。
 }
}
赋值运算符

1.基本赋值运算符
就是=,代表把右边的数据值赋值给左边的变量
2.复合赋值运算符
+=: a += 5 相当于 a = a + 5;
-=: a -= 5 相当于 a = a - 5;
*=: a *= 5 相当于 a = a * 5;
/=: a /= 5 相当于 a = a / 5;
%=: a += 5 相当于 a = a % 5;

注意事项:
1.只有变量可以使用复合赋值运算,常量不可以使用。
2.复合赋值运算实际含有一个隐式的数据类型转换。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Demo07Operator{
 public static void main(String[] args){
  int a = 10;
  a += 5;
  System.out.println(a);//15
  int b = 13;
  b %= 4;
  System.out.println(b);//1
  //复合赋值运算中隐含了一个强制类型转换
  byte x = 12;
  //x += 5;
  //相当于 x = x + 5;
  // byte  = byte + int ;
  //byte =  int + int ;
  //byte = int ;
  //byte = (byte)int;
  x += 5;
  System.out.println(x);//17
 }
}
比较运算符

比较运算符: > , < , >= , <= , == ,!=;
注意事项:
1.比较运算符的结果一定是boolean类型。
2.如果进行多次判断,不能像数学中连写,如1<x<3,这样会编译报错。

1
2
3
4
5
6
7
8
9
10
11
12
public class Demo08Operator{
 public static void main(String[] args){
  int x = 10;
  int y = 20;
  System.out.println(x > y);//false
  System.out.println(x < y);//true;
  System.out.println(x >= 100);//false
  System.out.println(x <= 10);//true;
  System.out.println(10 == 10);//true
  System.out.println(20 != 20);//false
 }
}
逻辑运算符

与:&&;
或:||;
非:!;

与、或具有短路效果:就是根据左边的表达式已经能够判断出结果,那么后边的表达式将不再运行,节省性能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Demo09Logic{
 public static void main(String[] args){
  System.out.println(true && true);//true
  System.out.println(true && false);//false
  System.out.println(3 < 4 && 10 < 100);//true
  System.out.println(true || true);//true
  System.out.println(true || false);//true
  System.out.println(false || false);//false
  System.out.println(!true);//false
  System.out.println(!false);//true
  System.out.println("======================");
  //短路效果:
  int a = 10;
  System.out.println(3 > 4 && ++a > 1);//false
  System.out.println(a);//10
  int b = 20;
  System.out.println(3 < 4 || b++ > 1);//true
  System.out.println(b);//20
 }
}
三元运算符

格式:
数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B;

注意事项:
1.表达式A和表达式B必须同时满足左边的数据类型,否则编译报错。
2.三元运算符的结果必须被使用,要么赋值,要么打印等,不能独立存在

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Demo10Operator{
 public static void main(String[] args){
  int a = 10;
  int b = 20;
  int max = a > b ? a : b;
  System.out.println("最大值是:" + max);//20
  //注意事项1:
  //int max = 3 > 4 ? 2.5 : 10;//错误写法,必须同时满足左边的int类型
  //注意事项2:
  System.out.println(a > b ? a : b);//正确写法 将会打印20
  //a > b ? a : b;错误写法,编译报错
 }
}

程序流程

顺序结构

顺序结构:程序由上至下运行。

#### 选择结构 ####
1.单if语句
 

1
2
3
4
5
6
7
8
9
10
public class Demo02If{
 public static void main(String[] args){
  System.out.println("今天我准备去网吧");
  int age = 17;
  if(age >= 18){
   System.out.println("年龄满18才能进入网吧");
  }
  System.out.println("回家");
 }
}

2.if Else语句
 

1
2
3
4
5
6
7
8
9
10
public class Demo03IfElse{
 public static void main(String[] args){
  int age = 20;
  if(age >= 18){
   System.out.println("可以进入网吧");
  }else{
   System.out.println("不能进入网吧");
  }
 }
}

3.if elseif语句
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Demo04IfElseExt{
 public static void main(String[] args){
  int x = 15;
  int y;
  if(x >= 3){
   y = 2*x+1;
  } else if (-1 < x && x < 3){
   y = 2*x;
  } else {
   y = 2*x-1;
  }
  System.out.println("结果是"+ y);
 }
}

4.标准的switch语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Demo07Switch{
 public static void main(String[] args){
  int num = 4;
  switch(num){
   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;//不写这个break不会报错,但是强烈建议写上。
  }
 }
}

switch case注意事项:
①case后面的数值不能重复
②case后面可以是基本类型也可以是引用类型:
基本类型:byte,short,char,int
引用类型: String,enum

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Demo08SwitchNotice{
 public static void main(String[] args){
  int num = 3;
  switch(num){
   case 2:
    System.out.println("BBB");
    break;
   case 3:
    System.out.println("AAA");
   case 1:
    System.out.println("CCC");
    break;
   default:
    System.out.println("DDD");
    break;
  }
  System.out.println("具有穿透功能的switch");
 }
}
循环结构

1.for循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
循环结构:
for循环
for(初始化语句①;条件判断②;步进语句④){
 循环体③
}
*/
public class Demo09For{
 public static void main(String[] args){
  for(int i=1;i<=100;i++){
   System.out.println("我错了!请原谅我把!"+i);
  }
 }
}

2.while循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
while循环:
标准格式:
while(条件判断){
 循环体
}
扩展格式:
初始化语句;
while(条件判断){
 循环体;
 步进语句;
}
*/
public class Demo10While{
 public static void main(String[] args){
  int i = 1;
  while(i<=10){
   System.out.println("我错了!"+ i );
   i++;
  }
 }
}

3.do-while循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
doWhile循环
  do{
   循环体
   步进语句
  }while(条件判断)
  dowhile循环一上来就先执行一次do里面的内容,再进行条件判断是否继续循环
*/
public class Demo11DoWhile{
 public static void main(String[] args){
  int i = 1;
  do{
   System.out.println("起来吧,原谅你了");
   i++;
  }while(i <= 10);
 }
}

4.条件控制语句
break:
①在switch语句中使用,一旦执行,整个switch将被打断
②在循环中使用,一旦执行,整个循环被打断

1
2
3
4
5
6
7
8
9
10
public class Demo13Break{
 public static void main(String[] args){
  for(int i=1;i<=10;i++){
   if(i==4){
    break;
   }
   System.out.println("hello"+i);
  }
 }
}

continue:
在循环中使用,一旦执行,表示跳出当次循环,继续下一次循环

1
2
3
4
5
6
7
8
9
public class Demo14Continue{
 public static void main(String[] args){
  for(int i = 1;i <= 10;i++){
   if(i == 4){
    continue;
   }
   System.out.println(i+"层到了");
  }  
 }

break和continue的区别:
break是打断,终止整个循环结构,执行break后将不再执行任何循环体内容。
continue是跳出当次循环,继续下一次循环,执行continue后,循环还可以继续。
5.死循环

1
2
3
4
5
6
7
8
public class Demo15DeadLoop{
 public static void main(String[] args){
  while(true){
   System.out.println("I love Java!");
  }
  //System.out.println("hello");这是错误写法,循环不结束,这句话不会执行,会编译报错
 }
}

6.循环嵌套

1
2
3
4
5
6
7
8
9
public class Demo16LoopHourAndMinute {
 public static void main(String[] args){
  for(int hour = 0 ;hour < 24;hour++){
   for(int minute = 1;minute < 60;minute++){
    System.out.println( hour + "点" + minute + "分");
   }
  }
 }
}

方法

1.方法的定义
定义格式:
public static void 方法名称() {
方法体
}
调用格式:方法名称();
注意事项:

  1. 方法定义的先后顺序无所谓。
  2. 方法定义必须是挨着的,不能在一个方法的内部定义另外一个方法。
  3. 方法定义之后,自己不会执行的;如果希望执行,一定要进行方法的调用。
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Demo01Method {
    public static void main(String[] args) {
        printMethod();
    }
    public static void printMethod() {
        for (int j = 0; j < 5; j++) {
            for (int i = 0; i < 20; i++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

2.方法
方法其实就是若干语句的功能集合。

方法好比是一个工厂。
蒙牛工厂 原料:奶牛、饲料、水
产出物:奶制品
钢铁工厂 原料:铁矿石、煤炭
产出物:钢铁建材

参数(原料):就是进入方法的数据。
返回值(产出物):就是从方法中出来的数据。

定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称, …) {
方法体
return 返回值;
}

修饰符:现阶段的固定写法,public static
返回值类型:也就是方法最终产生的数据结果是什么类型
方法名称:方法的名字,规则和变量一样,小驼峰
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
PS:参数如果有多个,使用逗号进行分隔
方法体:方法需要做的事情,若干行代码
return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
返回值:也就是方法执行后最终产生的数据结果

注意:return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应。

定义一个两个int数字相加的方法。三要素:
返回值类型:int
方法名称:sum
参数列表:int a, int b

方法的三种调用格式。

  1. 单独调用:方法名称(参数);
  2. 打印调用:System.out.println(方法名称(参数));
  3. 赋值调用:数据类型 变量名称 = 方法名称(参数);

注意:此前学习的方法,返回值类型固定写为void,这种方法只能够单独调用,不能进行打印调用或者赋值调用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Demo02MethodDefine {
    public static void main(String[] args) {
        // 单独调用
        sum(10, 20);
        System.out.println("===========");
        // 打印调用
        System.out.println(sum(10, 20)); // 30
        System.out.println("===========");
        // 赋值调用
        int number = sum(15, 25);
        number += 100;
        System.out.println("变量的值:" + number); // 140
    }
    public static int sum(int a, int b) {
        System.out.println("方法执行啦!");
        int result = a + b;
        return result;
    }
}

3.方法的参数
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
例如两个数字相加,必须知道两个数字是各自多少,才能相加。

无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
例如定义一个方法,打印固定10次HelloWorld。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Demo03MethodParam {
    public static void main(String[] args) {
        method1(10, 20);
        System.out.println("==============");
        method2();
    }
    // 两个数字相乘,做乘法,必须知道两个数字各自是多少,否则无法进行计算
    // 有参数
    public static void method1(int a, int b) {
        int result = a * b;
        System.out.println("结果是:" + result);
    }
    // 例如打印输出固定10次文本字符串
    public static void method2() {
        for (int i = 0; i < 10; i++) {
            System.out.println("Hello, World!" + i);
        }
    }
}

4.return语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
题目要求:定义一个方法,用来【求出】两个数字之和。(你帮我算,算完之后把结果告诉我。)
题目变形:定义一个方法,用来【打印】两个数字之和。(你来计算,算完之后你自己负责显示结果,不用告诉我。)
注意事项:
对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用。
但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用。
 */
public class Demo04MethodReturn {
    public static void main(String[] args) {
        // 我是main方法,我来调用你。
        // 我调用你,你来帮我计算一下,算完了之后,把结果告诉我的num变量
        int num = getSum(10, 20);
        System.out.println("返回值是:" + num);
        System.out.println("==============");
        printSum(100, 200);
        System.out.println("==============");
        System.out.println(getSum(2, 3)); // 正确写法
        getSum(3, 5); // 正确写法,但是返回值没有用到
        System.out.println("==============");
        // 对于void没有返回值的方法,只能单独,不能打印或者赋值
//        System.out.println(printSum(2, 3)); // 错误写法!
//        System.out.println(void);
//        int num2 = printSum(10, 20); // 错误写法!
//        int num3 = void;
//        void num4 = void;
    }
    // 我是一个方法,我负责两个数字相加。
    // 我有返回值int,谁调用我,我就把计算结果告诉谁
    public static int getSum(int a, int b) {
        int result = a + b;
        return result;
    }
    // 我是一个方法,我负责两个数字相加。
    // 我没有返回值,不会把结果告诉任何人,而是我自己进行打印输出。
    public static void printSum(int a, int b) {
        int result = a + b;
        System.out.println("结果是:" + result);
    }
}

5.使用方法时注意事项

  1. 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
  2. 方法定义的前后顺序无所谓。
  3. 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
  4. 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
  5. return后面的返回值数据,必须和方法的返回值类型,对应起来。
  6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
  7. 对于void方法当中最后一行的return可以省略不写。
  8. 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Demo04MethodNotice {
    public static int method1() {
        return 10;
    }
    public static void method2() {
//        return 10; // 错误的写法!方法没有返回值,return后面就不能写返回值。
        return; // 没有返回值,只是结束方法的执行而已。
    }
    public static void method3() {
        System.out.println("AAA");
        System.out.println("BBB");
//        return; // 最后一行的return可以省略不写。
    }
    public static int getMax(int a, int b) {
        /*int max;
        if (a > b) {
            max = a;
        } else {
            max = b;
        }
        return max;*/
        if (a > b) {
            return a;
        } else {
            return b;
        }
    }
}
方法的重载

什么是方法的重载?
多个方法的名称一样,但是数据列表不一样。

方法的重载和下列因素有关:
1.和参数个数有关。
2.和多种参数的顺序有关。
3.和参数类型有关。

方法的重载和下列因数无关:
1.和参数的名称无关。
2.和返回值类型无关。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class Demo01MethodOverload {
    public static void main(String[] args) {
        System.out.println(sum(10,20));
        System.out.println(sum(10,20,30));
        System.out.println(sum(10,20,30,40));
    }
    public static  int sum(int a,int b){
        return a + b;
    }
    //与参数的名称无关
//    public static int sum(int x , int y){
//        return x + y;
//    }
    //与返回值类型无关
//    public static double sum(double a , double b){
//        return a + b;
//    }
    //与参数类型有关
    public static int sum(double a ,double b){
        return (int)(a + b);
    }
    //与多个不同类型参数的顺序有关
    public static int sum(double a,int b){
        return (int)(a + b);
    }
    public static int sum(int a , double b){
        return (int)(a + b);
    }
    public static int sum(int a,int b,int c){
        return a + b + c;
    }
    public static int sum(int a,int b,int c,int d){
        return a + b + c + d;
    }
}

数组

什么是数组?
数组是一个容器,用来存储同一类型的数据。

数组的特点:
1.数组是一种引用类型数据。
2.数组中的数据是属于同一种类型。
3.数组的长度不可改变。

定义一个数组有两种常见的方式:
1.动态初始化数组(指定长度):
数据类型[] 数组名称 = new 数据类型[数组长度];

1
2
3
4
5
6
7
8
9
10
public class Demo01Array {
    public static void main(String[] args) {
        //创建一个长度为10的int类型数组
        int[] arr1 = new int[10];
        //创建一个长度为20的double类型数组
        double[] arr2 = new double[20];
        //创建一个长度为5的String类型数组
        String[] arr3 = new String[5];
    }
}

2.静态初始化数组(指定内容):
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,…};

1
2
3
4
5
6
7
8
public class Demo02Array {
    public static void main(String[] args) {
        //创建一个数组,是int类型数据,里面装 5,10,15
        int[] arr1 = new int[]{ 5 , 10 , 15};
        //创建一个数组,里面装String类型数据,里面装"Hello" ,"World" ,"Java"
        String[] arr2 = new String[]{"Hello" , "World" , "Java"};
    }
}

静态初始化数组的省略格式:
数据类型[] 数组名称 = {元素1,元素2,…};

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Demo03Array {
    public static void main(String[] args) {
        //省略格式创建一个给int数组,使用省略格式,里面是5,6,7
        int[] arr1 = {5,6,7};
        //静态初始化的标准格式可以拆分为两个步骤
        int[] arr2;
        arr2 = new int[]{5,6,7};
        //动态初始化也可以拆分为两个步骤
        int[] arr3;
        arr3 = new int[10];
        //静态初始化一旦使用省略格式,不能再拆分为两个步骤
//        int[] arr4;
//        arr4 = {5,6,7};//编译报错,这种格式不被允许
    }
}

Java中内存划分为5个部分:
1.栈(Stack):存储局部变量,方法的运行在栈中。
2.堆(Heap):凡是new出来的东西,都在堆中。
3.方法区:存储.class文件中的信息,包含方法信息。
4.本地方法栈:和操作系统有关。
5.寄存器:和CPU有关。

Java中数组的内存图:
1.一个数组的内存图:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Demo01ArrayOne {
    public static void main(String[] args) {
        int[] arr1 = new int[3];
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);
        arr1[1] = 10;
        arr1[2] = 20;
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);
    }
}

 

2.两个数组的内存图:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Demo02ArrayTwo {
    public static void main(String[] args) {
        int[] arrA = new int[3];
        System.out.println(arrA[0]);
        System.out.println(arrA[1]);
        System.out.println(arrA[2]);
        arrA[1] = 10;
        arrA[2] = 20;
        System.out.println(arrA[0]);
        System.out.println(arrA[1]);
        System.out.println(arrA[2]);
        System.out.println("==================");
        int[] arrB = new int[3];
        System.out.println(arrB[0]);
        System.out.println(arrB[1]);
        System.out.println(arrB[2]);
        arrB[1] = 10;
        arrB[2] = 20;
        System.out.println(arrB[0]);
        System.out.println(arrB[1]);
        System.out.println(arrB[2]);
    }
}

 
3.两个引用指向同一个数组的内存图:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Demo03ArraySame {
    public static void main(String[] args) {
        int[] arrA = new int[3];
        System.out.println(arrA[0]);//0
        System.out.println(arrA[1]);//0
        System.out.println(arrA[2]);//0
        arrA[1] = 10;
        arrA[2] = 20;
        System.out.println(arrA[0]);//0
        System.out.println(arrA[1]);//10
        System.out.println(arrA[2]);//20
        System.out.println("==============");
        int[] arrB = arrA;
        System.out.println(arrB[0]);//0
        System.out.println(arrB[1]);//10
        System.out.println(arrB[2]);//20
        arrB[1] = 100;
        arrB[2] = 200;
        System.out.println(arrB[0]);//0
        System.out.println(arrB[1]);//100
        System.out.println(arrB[2]);//200
        System.out.println("==============");
    }
}

 

数组的两种常见问题:
1.数组索引越界异常:访问数组元素时,索引编号不存在,那么将会发生数据索引越界异常。ArrayIdexOutOfBoundsException
原因:索引值不正确。
解决办法:修改索引值。

1
2
3
4
5
6
7
8
9
10
public class Demo01ArrayIndexOutOfBoundsException {
    public static void main(String[] args) {
        int[] arr = {15, 25, 35};
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        //错误写法,会引发数组索引越界异常
        System.out.println(arr[3]);
    }
}

2.空指针异常:如果没有对数组进行初始化,访问元素的时候,会产生空指针异常。NullPointerException
原因:没有对数组进行初始化,数组是null值。
解决办法:对数组进行初始化。

1
2
3
4
5
6
7
public class Demo02NullPointerException {
    public static void main(String[] args) {
        int[] arr = null;
        //arr = new int[3];
        System.out.println(arr[0]);
    }
}

数组的长度:
获取数组的长度通过其length属性,即可获得。
int length = arr.length;
注意事项:
数组一旦创建,其长度是不可变的。

1
2
3
4
5
6
7
8
9
10
11
public class Demo03ArrayLength {
    public static void main(String[] args) {
        //创建一个长度为3的数组
        int[] arr = new int[3];
        System.out.println(arr.length);
        //这里并不是数组的长度由3变成5,而是又创建了一个
        // 长度为5的数组,变量arr的地址值发生了改变。
        arr = new int[5];
        System.out.println(arr.length);
    }
}

遍历数组:对数组中每一个元素进行逐个处理。

1
2
3
4
5
6
7
8
public class Demo04Array {
    public static void main(String[] args) {
        int[] arr = {2,3,4,5,6,7,8,9,14,15,123,144,234,56,43,21,78,82,22};
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

练习:
1.求出数组中的最大值:

1
2
3
4
5
6
7
8
9
10
11
12
public class Demo05ArrayMax {
    public static void main(String[] args) {
        int[] arr = {2,3,4,5,6,7,8,9,14,15,123,144,234,56,43,21,78,82,22};
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(arr[i]>max){
                max = arr[i];
            }
        }
        System.out.println("最大值是:"+ max );
    }
}

2.求出数组中的最小值:

1
2
3
4
5
6
7
8
9
10
11
12
public class Demo06ArrayMin {
    public static void main(String[] args) {
        int[] arr = {2,3,4,5,6,7,8,9,14,15,123,144,234,56,43,21,78,82,22};
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(arr[i]<min){
                min = arr[i];
            }
        }
        System.out.println("最小值是:" + min );
    }
}

3.数组的反转:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
* 数组的反转:
* 本来的样子:[1,2,3,4]
* 反转的样子:[4,3,2,1]
* 不能使用新的数组
*
* 思路:
* 1.数组的反转是两个对称位置的数据交换
* 2.需要两个索引,min和max
* 3.需要一个临时变量
* 4.条件判断,当min小于max时才交换,否则不交换
* */
public class Demo07ArrayReverse {
    public static void main(String[] args) {
        int[] arr = {2,3,4,5,6,7,8,9,14,15,123,144,234,56,43,21,78,82,22};
        //遍历原来的数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println();
        //反转
        for (int min=0,max = arr.length-1; min < max ; min++ , max-- ){
            int temp = arr[min];
            arr[min] = arr[max];
            arr[max] = temp;
        }
        //遍历新的数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}

数组也可以作为方法的参数:
当调用方法的时候,向小括号传参,事实上传递的是数组在堆内存中的地址值。
数组也可以作为方法的返回值:
其实返回的也是数组在堆内存中的地址值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Demo01ArrayParam {
    public static void main(String[] args) {
        int[] arr = {10,20,30};
        myPrint(arr);
        int[] result = sumAndAvg(arr);
        System.out.println(result);
        myPrint(result);
    }
    public static void myPrint(int[] arr){
        //事实上传递的是地址值
        System.out.println(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
    public static int[] sumAndAvg(int[] arr){
        int[] arr1 = null;
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        int avg = sum / arr.length;
        arr1 = new int[]{sum , avg};
        return arr1;
    }
}
Tags:语法,JAVA,基础语法  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击。 昵称:注册  登录
[ 查看全部 ] 网友评论
    没有任何评论
闂佽崵濮嶉崘顭戜痪闂佸搫顑戠换婵嗙暦閻樿宸濇い鎺戝€婚幉顕€鏌℃径灞藉壋闁瑰嚖鎷�
 [闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐椤旂懓浜鹃柛鎰靛枛楠炪垺淇婇悙瀛樼闁圭⒈鍋婇妶顏呭閺夋垹顦板銈嗗笂閼虫儼銇愰崸妤佲拻濞达絽鎲¢幆鍫㈢磼鐎b晝绐旂€规洏鍨介幊鏍煘閹傚濠殿喗锕╅崜锕€危閹间焦鎳氶柡宥庡幗閻撱儵鏌¢崶銊︾殤闁告柨绉堕惀顏堫敇閻愰潧鐓熼梺鍝勬湰濞茬喎鐣锋總鍓叉晝妞ゎ偒鍘奸弸鍫ユ⒒娴e憡鎯堥柣顓烆槺閹广垹鈹戦崱娆愭闂佸湱鍎ら〃鍡涘疾濠婂牊鐓㈡俊顖欒濡牆霉绾攱瀚�]闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閸欏偊绠撻弻锝夊箛椤旇姤姣勯梺娲诲幖濡濡撮幒鎴僵闁挎繂鎳嶆竟鏇炩攽閻樻鏆柍褜鍓欑壕顓熺濞戞埃鍋撻崹顐g凡閻庢凹鍠楃粋鎺楁晜閸撗呯厯婵犮垹澧庢灙妞ゃ儲纰嶇换婵嬫偨闂堟稐娌梺鎼炲妿閺佸憡绔熼弴銏╂晣闁绘ɑ鍓氬ḿ鐔兼⒑鐟欏嫷鍟忛柛鐘虫皑婢规洘绺介崨濠勫幈濠电偛妫欓崗搴敂閸曨厽娈奸梺绯曞墲閻熴垽宕戦幘鑸靛枂闁告洦鍓涢埞娑氱磽娴h櫣甯涚紒璇插€块、姘舵晲婢跺﹦顔掑銈嗘濡嫭绂嶈ぐ鎺撳€甸柣鐔告緲椤ュ繘鏌涢悩鎰佹當鐞氭瑩鏌涢鐘插姕闁抽攱甯掗湁闁挎繂鎳忛崯鐐烘煙椤栨氨澧﹂柡宀嬬到铻栭柍褜鍓欒灋婵犻潧顑囧畵渚€鏌″搴″季闁轰礁鍟撮弻銊╁籍閸ヮ煈妫勬繛瀵稿█缁犳牕顫忓ú顏勫窛濠电姴鍟ˇ鈺呮⒑閸涘﹥灏伴柣鈺婂灦楠炲啴鎮块妯规睏闂佸湱鍎ら幐楣冨矗閸℃稒鈷戠紓浣股戠粈鈧梺绋匡工濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹100 c闂傚倸鍊搁崐宄懊归崶褏鏆﹂柛顭戝亝閸欏繘鏌℃径瀣鐟滅増甯掔粈瀣亜閺嶃劍鐨戞い鏂挎濮婅櫣鎹勯妸銉︾彚闂佺懓鍤栭幏锟�
 [闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剚鐒肩€广儱鎳愰敍鐔兼⒑閸︻厼顣兼繝銏★耿瀹曞綊宕掑☉鏍︾盎闂佸搫绉查崝宀勬倿瑜版帗鐓涢悗锝庝邯閸欏嫰鏌$仦鐐缂佺姵绋撻埀顒婄秵娴滅偞瀵奸崟顖涚厽闊洦鎸剧粻鎶芥煛娴e壊鐓肩€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹]濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鏌涢锝嗙缂佺姳鍗抽弻鐔兼⒒鐎垫瓕绠為梺鎼炲劗閺備線宕戦幘璇叉嵍妞ゆ挾鍊悙瑁佺懓饪伴崘鈺勭缂備浇椴哥敮锟犲春閳ь剚銇勯幒鎴濐仾闁稿﹤顭烽弻锝夘敃閵堝應鏋呭┑顔硷龚濞咃綁骞忛悩璇茬闁圭儤绻傛俊鐑芥⒒娴e憡鍟為柛鏃€锚閻g兘鎮介崹顐綗闂佸湱鍋撻崜姘缚閳哄懏鐓曟俊銈呭暙娴犳粎鎮敐澶嬧拻濞达絽鎲¢崯鐐寸箾鐠囇呯暤鐎规洘绮岄埥澶愬焵椤戣棄浜鹃柛娑樼摠閸婂鏌ら幁鎺戝姎濞寸媭鍨跺铏规嫚閳ュ啿绠洪柣銏╁灡鐢绌辨繝鍐浄閻庯綆鍋嗛崢閬嶆⒑鐎圭姵銆冪紒鈧笟鈧崺鈧い鎺嗗亾闁诲繑绻堥、姘舵晲婢跺﹪鍞堕梺鍝勬川閸犲酣鍩€椤掆偓椤兘寮诲☉銏犵労闁告劗鍋撻悾鍏肩箾鐎电ǹ顫掗柛鎰剁稻閺傗偓闂備胶绮崝鏇烆嚕閸洘鏅€广儱顦伴悡娑樸€掑顒佸窛闁告﹫鎷�-TR
 [闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇楀亾妞ゎ亜鍟村畷褰掝敋閸涱垰鏁搁梻渚€鈧偛鑻晶鎵磼鏉堛劌娴鐐存崌楠炴帒鈹戦崼婵囧€梻鍌欐祰椤曟牠宕规导瀛樺剹闁稿瞼鍋涚粻鏍ㄧ箾閸℃ɑ鎯勯柡浣告閺屾稓浠︾拠娴嬪亾閺嶎偆鐭堟い鎰堕檮閳锋垿鏌ゆ慨鎰偓鏇熺墡濠电偛鐡ㄧ划鍫㈠垝濞嗗繒鏆︽繝闈涙-閸氬顭跨捄鐚存敾婵″樊鍓熷铏圭矙鐠恒劎浼囬梺绋款儑閸嬨倕鐣烽幋锔芥櫜闁告哎鍊曠紞濠囧极閹版澘鐐婇柕濞垮劜閻n剛绱撻崒娆掝唹闁稿鎹囬弻娑㈠箛閵婏附婢撴繛瀛樼矋缁捇寮婚悢鐓庡瀭妞ゆ梻鈷堟禒楣冩煟鎼淬垻鍟查柟鍑ゆ嫹]LM324闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剦鏁冮柨鏇楀亾闁汇倗鍋撶换婵囩節閸屾粌顣虹紓浣插亾濠㈣埖鍔栭悡娑氣偓骞垮劚妤犳悂鐛弽銊ょ箚妞ゆ劧缍囬懓鍧楁煛鐏炶濮傞柟顔哄€濆畷鎺戔槈濮楀棔绱�4~20mA闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剚鐒肩€广儱鎳愰敍鐔兼⒑绾懏褰х紒鐘冲灩缁顢涢悙瀵稿弳闂佺粯娲栭崐鍦偓姘炬嫹1~5V闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇炲€归崕鎴犳喐閻楀牆绗掗柛銊ュ€婚幉鎼佹偋閸繄鐟查梺绋匡龚閸╂牠骞堥妸銉庣喐寰勭粙鎸庡創闂備焦妞块崢濂告偋閹捐钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�
 [闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇楀亾妞ゎ亜鍟村畷褰掝敋閸涱垰鏁搁梻渚€鈧偛鑻晶鎵磼鏉堛劌娴鐐存崌楠炴帒鈹戦崼婵囧€梻鍌欐祰椤曟牠宕规导瀛樺剹闁稿瞼鍋涚粻鏍ㄧ箾閸℃ɑ鎯勯柡浣告閺屾稓浠︾拠娴嬪亾閺嶎偆鐭堟い鎰堕檮閳锋垿鏌ゆ慨鎰偓鏇熺墡濠电偛鐡ㄧ划鍫㈠垝濞嗗繒鏆︽繝闈涙-閸氬顭跨捄鐚存敾婵″樊鍓熷铏圭矙鐠恒劎浼囬梺绋款儑閸嬨倕鐣烽幋锔芥櫜闁告哎鍊曠紞濠囧极閹版澘鐐婇柕濞垮劜閻n剛绱撻崒娆掝唹闁稿鎹囬弻娑㈠箛閵婏附婢撴繛瀛樼矋缁捇寮婚悢鐓庡瀭妞ゆ梻鈷堟禒楣冩煟鎼淬垻鍟查柟鍑ゆ嫹]LM386濠电姷鏁告慨鐑姐€傞鐐潟闁哄洢鍨圭壕缁樼箾閹寸儑鍏柤鏉挎健瀵爼宕煎顓熺彅闂佹悶鍔嶇换鍐Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹粙鍖″伐闁诲繑宀告俊鐢稿礋椤栨氨顔婇悗骞垮劚濞层倖淇婇懞銉х瘈婵炲牆鐏濋悘锟犳煙閸涘﹤鈻曠€殿喖顭烽幃銏ゆ偂鎼达綆鍞归梻渚€鈧稑宓嗘繛浣冲啠鏋旀い鎾跺剱濞撳鏌曢崼婵囶棡闁绘挶鍎甸弻銊╁即閵娿倝鍋楅悗娈垮枦椤曆囧煡婢跺ň鍫柛娑卞灡濠㈡垿姊绘担鐑樺殌闁诲繑绻堝畷顖烆敃閿曗偓缁€鍫ユ偣鏉炴媽顒熸繛鎾愁煼閺屾洟宕煎┑鍡樻闂佸憡姊圭划鎾诲蓟閻斿吋鍋¢柣妤€鐗婇幃娆忣渻閵堝棙绌跨紓宥勭劍娣囧﹪骞栨担鍝ュ幐婵炶揪缍€濞咃綁寮虫导瀛樼厽闁绘柨鎽滈惌濠冦亜閹存繃顥犵紒顔碱儏椤撳吋寰勭€n偅鐝冲┑鐘灱濞夋盯顢栭崶顒€鍌ㄩ梺顒€绉甸埛鎴︽煙缁嬫寧鎹g紒鐘虫崌閺屾盯鎮ゆ担闀愮凹婵烇絽娲ら敃銉х紦娴犲宸濆┑鐘插€风紓鎾翠繆閻愵亜鈧牠鎮ч幘璇茬9闁哄稁鍋€閸嬫挸顫濋悙顒€顏�
 [闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇楀亾妞ゎ亜鍟村畷褰掝敋閸涱垰鏁搁梻渚€鈧偛鑻晶鎵磼鏉堛劌娴鐐存崌楠炴帒鈹戦崼婵囧€梻鍌欐祰椤曟牠宕规导瀛樺剹闁稿瞼鍋涚粻鏍ㄧ箾閸℃ɑ鎯勯柡浣告閺屾稓浠︾拠娴嬪亾閺嶎偆鐭堟い鎰堕檮閳锋垿鏌ゆ慨鎰偓鏇熺墡濠电偛鐡ㄧ划鍫㈠垝濞嗗繒鏆︽繝闈涙-閸氬顭跨捄鐚存敾婵″樊鍓熷铏圭矙鐠恒劎浼囬梺绋款儑閸嬨倕鐣烽幋锔芥櫜闁告哎鍊曠紞濠囧极閹版澘鐐婇柕濞垮劜閻n剛绱撻崒娆掝唹闁稿鎹囬弻娑㈠箛閵婏附婢撴繛瀛樼矋缁捇寮婚悢鐓庡瀭妞ゆ梻鈷堟禒楣冩煟鎼淬垻鍟查柟鍑ゆ嫹]936闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柛鎾茬閸ㄦ繃銇勯弽銊х煁闁哄棙绮撻弻鐔兼倻濮楀棙鐣烽梺鍝勬噺缁诲牓寮婚弴銏犻唶婵犻潧鐗嗛。鑸电箾鐎涙ḿ鐭婄紓宥咃躬瀵鎮㈤搹鍦紲闂侀潧绻掓慨鐢告倶瀹ュ鈷戠紒瀣儥閸庡秹鏌涢弬璺ㄧ劯婵犫偓娓氣偓濮婃椽骞愭惔锝囩暤闂佺懓鍟块柊锝咁嚕閹惰姤鍋勯柛蹇氬亹閸樹粙姊洪崫鍕偓鍦偓绗涘洤鍚归柛銉墯閻撴盯鎮橀悙鎻掆挃闁宠棄顦甸幗鍫曟晲婢跺鍘介梺瑙勫劤閸熷潡顢楅姀銈嗙厽闊洤娴风粣鏃€鎱ㄦ繝鍛仩闁归濞€閸ㄩ箖鎼归銈勯偗闂傚倷鐒︾€笛兠洪敂鐣岊洸婵犲﹤鐗婇崑鈺呮煟閹达絾顥夐梺鍗炴喘閺岋繝宕堕埡浣圭€惧┑鐐叉噷閸ㄨ棄顫忛搹瑙勫磯闁靛ǹ鍎查悵銏ゆ⒑閻熸澘娈╅柟鍑ゆ嫹
 [闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐椤旂懓浜鹃柛鎰靛枛楠炪垺淇婇悙瀛樼闁圭⒈鍋婇妶顏呭閺夋垹顦板銈嗗笂閼虫儼銇愰崸妤佲拻濞达絽鎲¢幆鍫㈢磼鐎b晝绐旂€规洏鍨介幊鏍煘閹傚濠殿喗锕╅崜锕€危閹间焦鎳氶柡宥庡幗閻撱儵鏌¢崶銊︾殤闁告柨绉堕惀顏堫敇閻愰潧鐓熼梺鍝勬湰濞茬喎鐣锋總鍓叉晝妞ゎ偒鍘奸弸鍫ユ⒒娴e憡鎯堥柣顓烆槺閹广垹鈹戦崱娆愭闂佸湱鍎ら〃鍡涘疾濠婂牊鐓㈡俊顖欒濡牆霉绾攱瀚�]闂傚倸鍊搁崐鐑芥嚄閸洖纾块柣銏⑶圭粈鍫熺節闂堟稓澧涢柡鍡樼矒閺岀喖鎮滃鍡樼暥缂備胶濮锋繛鈧鐐寸墪鑿愭い鎺嗗亾濠碘€茬矙閺岋繝宕担绋库拫闂佸搫鐬奸崰鏍蓟閸ヮ剚鏅濋柍褜鍓熷畷銏ゅ箻椤旂晫鍘搁柣搴秵閸嬪棙鏅堕悽鍛婄厸閻忕偟鍋撶粈澶岀磼閻樺磭娲村┑锛勬焿椤︽挳鏌ㄥ☉姘灈婵﹥妞藉Λ鍐ㄢ槈濮橆剦鏉搁梻浣烘嚀閹测剝绻涙繝鍥╁祦闁告劦鍘规禍褰掓煙閻戞ɑ灏ù鐘茬箻閺岋絾鎯旈姀鈶╁闂佹寧纰嶉妵鍕疀閵夛箑顏�+婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌i幇顒佹儓缂佺姳鍗抽弻鐔虹磼閵忕姵鐏堥梺姹囧€楅崑鎾舵崲濞戙垹绠i柣鎰皺閸斾即姊虹粙娆惧剱闁圭懓娲獮鍡涘磼閻愭彃绐涙繝鐢靛Т閸嬪棙瀵奸敓锟�+闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柛顐f磸閳ь兛鐒︾换婵嬪礋椤撶媭妲卞┑鐐存綑閸氬岣垮▎鎴濐棜闁秆勵殕閻撴瑧绱撴担闈涚仼婵炲懏锕㈤弻鈩冩媴閸涘⿴妫﹂梺鍝勭焿缂嶄礁顕i鍕瀭妞ゆ棁妫勯埀顒夊灦濮婅櫣绮欓崸妤娾偓妤冪磼婢跺﹦绉虹€殿喛顕ч埥澶愬閻樻彃绁梻渚€娼ф灙闁稿孩澹嗛懞閬嶆嚒閵堝洨锛濇繛杈剧稻瑜板啯绂嶆ィ鍐┾拺閻犳亽鍔屽▍鎰版煙閸戙倖瀚�
 [闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣椤愪粙鏌ㄩ悢鍝勑㈢痪鎯ь煼閺屾稑鈽夐崡鐐插濠电偛鐨烽弲鐘诲蓟閺囩喓绠鹃柣鎰靛墯閻濇棃姊洪崫鍕靛剮缂佽埖宀稿濠氬即閵忕娀鍞跺┑鐘茬仛閸旀牗鏅ラ梻鍌欒兌鏋い鎴濆暣瀹曟繈骞嬪┑鎰稁婵犵數濮甸懝楣冩煁閸ヮ剚鐓熼柡鍐e亾濞存粈绮欓崺鈧い鎺嶇濞搭噣鏌″畝鈧崰鏍箰婵犲啫绶為悘鐐寸粡閸ャ劎鍘靛銈嗘⒐椤戞瑥岣块幇鐗堢厵鐎瑰嫮澧楅崵鍥煙椤旀儳鍘存鐐茬Ч椤㈡岸宕ㄩ褏鍋涢埞鎴︽晬閸曨偂鏉梺绋匡攻閻楃娀鐛幇鏉跨濞达絽鎽滈悿鍛存⒑閻愯棄鍔ょ紒鐑╁亾缂傚倸鍊圭喊宥夊Φ閸曨喚鐤€闁规崘娉涢埛鍫ユ⒑鏉炴壆顦︾紒澶屾暩閹广垹鈽夐姀鐘茶€垮┑鈽嗗灠閹碱偉顤傞梻鍌欒兌鏋い鎴炲灴楠炲繘鏁撻敓锟�]S7-200PLC闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇炲€归崕鎴犳喐閻楀牆绗掔紒鈧径灞稿亾閸忓浜鹃梺閫炲苯澧撮柛鈹惧亾濡炪倖甯婄粈渚€宕甸鈧湁婵犲﹤鎳庢禒杈殽閻愭潙濮嶆鐐村笒铻栭柍褜鍓熼敐鐐哄川鐎涙ḿ鍘梺鍓插亝缁诲啴藟濠婂牊鐓曢柟鐐綑閳绘洘鎱ㄦ繝鍛仩缂佽鲸甯掕灒闁绘垟鏅滅€氱粯绻濈喊妯峰亾閸愯尙楠囬柣銏╁灲缁绘繈鎮伴璺ㄧ杸婵炴垼椴搁弲婵嬫⒑閹惰姤鏁遍柤鐟板⒔缁辩偞绻濋崶褏鐣哄銈呯箰閻楀棗顔忓┑鍥ヤ簻闁哄啫鍊甸幏鈥趁圭涵閿嬪 S7_2
 [闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剚鐒肩€广儱鎳愰敍鐔兼⒑閸︻厼顣兼繝銏★耿瀹曞綊宕掑☉鏍︾盎闂佸搫绉查崝宀勬倿瑜版帗鐓涢悗锝庝邯閸欏嫰鏌$仦鐐缂佺姵绋撻埀顒婄秵娴滅偞瀵奸崟顖涚厽闊洦鎸剧粻鎶芥煛娴e壊鐓肩€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹]S7-200闂傚倸鍊搁崐椋庣矆娴i潻鑰块梺顒€绉撮崒銊ф喐閺冨牆绠栨繛宸簻鎯熼梺瀹犳〃閼冲爼顢欓崶銊х瘈闁汇垽娼ф牎闂佺厧缍婄粻鏍х暦濞嗘挻鍋愮紓浣贯缚閸橀亶姊虹涵鍛劷闁告柨绉撮埢宥夊炊閵婏絼绨婚梺鍐叉惈閸燁偊宕㈤幘顔界厵妞ゆ梹顑欏ḿ鎰版煙瀹勭増鍤囩€规洏鍔嶇换婵嬪川椤栵絾鏁ょ紓鍌氬€搁崐椋庢媼閺屻儱纾婚柟鍓х帛閻撴洟鏌¢崶銉ュ闁诲骏绻濋弻锝夊箻鐎涙ḿ顦伴梺缁樻惄閸嬪﹤鐣烽懜娈挎Ч閹兼番鍨规禒褰掓⒒娴e憡鍟為拑杈╃磼椤斿吋鎹f俊鍙夊姍楠炴帒螖閳ь剛绮婚悢鍏煎€甸柨婵嗛娴滄粍銇勮箛銉﹀,STEP7
 [闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剚鐒肩€广儱鎳愰敍鐔兼⒑閸︻厼顣兼繝銏★耿瀹曞綊宕掑☉鏍︾盎闂佸搫绉查崝宀勬倿瑜版帗鐓涢悗锝庝邯閸欏嫰鏌$仦鐐缂佺姵绋撻埀顒婄秵娴滅偞瀵奸崟顖涚厽闊洦鎸剧粻鎶芥煛娴e壊鐓肩€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹]ModbusPoll闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫宥夊礋椤愩垻浜伴柣搴″帨閸嬫捇鏌涢弴鐐典粵闁哄懌鍨藉铏圭磼濡厧鈪归梺缁樼⊕閻sSalve闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柤鍝ユ暩娴犳艾鈹戞幊閸婃鎱ㄧ€靛憡宕叉慨妞诲亾闁绘侗鍠涚粻娑樷槈濞嗘劖顏熼梻浣芥硶閸o箓骞忛敓锟�
 [闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剚鐒肩€广儱鎳愰敍鐔兼⒑閸︻厼顣兼繝銏★耿瀹曞綊宕掑☉鏍︾盎闂佸搫绉查崝宀勬倿瑜版帗鐓涢悗锝庝邯閸欏嫰鏌$仦鐐缂佺姵绋撻埀顒婄秵娴滅偞瀵奸崟顖涚厽闊洦鎸剧粻鎶芥煛娴e壊鐓肩€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹]STEP7婵犵數濮烽弫鍛婃叏閻戝鈧倿鎸婃竟鈺嬬秮瀹曘劑寮堕幋婵堚偓顓烆渻閵堝懐绠伴柣妤€妫涚划鍫ュ醇閻旇櫣鐦堥梻鍌氱墛缁嬫挻鏅堕幇鐗堢厱閻庯綆鍋呯亸顓熴亜椤愶絿绠炴い銏★耿閹晠宕橀崣澶屽酱闂傚倸鍊风粈渚€骞栭锔藉殣妞ゆ牜鍋為崕妤€霉閿濆牊顏犲☉鎾崇У缁绘盯骞嬪▎蹇曚患濠碘槅鍋呴敃銏ゅ箖瑜版帒绠掗柟鐑樺灥椤姊虹€圭媭鍤欓柤娲诲灦閸╃偤骞嬮敂钘夆偓椋庘偓鐟板閸犳牕鈻撻懜鐢电瘈婵炲牆鐏濋弸娆撴煕濡も偓閸熷潡鎮鹃悜钘夌疀闁哄鐏濆畵鍡涙⒑缂佹◤顏堝箹椤愩垻姣堥梻鍌氬€峰ù鍥р枖閺囥垹闂柨鏇炲€哥粻顖炴煥閻曞倹瀚� Smart_
 [闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剚鐒肩€广儱鎳愰敍鐔兼⒑閸︻厼顣兼繝銏★耿瀹曞綊宕掑☉鏍︾盎闂佸搫绉查崝宀勬倿瑜版帗鐓涢悗锝庝邯閸欏嫰鏌$仦鐐缂佺姵绋撻埀顒婄秵娴滅偞瀵奸崟顖涚厽闊洦鎸剧粻鎶芥煛娴e壊鐓肩€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹]Modbus闂傚倸鍊搁崐宄懊归崶褏鏆﹂柛顭戝亝閸欏繘鏌熺紒銏犳珮闁轰礁瀚伴弻娑樷槈濞嗘劗绋囬梺姹囧€ら崳锝夊蓟閻旂厧绠氶柡澶婃櫇閹剧粯鐓曢幖绮规閺€濠氭煏閸パ冾伃鐎殿喕绮欐俊姝岊槾闁绘挴鍋撻梻鍌欑劍閹爼宕濆鍥ㄥ床闁割偁鍎遍拑鐔哥箾閹存瑥鐏╃紒鐘电帛娣囧﹪濡堕崒姘闂備胶枪閿曘劌鐣烽悽绋跨疅闁圭虎鍠楅弲鎼佹煥閻曞倹瀚� v1.024 缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰矙閺屾洟宕煎┑鎰︾紓浣哄閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟�
 [闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剚鐒肩€广儱鎳愰敍鐔兼⒑閸︻厼顣兼繝銏★耿瀹曞綊宕掑☉鏍︾盎闂佸搫绉查崝宀勬倿瑜版帗鐓涢悗锝庝邯閸欏嫰鏌$仦鐐缂佺姵绋撻埀顒婄秵娴滅偞瀵奸崟顖涚厽闊洦鎸剧粻鎶芥煛娴e壊鐓肩€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹]Modscan32闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫宥夊礋椤愩垻浜伴柣搴″帨閸嬫捇鏌涢弴鐐典粵闁哄懌鍨藉铏圭磼濡厧鈪归梺缁樼⊕绾€抦32,modb
 [闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇楀亾妞ゎ亜鍟村畷褰掝敋閸涱垰鏁搁梻渚€鈧偛鑻晶鎵磼鏉堛劌娴鐐存崌楠炴帒鈹戦崼婵囧€梻鍌欐祰椤曟牠宕规导瀛樺剹闁稿瞼鍋涚粻鏍ㄧ箾閸℃ɑ鎯勯柡浣告閺屾稓浠︾拠娴嬪亾閺嶎偆鐭堟い鎰堕檮閳锋垿鏌ゆ慨鎰偓鏇熺墡濠电偛鐡ㄧ划鍫㈠垝濞嗗繒鏆︽繝闈涙-閸氬顭跨捄鐚存敾婵″樊鍓熷铏圭矙鐠恒劎浼囬梺绋款儑閸嬨倕鐣烽幋锔芥櫜闁告哎鍊曠紞濠囧极閹版澘鐐婇柕濞垮劜閻n剛绱撻崒娆掝唹闁稿鎹囬弻娑㈠箛閵婏附婢撴繛瀛樼矋缁捇寮婚悢鐓庡瀭妞ゆ梻鈷堟禒楣冩煟鎼淬垻鍟查柟鍑ゆ嫹]89c51闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柤鍝ユ暩娴犳氨绱撻崒娆掑厡缂侇噮鍨跺畷婵嗏枎閹烘搩妫ㄩ梻鍌氬€风欢锟犲礈濞嗘垹鐭撻柣銏⑶圭壕濠氭煟閺傛寧鎲哥紒鐘荤畺閺岀喓鈧稒岣块幊鍐煟韫囧﹥娅嗗ǎ鍥э躬椤㈡洟鏁愯箛姘e亾閹稿孩鍙忓┑鐘插暞閵囨繃銇勯姀鈩冪闁轰焦鍔欏畷鍫曞礈娴i绀冮梻鍌氬€搁崐鎼佸磹缁嬭娑樜旈崘顏嗩槸婵犵數濮村ú銈夋嫅閻斿吋鐓ユ繝闈涙-濡牓鏌℃担绋库偓鍧楀蓟濞戙垹鐒洪柛鎰亾閻g兘姊虹紒妯肩細闁搞劏宕靛Σ鎰板箻鐎涙ê顎撴繛瀵稿Т椤戝懘骞楅悽鍛娾拺缂備焦眉缁惰鲸淇婇崣澶岀潉tues
 [闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇楀亾妞ゎ亜鍟村畷褰掝敋閸涱垰鏁搁梻渚€鈧偛鑻晶鎵磼鏉堛劌娴鐐存崌楠炴帒鈹戦崼婵囧€梻鍌欐祰椤曟牠宕规导瀛樺剹闁稿瞼鍋涚粻鏍ㄧ箾閸℃ɑ鎯勯柡浣告閺屾稓浠︾拠娴嬪亾閺嶎偆鐭堟い鎰堕檮閳锋垿鏌ゆ慨鎰偓鏇熺墡濠电偛鐡ㄧ划鍫㈠垝濞嗗繒鏆︽繝闈涙-閸氬顭跨捄鐚存敾婵″樊鍓熷铏圭矙鐠恒劎浼囬梺绋款儑閸嬨倕鐣烽幋锔芥櫜闁告哎鍊曠紞濠囧极閹版澘鐐婇柕濞垮劜閻n剛绱撻崒娆掝唹闁稿鎹囬弻娑㈠箛閵婏附婢撴繛瀛樼矋缁捇寮婚悢鐓庡瀭妞ゆ梻鈷堟禒楣冩煟鎼淬垻鍟查柟鍑ゆ嫹]濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鏌涢锝嗙缂佺姵澹嗙槐鎺斺偓锝庡亾缁扁晜绻涘顔荤盎閸ュ瓨绻濋姀锝嗙【闁挎洩绠撹棟闁绘鐗呯换鍡涙煏閸繄绠抽柛鎺嶅嵆閺屾盯鎮ゆ担闀愬枈閻庤娲樼敮鈩冧繆閹间礁鐓涢柛灞剧矊楠炲牓姊绘担铏瑰笡闁告梹鐗曞玻鍨枎閹哄棗寰攐tues濠电姷鏁告慨鐑藉极閹间礁纾绘繛鎴欏焺閺佸銇勯幘璺烘瀾闁告瑥绻橀弻鐔碱敍閸″繐浜鹃梺鍝勵儐閻楃娀寮婚敓鐘茬倞闁宠桨绀佹竟瀣⒑閸忓吋绶叉繛纭风節瀵濡搁妷銏☆潔濠碘槅鍨拃锔藉閳ь剟姊绘担瑙勩仧闁告ü绮欓幃鐑藉煛閸涱厾鐣哄┑掳鍊曢幊蹇涘疾閺屻儱绠归悗娑欋缚缁犳﹢鏌℃担鍦⒈缂佽鲸甯¢幃娆擃敆娴e搫鍤掔紓鍌欑椤﹂亶寮幖浣哥闁靛繒濮弨钘夆攽閻樻彃顒㈠鍥⒒閸屾瑧顦﹂柟娴嬧偓鎰佹綎鐟滅増甯囬埀顒€鍟换婵嬪炊瑜忛悾娲⒑闂堟侗妲撮柡鍛矒瀵煡骞栨担鍦弳闂佺粯娲栭崐鍦偓姘炬嫹
 [闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇楀亾妞ゎ亜鍟村畷褰掝敋閸涱垰鏁搁梻渚€鈧偛鑻晶鎵磼鏉堛劌娴鐐存崌楠炴帒鈹戦崼婵囧€梻鍌欐祰椤曟牠宕规导瀛樺剹闁稿瞼鍋涚粻鏍ㄧ箾閸℃ɑ鎯勯柡浣告閺屾稓浠︾拠娴嬪亾閺嶎偆鐭堟い鎰堕檮閳锋垿鏌ゆ慨鎰偓鏇熺墡濠电偛鐡ㄧ划鍫㈠垝濞嗗繒鏆︽繝闈涙-閸氬顭跨捄鐚存敾婵″樊鍓熷铏圭矙鐠恒劎浼囬梺绋款儑閸嬨倕鐣烽幋锔芥櫜闁告哎鍊曠紞濠囧极閹版澘鐐婇柕濞垮劜閻n剛绱撻崒娆掝唹闁稿鎹囬弻娑㈠箛閵婏附婢撴繛瀛樼矋缁捇寮婚悢鐓庡瀭妞ゆ梻鈷堟禒楣冩煟鎼淬垻鍟查柟鍑ゆ嫹]51闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐椤旂懓浜鹃柛鎰靛枛楠炪垺淇婇悙瀛樼闁圭⒈鍋婇妶顏呭閺夋垹顦板銈嗗笂閼虫儼銇愰崸妤佲拻濞达絽鎲¢幆鍫㈢磼鐎b晝绐旂€规洏鍨介幊鏍煘閹傚濠殿喗锕╅崜锕€螣閳ь剟姊洪崫鍕拱缂佸鍨块崺鐐哄箣閿曗偓楠炪垺淇婇妶鍜冩闁诡噯缍佸缁樻媴娓氼垱缍婇梺鍛婂姇閻忔繃鎱ㄥ☉姘辩=濞达絼绮欓崫娲偨椤栨粌浠遍柛鈹惧亾濡炪倖甯掗敃锔剧矓椤掑嫭鐓曢柍鍝勫€绘晶閬嶆煃瑜滈崜姘舵偄椤掑嫬绠柨鐕傛嫹 protues濠电姷鏁告慨鐑藉极閹间礁纾绘繛鎴欏焺閺佸銇勯幘璺烘瀾闁告瑥绻橀弻鐔碱敍閸″繐浜鹃梺鍝勵儐閻楃娀寮婚敓鐘茬倞闁宠桨绀佹竟瀣⒑閸忓吋绶叉繛纭风節瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷
热门文章
  • 此栏目下没有热点文章
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询