1、 2.1.1字符集 Java Java 语言采用语言采用unicodeunicode字符集,含有字符集,含有6553565535个字符,字母包括下面几种:个字符,字母包括下面几种:A-Z,a-zA-Z,a-z 汉字、日文片假名、平假名和朝鲜文汉字、日文片假名、平假名和朝鲜文Unicode字符格式:字符格式:uddddd是一位十六进制数是一位十六进制数例例:u03c0表示希腊字母表示希腊字母“”u0030-u0039表示表示0-9Unicode 的网页地址:的网页地址:http:/ 标识符由字母、下划线、美元符号和数标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。下字组成,且第
2、一个符号不能为数字。下列都是合法标识符:列都是合法标识符:HelloHello、$1234$1234、程序名、程序名、www_123www_123 标识符可用作:标识符可用作:类名、变量名、方法名、数组名、文件类名、变量名、方法名、数组名、文件名等名等 关键字就是关键字就是JavaJava语言中已经被赋予语言中已经被赋予特定意义的一些单词。常见有:特定意义的一些单词。常见有:abstractabstract、classclass、publicpublic、trytry、catchcatch、if if、floatfloat、importimport、voidvoid等等JavaJava有三种注
3、释的方式:有三种注释的方式:1 1。/注释内容由注释内容由/一直到此行结束一直到此行结束2 2。/*和和*/定义一个注释块定义一个注释块3 3。/*开始,开始,*/结束结束 这种注释方法可用来自动产生文档这种注释方法可用来自动产生文档/*这是一个这是一个JavaJava的小例子的小例子*/public class Hello/public class Hello/定义一个类定义一个类 public static void main(String argspublic static void main(String args)System.out.println System.out.print
4、ln(“(“你好你好!”);/!”);/输出输出 2.2.1.2.2.1.逻辑型逻辑型 常量:常量:truetrue、falsefalse 变量的定义:变量的定义:booleanboolean x;x;boolean boolean x,y,tom;x,y,tom;定义同时可赋值:定义同时可赋值:booleanboolean x=true,tom=false;x=true,tom=false;常量:常量:aa、A A、8 8、?变量定义:变量定义:char q;char q;char c,type,cat;char c,type,cat;定义同时可赋值:定义同时可赋值:char char c=
5、a,type,cat;c=a,type,cat;常量:常量:十进制:十进制:123,6000123,6000 八进制:八进制:077,065077,065 十六进制:十六进制:0 x234,0 xab120 x234,0 xab12 整形变量的定义分为四种整形变量的定义分为四种:intbyteshortlong 变量定义变量定义 intint x;x;int int tom_12,jafei,tom_12,jafei,年令年令 定义同时可赋值:定义同时可赋值:intint tom_12=100,jafei,tom_12=100,jafei,年令年令2020;对于对于intint型变量,内存分配
6、为型变量,内存分配为4 4个字节,占个字节,占3232位,取值范围位,取值范围-2-231 31 2 23131-1-1-2147483648-2147483647 变量定义变量定义 byte w;byte w;byte x,y,z;byte x,y,z;定义同时可赋值:定义同时可赋值:byte x=12,y=24,z=36;byte x=12,y=24,z=36;对于对于bytebyte型变量,内存分配型变量,内存分配1 1个字节,占个字节,占8 8位,取值范围位,取值范围-2-27 7 2 27 7-1-1-128-127 变量定义变量定义 short h;short h;short m,
7、$12,_aort;short m,$12,_aort;定义同时可赋值:定义同时可赋值:short m=12,$12=20;short m=12,$12=20;对于对于shortshort型变量,内存分配型变量,内存分配2 2个字节,占个字节,占1616位,取值范围位,取值范围-2-21515 2 21515-1-1-32768-32767 变量定义变量定义 long long 长型长型 long I,j,k;long I,j,k;定义同时可赋值:定义同时可赋值:long long 长型;长型;对于对于longlong型变量,内存分配型变量,内存分配8 8个字节,个字节,占占6464位,取值范
8、围位,取值范围-2-26363 2 26363-1-1-92233720368477808-92233720368477807 FloatFloat型型 常量:常量:12.2312.23f f,32.00,32.00F F,2e40,2e40f f 变量的定义:变量的定义:float x;float x;float x1,x2,x3;float x1,x2,x3;定义时赋初值:定义时赋初值:float x1=12.23f,x2=32.00f,x3;float x1=12.23f,x2=32.00f,x3;对于对于floatfloat型变量,内存分配型变量,内存分配4 4个字节,个字节,占占32
9、32位位.有效位有效位6-7位位 常量:常量:12.2312.23d d,32.00,32.00D D,123.0,6e-120,123.0,6e-120 变量定义:变量定义:double d;double d;double d1,d2,d3;double d1,d2,d3;定义时可以赋初值:定义时可以赋初值:double d1=double d1=1223.f1223.f,d2=32.00d,d3;,d2=32.00d,d3;内存分配内存分配8 8个字节,占个字节,占6464位位有效位有效位15位位基本数据类型基本数据类型预设值预设值booleanbooleanfalsefalsecharc
10、haru0000u0000bytebyte(byte)0(byte)0shortshort(short)0(short)0intint0 0longlong0L0Lfloatfloat0.0f0.0fdoubledouble0.0d0.0d byte short int longchar float double 大多数的数值转换是遵循优先级的关系大多数的数值转换是遵循优先级的关系自动完成的自动完成的 而有些转换则是通过造型来完成的而有些转换则是通过造型来完成的 语法:语法:(转换后类型)(转换后类型)被转换的变量名被转换的变量名例:例:double x=9.987;double x=9.98
11、7;int nx=(int int nx=(int)x;)x;转换后转换后 nxnx=9=9强转时,当心丢失数据强转时,当心丢失数据 若要把一个浮点数转换成与其最接近的若要把一个浮点数转换成与其最接近的数(即进行四舍五入)需使用数(即进行四舍五入)需使用Math.round()Math.round()方法方法 例:例:double x=9.987;double x=9.987;int nx=(int)Math.round(x int nx=(int)Math.round(x););结果:结果:nxnx=10=10例:例:a+ba+b*c/2-max(x,y)c/2-max(x,y)若若 a=4
12、,b=5,c=6,x=7,y=9,a=4,b=5,c=6,x=7,y=9,则上则上述表达式的结果为:述表达式的结果为:10 i=0;i=0;j=i;j=i;k=i+jk=i+j*5;5;MyFirstString=MyDouble.toStringMyFirstString=MyDouble.toString();();MySecondString=MyFirstStringMySecondString=MyFirstString;结果:结果:15结果:15 结果:16结果:16 结果:16条件运算符也称三目运算符条件运算符也称三目运算符,其格式为:其格式为:Expression?statem
13、ent1:statement2Expression?statement1:statement2;它的作用是根据第一个运算符它的作用是根据第一个运算符(放在?前放在?前面,必须为布尔类型数据面,必须为布尔类型数据)的真假值,来的真假值,来决定整个表达式的结果值是第二个运算决定整个表达式的结果值是第二个运算量量(放在?后面放在?后面 :前面:前面)或者是第三个运或者是第三个运算量算量(放在:后面放在:后面)。Xy?1:-1条件运算符的结合顺序是由右向左,也条件运算符的结合顺序是由右向左,也就是说,当我们写就是说,当我们写 a a?b b:c c?d d:e e?f f:g g的时候,的时候,Jav
14、aJava会将其解释为会将其解释为 (a(a?b b:(c(c?d d:(e(e?f f:g)g)。例:例:x=5;x0?1:x0?-1:0 分量运算符分量运算符.内存分配运算符内存分配运算符newnew 方法调用运算符方法调用运算符()()下标运算符下标运算符 实例运算符实例运算符instance ofinstance of 优先级描述优先级描述 运算符运算符 结合性结合性 1 1分隔符分隔符 ().,;().,;2 2 自增自减、逻辑非自增自减、逻辑非 +-!+-!右到左右到左 3 3 算术乘除算术乘除 */%/%左到右左到右 4 4 算术加减算术加减 +-+-左到右左到右 5 5移位移位
15、 左到右左到右 6 6大小关系运算大小关系运算 =左到右左到右 7 7相等关系运算相等关系运算 =!=!=左到右左到右 8 8按位与运算按位与运算&左到右左到右 优先级描述运算符结合性优先级描述运算符结合性 9 9 按位异或按位异或 左到右左到右 10 10 按位或按位或|左到右左到右 11 11 逻辑与逻辑与&左到右左到右 12 12 逻辑或逻辑或|左到右左到右 13 13 三目条件运算三目条件运算?:?:左到右左到右 14 14 赋值运算赋值运算 =右到左右到左这是一个用来创建对象的运算符这是一个用来创建对象的运算符JavaJava提供一个特别的运算符提供一个特别的运算符 JavaJava
16、语句分为语句分为5 5类:类:1.1.方法调用语句方法调用语句 System.out.println(“HelloSystem.out.println(“Hello!”);!”);2.2.表达式语句表达式语句 x=23;x=23;i+;i+;3.3.复合语句:用把一些语句括复合语句:用把一些语句括起来就构成了一个语句起来就构成了一个语句 z=x+23;z=x+23;System.out.println(“HelloSystem.out.println(“Hello”);”);4.4.控制语句控制语句 if if、do do、switchswitch 5.packege5.packege语句和语
17、句和importimport语句语句 JavaJava语言控制语句有语言控制语句有3 3种:种:条件语句条件语句 循环语句循环语句 转移语句转移语句 JavaJava有两种类型的条件语句有两种类型的条件语句 if if switch switch if if语句语句 一般形式:一般形式:if(if(表达式)表达式)语句序列语句序列1 1 elseelse 语句序列语句序列2 2 例:例:y=y=-1 x=0-1 x0)if(x0)y=1;y=1;else else y=-1;y=-1;System.out.printlnSystem.out.println(“(“我在学习我在学习IFIF语语句
18、句”););1 x01 x0 if if(表达式(表达式1 1)语句语句1 1 else if(else if(表达式表达式2 2)语句语句2 2 else if(else if(表达式表达式n)n)语句语句n n else else 语句语句n+1n+1 switchswitch表达式)表达式)case case 常量常量1:1:语句序列语句序列1 1 break;break;case case 常量常量2:2:语句序列语句序列2 2 break;break;.case case 常量常量n:n:语句序列语句序列n n break;break;default:default:语句序列语句序列
19、n n 表达式值、常量表达式值、常量i i的值为整形的值为整形 常量常量ii常量常量j j 执行:先计算表达式值执行:先计算表达式值 若与常量若与常量i i相同,则执行语句序列相同,则执行语句序列i i 若都不相同若都不相同,则执行语句序列则执行语句序列n+1n+1例例 .根根 据据 考考 试试 成成 绩绩 的的 等等 级级 打打 印印 出出 百百 分分 制制 分分 数数 段段 。public class GradeLevel public static void main(String args)System.out.println(n*first situation*);char grad
20、e=C;/normal useswitch(grade)case A:System.out.println(grade+is 85100);break;case B:System.out.println(grade+is 7084);break;case C:System.out.println(grade+is 6069);break;case D:System.out.println(grade+is 60);break;default :System.out.println(input error);分为三种:分为三种:forfor while while do-while do-whi
21、le 格式:格式:for(for(表达式表达式1;1;表达式表达式2;2;表达式表达式3)3)若干语句若干语句 表达式表达式1 1负责变量初始化负责变量初始化 表达式表达式2 2称为循环条件称为循环条件 表达式表达式3 3用来改变循环条件用来改变循环条件 若干语句称为循环体若干语句称为循环体 执行如右:执行如右:import java.applet.import java.applet.*;import java.awtimport java.awt.*;public class ForSum100 extends Applet public class ForSum100 extends A
22、pplet public void paint(Graphics g)public void paint(Graphics g)int int sum=0;sum=0;for(intfor(int i=1;i=100;i+)i=1;i=100;i+)sum=sum+i;sum=sum+i;g.drawString(sum g.drawString(sum=+sum,10,20);=+sum,10,20);PerfectNum.java whilewhile一般格式:一般格式:while(while(表达式)表达式)若干语句若干语句 do-whiledo-while一般格式:一般格式:dodo
23、语句序列语句序列 while(while(表达式)表达式)continuecontinue 作用:结束本次循环,开始下一次循环作用:结束本次循环,开始下一次循环例:求例:求100个数中的正数的和个数中的正数的和 public class ForSum100 public class ForSum100 public static void main(String argv public static void main(String argv)int int sum=0,a;sum=0,a;for(intfor(int i=1;i=100;i+)i=1;i=100;i+)System.in.r
24、ead(a);System.in.read(a);if(a0)if(a0)continue;continue;sum=sum+i;sum=sum+i;System.out.println(sum System.out.println(sum=+sum);=+sum);breakbreak作用:结束整个循环的执行,转到下一语句作用:结束整个循环的执行,转到下一语句 public class ForSum100 public class ForSum100 public static void main(String argv public static void main(String argv
25、)int int sum=0,a;sum=0,a;for(intfor(int i=1;i=100;i+)i=1;i=100;i+)System.in.read(a);System.in.read(a);if(a0)if(a0)break;break;sum=sum+i;sum=sum+i;System.out.println(sum System.out.println(sum=+sum);=+sum);例:求例:求100个数的和个数的和,遇负数结束遇负数结束 JavaJava的返回语句与的返回语句与JavaJava的方法紧密相关的方法紧密相关 当程序执行到此语句时,将立即返回上当程序执行到
26、此语句时,将立即返回上一级方法一级方法 格式:格式:return valuereturn valueJava是第一个没有goto的流行语言!用于指明源文件定义的类所在的包用于指明源文件定义的类所在的包 一般格式:一般格式:package package 包名包名 例:例:package exam;package exam;packagepackage一定是源文件的第一条语句一定是源文件的第一条语句例:例:package m.pack class A class B class C 用于引入所需要的类用于引入所需要的类 JavaJava程序中可以有多个程序中可以有多个importimport语句
27、,它们语句,它们必须位于必须位于packagepackage语句之后,类定义语句语句之后,类定义语句之前。之前。java.awtjava.awt抽象窗口工具集,包含了图形、抽象窗口工具集,包含了图形、文本、窗口文本、窗口GUIGUI类类JavaJava提供了提供了6060个包,常用的包如下:个包,常用的包如下:Java.appletJava.applet实现实现Java AppletJava Applet的类的类 java.awt.imagejava.awt.image抽象窗口工具集中的图象抽象窗口工具集中的图象处理类处理类 java.langjava.lang基本语言类基本语言类 java.
28、iojava.io输入输出类输入输出类 所有实现网络功能的类所有实现网络功能的类 java.utiljava.util有用的数据类型类有用的数据类型类 java.awt.peerjava.awt.peer平台无关的平台无关的GUIGUI工具集界面工具集界面 从一个包中引入多个类,则可用从一个包中引入多个类,则可用*表示:表示:import java.awtimport java.awt.*;引入一个类,则需指出具体类名:引入一个类,则需指出具体类名:import java.awt.Buttonimport java.awt.Button;Java.langJava.lang包是包是JavaJava语言的核心类库,它包语言的核心类库,它包含了运行含了运行JavaJava程序必不可少的系统类。程序必不可少的系统类。系统自动引入系统自动引入Java.langJava.lang包包