Designed by Chiyong,?20051
Java2 网络编程基础
Java 编程基础第二章
Designed by Chiyong,?20052
回顾
JVM是 Java 编程语言的核心,是与平台相关的。
Java 运行时环境 (JRE) 包含一方面与硬件交互、
另一方面又与程序交互的 JVM。
Java是完全面向对象的语言,所有的实现必须放在类中。
main函数是 Java应用程序执行的入口。
JDK可用于开发 Java 程序。
Designed by Chiyong,?20053
目标
掌握如何定义标识符
掌握 Java 的关键字
了解 Java 的基本类型
了解并掌握 String 类
掌握 Java 的程序控制流程
掌握数组的定义方法
掌握 java.lang.Math 类
Designed by Chiyong,?20054
注释
Java 语言提供三种类型的注释:
- 单行注释
- 多行注释
- 文档注释以 // 开始,并以换行符结束以 /* 开始,并以 */ 结束以 /** 开始,并以 */ 结束,
注释中的每一行都必须以 * 开始。
使用 javadoc工具从源代码和文档注释中将信息取出,然后转换为 HTML文件。
Designed by Chiyong,?20055
变量命名规定 2-1
变量 是在程序执行期间可根据需要经常变化的值,是指定给变量、方法和类的名称,以便编译器可唯一标识它们。
变量具有 3 个特性:
-名称,标识符
-初始值,为其赋值或者是保留缺省值
-作用域,在不同程序块中的可用性及生命周期声明示例,[<访问修饰符 >] [<存储修饰符 >] <数据类型 > <变量名 >;
Designed by Chiyong,?20056
变量命名规定 2-1
对变量名的长度没有任何限制。
变量名可包含字母数字字符。实际上,Java 支持
Unicode 字符集,从而允许使用日语、中文字等符作变量命名。
变量名不能以非数字字符开头。
其余字符可以是字母,数字,下划线 (,_” ),美元符 (,$” )组成。
变量名不得是关键字。
Designed by Chiyong,?20057
关键字 2-1
原始数据类型
- byte
- short
- int
- long
- float
- double
- char
- boolean
循环关键字
- do
- while
- for
- break
- continue
分支关键字
- if
- else
- switch
- case
- default
- break
方法、变量和类修饰符
- private
- public
- protected
- final
- static
- abstract
- synchronized
- volatile
- strictfp(strict float precision)
Designed by Chiyong,?20058
关键字 2-2
异常处理
- try
- catch
- finally
- throw
- throws
对象相关关键字
- new
- extends
- implements
- class
- instanceof
- this
- super
字面 值 常量
- false
- true
- null
方法相关关键字
- return
- void
包相关关键字
- package
- import
Designed by Chiyong,?20059
基本数据类型
Java 共有八 种 基本数据类型:
- 四种整数类型 (byte,short,int,long)
- 两种浮点数类型 (float,double)
- 一种字符类型 (char)
- 一种布尔类型 (boolean)
Designed by Chiyong,?200510
整型数据类型类型 缺省值 长度 数的范围
byte 0 8位 -128 ~ 127
short 0 16位 -32,768 ~ 32,767
int 0 32位 -2,147,483,648 ~ 2,147,483,647
long 0 64位 -9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
做为实例变量时的缺省值
Designed by Chiyong,?200511
浮点型数据类型类型 缺省值 长度 数的范围
float 0.0 32位 3.4E-038~3.4E+038
double 0.0 64位 1.7E-308~1.7E+308
Designed by Chiyong,?200512
字符数据类型类型 缺省值 长度 数的范围
char '\u0000' 16位 \u0000 ~ \uFFFF
Designed by Chiyong,?200513
布尔数据类型类型 缺省值 长度 数的范围
boolean false 1位 false,true
Designed by Chiyong,?200514
字符串
创建一个 String 类的实例:
String str1 =,come in,; //字符串字面量
String str2 = new String(,please!”);
两个或多个字符串可以用,+”运算符合并起来。例如:
str3 = str1+,,have a seat,” + str2;
字符串的长度可以通过 String 类中的函数计算。例如:
int numLength = str2.length();
也可将数字添加到字符串类型中。例如:
String strVar =,the value is,” + 1;
Designed by Chiyong,?200515
字符串池
Java 程序可包含许多字符串字面量
,字符串池”存放在程序中创建的所有字符串字面量
任何时候创建字符串字面量,系统都会搜索字符串池,查看是否存在该字符串字面量。
Sunday
Monday
Hello
Aptech
World
1
2
3
4
N
String day= "Monday";
String weekday = "Monday"; 字符串池
Designed by Chiyong,?200516
String 类方法
charAt(),返回字符串中某个特定位置的字符
indexOf(),返回字符串中某个特定字符或子字符串首次出现的索引
toUpperCase(),将字符串内的所有字符从小写改为大写
toLowerCase(),将字符串内的所有字符从大写改为小写
Designed by Chiyong,?200517
算术 运算符运算符 含义 示例 求值
+ 加 c = a + b
- 减 c = a - b
* 乘 c = a * b
/ 除 c = a / b
% 取模 c = a % b
++ 递增 a++
-- 递减 b--
+= 相加并赋值 c += a c = c + a
-= 相乘并赋值 c *= a c = c * a
/= 相除并赋值 c /= a c = c / a
%= 取模并赋值 c %= a c = c % a
- 取负数 c= - a
Designed by Chiyong,?200518
关系运算符?关系运算符用于测试两个操作数之间的关系。
关系表达式将返回一个布尔结果。
运算符 含义 示例
== 等于 a==b
!= 不等于 a!=b
> 大于 a>b
< 小于 a<b
>= 大于或等于 a>=b
<= 小于或等于 a<=b
Designed by Chiyong,?200519
逻辑运算符 逻辑运算符两侧可以使用关系运算符和布尔操作数运算符 含义 示例
! 逻辑反 ! A
|| 逻辑(短路)或 A || B
&& 逻辑(短路)与 A && B
public class A
{ public static void main(String args[])
{ boolean b1=true;
boolean b2=false;
System.out.println("the result1 is:"+(b1&&b2));
System.out.println("the result2 is:"+((3>2)||(4>5)));
}
}
Designed by Chiyong,?200520
位运算符 用于 int,short,long、byte 和 char 数据类型运算符 含义 示例
~ 按位非( NOT) b = ~a
& 按位与( AND) c = a & b
| 按位或( OR) c = a | b
^ 按位异或( XOR) c = a ^ b
>> 右移 b = a >> 2
>>> 无符号右移,左边空出的位以 0填充 b = a >>> 2
<< 左移 b = a << 1
注意,Java中没有“无符号左位移”运算符
char a1=16; char a2=32;
System.out.println("the result is:"+(a1|a2));
Designed by Chiyong,?200521
赋值运算符
一次可以为多个变量赋值,如,
int a = 20000;
int p,q,r,s;
p = q = r = s = a;
赋值运算符 (=) 用于为变量赋值
Designed by Chiyong,?200522
三元运算符 (?:) 三元运算符 (?,) 可以替代 if-else 结构
true
false
条件? 表达式 1,表达式 2
class PaySalary
{
public static void main(String args[])
{
int salary,daysPresent = 30;
salary = daysPresent == 20? 2000,3000;
System.out.println("您本月薪资为 $"+salary);
}
}
Designed by Chiyong,?200523
instanceof 运算符
class InstanceOfDemo {
public static void main (String args []) {
InstanceOfDemo t = new InstanceOfDemo( );
if (t instanceof InstanceOfDemo) {
System.out.println ("T是 InstanceOfDemo 的实例 ");
}
else {
System.out.println ("T不是 InstanceOfDemo 的实例!
");
}
}
}
可以确定对象是否属于一个特定的类
Designed by Chiyong,?200524
java.lang 包 2-1
该包中包含的类是 Java编程语言设计的基础
其中比较 重要的类包括:
- Object
- Class
- 封装类类体系结构的根封装对象或接口运行时的状态封装基本数据类型,为基本数据类型建立对象表达式
Designed by Chiyong,?200525
java.lang 包 2-2
- Math 类
- String 和 StringBuffer
- ClassLoader
- Process
- Runtime
- SecurityManager
- System
提供一些常用的数学运算的方法提供常用的字符串运算提供,系统操作,,可以管理类的动态加载、
外部进程的创建、主机环境查询(如一天中的时间)及安全策略的执行等
Designed by Chiyong,?200526
java.lang.Math 2-1
java.lang.Math 类中可用的 static 方法有:
- abs(),返回参数的绝对值
- ceil(),返回大于或等于参数的最小整数
- floor(),返回小于或等于参数的最大整数
- round(),返回 双精度浮点数参数四舍五入后的整数或长整数
Designed by Chiyong,?200527
java.lang.Math 2-2
- max(),返回两个参数值中的大者
- min(),返回两个参数值中的小者
- random(),返回类型为 double 且介于 0.0 和 1.0
之间的随机数
Designed by Chiyong,?200528
控制结构
选择
– if-else
– switch
循环
– while
– do-while
– for
Java 支持下列控制结构:选择、循环、
跳转
跳转
– break
– continue
Designed by Chiyong,?200529
if-else 选择语句
if-else 结构的语法为:
if (条件 )
语句 1;
else
语句 2;
if (条件 ) {
语句组 ;
}
else {
语句组;
}if和 else块中只有一条语句
if和 else块中有多条语句
Designed by Chiyong,?200530
switch 选择语句
switch 结构的语法为:
switch(表达式 ){
case '常量值 1',
语句 (组 );
break;
case '常量值 2',
语句 (组 );
break;
case '常量值 N',
语句 (组 );
break;
default,
语句 (组 );
}
表达式必须为 byte,
short,int或 char类型
常量值必须是与表达式类型兼容的特定的一个常量
不允许有重复的 case值
Designed by Chiyong,?200531
循环
while 循环
while(条件 )
{ 语句组 ; }
do-while循环
do
{ 语句组 ; }
while(条件 );
for 循环
for(变量初始化 ; 条件 ; 递增或递减变量的值 )
{语句组 ; }
Designed by Chiyong,?200532
break 和 continue 语句
break 语句在循环中用于立即从当前循环终止控制。
遇到 break 语句时,将跳出当前循环。
continue 语句则是从其调用处跳至循环的开始处,再进行下一次循环。
continue 语句之后的语句将不再执行。
return语句用于返回调用者。
Designed by Chiyong,?200533
数组
属于复杂数据类型
由类型相同的元素组成的有顺序的数据集合
数组是固定的不能扩展
可以存储基本数据类型或对象
通过数组名和下标可以访问各元素
Designed by Chiyong,?200534
创建 数组
通用的一维数组的声明格式是:
type arrayName[];或 type[] arrayName;
举例:
String[ ] arrayName;
int[ ][ ] arrayName ;//二维数组或 int arrayName[ ][ ];
利用 new 来为数组型变量分配内存空间
arrayName =new String[10];
两步可以合并,如:
String[ ] arrayName =new String[10];
int[][] arrayName=new int[2][3];
Designed by Chiyong,?200535
数组声明与赋值的其它格式
数组可以声明,分配内存空间和赋值一步完成:
String str[]=new String[]{“Tom”,”Marry”};
int[][] a=new int[][]{ {1,2,3},{4,5,6}};
错误形式:
int a[]=new int[3]{1,2,3};
int[][] a=new int[2][3]{{1,2,3},{4,5,6}};
数组赋值时,不能填写 size值
Designed by Chiyong,?200536
命令行参数
Java 应用程序可以从命令行中接收任意数量的参数
每个参数被视为字符串分别存储在 main函数的参数数组中
可以使用双引号将多个字符串作为一个整体显示
Designed by Chiyong,?200537
命令行 参数 示例
class ComndLineArg1 {
public static void main(String args[ ]) {
for(int i=0;i<args.length;i++) {
System.out.println(args[i]);
}
}
}
输出结果输出结果
Designed by Chiyong,?200538
总结 2-1
Java 具有 8种基本数据类型,byte,short,int、
long,boolean,char,float 及 double
Java 中的运算符可划分为四个子集:算术运算符、
位运算符、关系运算符、逻辑运算符
& 运算符适用于如下子集:逻辑和位。逻辑 & 以条件表达式为操作数,而位 & 则以数字为操作数
Designed by Chiyong,?200539
总结 2-2
Java 支持下列控制结构:
– 选择( if-else,switch)
– 循环( while,do-while,for)
– 跳转( break,continue)
break 语句在循环中用于立即从当前循环终止控制
continue 语句则是从其调用处跳至循环的开始处
数组可用来将同一类型的数据存储在连续的内存位置