Presentation is loading. Please wait.

Presentation is loading. Please wait.

第二章Java基本程序设计.

Similar presentations


Presentation on theme: "第二章Java基本程序设计."— Presentation transcript:

1 第二章Java基本程序设计

2 2.1 基本知识 2.1.1字符集 Java 语言采用unicode字符集,含有65535个字符,字母包括下面几种: A---Z,a---z
汉字、日文片假名、平假名和朝鲜文 Unicode字符格式:\udddd d是一位十六进制数

3 例:\u03c0表示希腊字母“π” \u \u0039表示0---9 Unicode 的网页地址:

4 2.1.2标识符 标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。下列都是合法标识符:
Hello、$1234、程序名、www_123 标识符可用作: 类名、变量名、方法名、数组名、文件名等

5 2.1.3关键字 关键字就是Java语言中已经被赋予特定意义的一些单词。常见有:
abstract、class、public、try、catch、if、float、import、void等

6 2.1.4注释 Java有三种注释的方式: 1。// notes! 注释内容由//一直到此行结束 2。/*和*/定义一个注释块
3。/**开始,*/结束 这种注释方法可用来自动产生文档

7 2.1.4注释 Remember? /*这是一个Java的小例子*/ public class Hello//定义一个类
{public static void main(String args[]) { System.out.println(“你好!”);//输出 } Remember?

8 2.2 基本数据类型 Java中数据类型分为四种: 基本数据类型(primitive type) 数组类型(array type)
类(class type) 接口类型(interface type) 任何常量和变量都是上述四种数据类型之一。

9 2.2 基本数据类型 2.2.1 .逻辑型 常量:true、false 变量的定义: boolean x; boolean x,y,tom;
定义同时可赋值:  boolean x=true,tom=false;

10 2.2.2.字符类型 常量:‘a’、‘A’ 、‘8’ 、‘?’ 变量定义: char q; char c,type,cat;
定义同时可赋值: char c=‘a’,type,cat;

11 整数类型 int 常量: 十进制:123,6000 八进制:077,065 十六进制:0x234,0xab12 整形变量的定义分为四种:
byte short long

12 Int型 -2147483648-2147483647 变量定义 int x; int tom_12,jafei,年令 定义同时可赋值:

13 Byte型 -128--127 变量定义 byte w; byte x,y,z; 定义同时可赋值: byte x=12,y=24,z=36;

14 Short型 -32768--32767 变量定义 short h; short m,$12,_aort; 定义同时可赋值:

15 Long型 变量定义 long 长型 long I,j,k; 定义同时可赋值: long 长型;
变量定义 long  长型 long I,j,k; 定义同时可赋值:   long 长型; 对于long型变量,内存分配8个字节,占64位,取值范围-263 ~263-1

16 浮点类型 Float型 常量:12.23f, 32.00F, 2e40f 变量的定义: float x; float x1,x2,x3;
有效位6-7位 Float型 常量:12.23f, 32.00F, 2e40f 变量的定义:   float x; float x1,x2,x3; 定义时赋初值:   float x1=12.23f,x2=32.00f,x3; 对于float型变量,内存分配4个字节,占32位.

17 Double 型 常量:12.23d, 32.00D, 123.0,6e-120 变量定义: double d;
有效位15位 常量:12.23d, 32.00D, 123.0,6e-120 变量定义:   double d; double d1,d2,d3; 定义时可以赋初值: double d1=1223.f,d2=32.00d,d3; 内存分配8个字节,占64位

18 当我们在程序中定义变量时,常常没有给定变量初值。虽然变量的初值没有必要给定,但这经常是程序运行时错误的根源。为了可靠性起见,Java会自动为没有给定初值的变量设置标准的初值,如下表:
基本数据类型 预设值 boolean false char ‘\u0000’ byte (byte)0 short (short)0 int long 0L float 0.0f double 0.0d

19 练习:基本数据类型的使用(1) 下面代码的输出结果是什么? int i=10; System.out.println(i); i=15;
输出结果: 10 15

20 System.out.println(i); int i=15;
练习:基本数据类型的使用(2) 下面代码中的两个错误是什么? int i; System.out.println(i); int i=15; 错误1:在给变量i赋值前使用它。(#2) 错误2:第二次定义变量i。(#3)

21 练习:基本数据类型的使用(3) 下面的代码中有错吗? double x=15.0; x = x * 10; System.out.println(x); 没有任何错误。 x先被赋予值15.0,然后x被给定一个新的值150.0。

22 练习:基本数据类型的使用(4) int one= 10; int two = 20; System.out.println(one);
假设有两个int型变量one和two,编写代码交换它们的值。 int one= 10; int two = 20; System.out.println(one); System.out.println(two); int temp=two; two= one; One=temp; System.out.println(one); System.out.println(two);

23 类型转换 Exchange! char byte short int long double float

24 造型 大多数的数值转换是遵循优先级的关系自动完成的 而有些转换则是通过造型来完成的 语法: (转换后类型) 被转换的变量名
例:double x=9.987; int nx=(int) x; 转换后 nx=9 强转时,当心丢失数据

25 造型 若要把一个浮点数转换成与其最接近的数(即进行四舍五入)需使用Math.round()方法 例:double x=9.987;
int nx=(int)Math.round(x); 结果:nx=10

26 表达式是由变量、常量、对象、方法调用和操作符组成的式子。
2.3 表达式 表达式是由变量、常量、对象、方法调用和操作符组成的式子。 例: a+b*c/2-max(x,y) 表达式的值就是对它运算后所得的结果。 若 a=4,b=5,c=6,x=7,y=9,则上述表达式的结果为: 10 组成表达式的Java操作符有很多种,代表了多种的丰富的操作运算,包括赋值运算、算术运算、关系运算等。

27 赋值运算符 变量或对象=表达式; 其中赋值号右边的表达式可以是常量、另一变量或对象以及方法的返回值。
赋值运算符对应了赋值运算,即赋予程序里的变量或对象一定的内容。简单的赋值运算是把一个表达式的值直接赋给一个变量或对象,使用的赋值运算符是“=”,其格式为: 变量或对象=表达式; 其中赋值号右边的表达式可以是常量、另一变量或对象以及方法的返回值。

28 简单例子 i=0; j=i; k=i+j*5; MyFirstString=MyDouble.toString();
MySecondString=MyFirstString;

29 算术运算符 运算符 用法 描述 双目运算符 + Op1+op2 加 - Op1-op2 减 * Op1*op2 乘 / Op1/op2 除
% op1%op2 取模(求余) 单目运算符 +op 正值 ++ ++op,op++ 加1 -op 负值 -- --op,op-- 减1

30 “++”和“--”都可以做前置和后缀运算符。下面分别介绍: int i=15; System.out.println(i);
结果:15 (一)。i++与++i的区别 i++在使用i之后,使i的值加1,因此执行完i++后,整个表达式的值为i,而i的值变为i+1。 int i=15; System.out.println(i++);结果:15 System.out.println(i); 结果:16 ++i在使用i之前,使i的值加1,因此执行完++i后,整个表达式和i的值均为i+1。 int i=15; System.out.println(++i);结果:16 System.out.println(i); 结果:16 (二)。i--与--i 对i--与--i类似于(一)。

31 关系运算符 运算符 用法 返回true的情况 > op1>op2 op1大于op2 >= op1>=op2 op1大于或等于op2 <
<= op1<=op2 op1小于或等于op2 == op1==op2 op1与op2相等 != op1!=op2 op1与op2不等

32 布尔逻辑运算符 op1 op2 op1&&op2 op1||op2 !op1 false true

33 位运算符 运算符 描述 >> 带符号右移运算 << 左移运算 >>> 无符号右移运算(右移后零填充) & 按位与 | 按位或 ^ 按位异或
按位取补运算

34 条件运算符? : 条件运算符也称三目运算符,其格式为: Expression ? statement1 : statement2;
它的作用是根据第一个运算符(放在?前面,必须为布尔类型数据)的真假值,来决定整个表达式的结果值是第二个运算量(放在?后面 :前面)或者是第三个运算量(放在:后面)。 X>y ?1:-1

35 条件运算符的结合顺序是由右向左,也就是说,当我们写
a?b:c?d:e?f:g 的时候,Java会将其解释为 (a?b:(c?d:(e?f:g)))。 例:x=5; x>0?1:x<0?-1:0

36 其它运算符 分量运算符. 内存分配运算符new 方法调用运算符( ) 下标运算符[] 实例运算符instance of

37 运算符 优先级 描述 运算符 结合性 1 分隔符 [] () . , ; 2 自增自减、逻辑非 ++ -- ! 右到左
优先级 描述       运算符    结合性  1  分隔符       [] () . , ;   自增自减、逻辑非 ! 右到左  3  算术乘除      * / %    左到右   算术加减   左到右  5  移位 << >> 左到右  6  大小关系运算 < <= > >= 左到右  7  相等关系运算 == != 左到右  8  按位与运算 & 左到右

38 优先级 优先级 描述 运算符 结合性 9 按位异或 ^ 左到右 10 按位或 | 左到右 11 逻辑与 && 左到右
优先级  描述     运算符    结合性  9    按位异或 ^ 左到右 按位或 | 左到右 逻辑与 && 左到右 逻辑或 || 左到右 三目条件运算 ?: 左到右 赋值运算 = 右到左

39 运算符 Java提供一个特别的运算符 new 这是一个用来创建对象的运算符

40 2.4 语句 Java语句分为5类: 1.方法调用语句 System.out.println(“Hello!”); 2.表达式语句
  x=23;   i++;

41 语句 3.复合语句:用{}把一些语句括起来就构成了一个语句 {z=x+23; System.out.println(“Hello”); }
4.控制语句    if 、do 、switch 5.packege语句和import语句

42 Java的控制语句 Java语言控制语句有3种:    条件语句    循环语句    转移语句

43 条件语句   Java有两种类型的条件语句    if switch

44 If语句 if语句 一般形式:   if(表达式)    {语句序列1}   else {语句序列2}

45 例: y= { -1 x<=0 public calss Y {public static void main(String args[]) int x=6; if(x>0) {y=1;} else {y=-1;} System.out.println(“我在学习IF语句”); } 1 x>0

46 if的扩充形式 if(表达式1) 语句1 else if(表达式2) 语句2 …… else if( 表达式n) 语句n else
 语句1 else if(表达式2)     语句2   …… else if( 表达式n) 语句n else 语句n+1

47 switch语句 switch{表达式) {case 常量1: 语句序列1 break; case 常量2: 语句序列2 …….
   语句序列1   break;  case 常量2:    语句序列2 ……. case 常量n:    语句序列n   break; default: }

48 几点注意: 表达式值、常量i的值为整形 常量i<>常量j 执行:先计算表达式值 若与常量i相同,则执行语句序列i
   若都不相同,则执行语句序列n+1

49 例 .根 据 考 试 成 绩 的 等 级 打 印 出 百 分 制 分 数 段 。
public class GradeLevel{ public static void main( String args[] ){ System.out.println("\n** first situation **"); char grade='C'; //normal use switch( grade ){ case 'A' : System.out.println(grade+" is 85~100"); break; case 'B' : System.out.println(grade+" is 70~84"); case 'C' : System.out.println(grade+" is 60~69"); case 'D' : System.out.println(grade+" is <60"); default : System.out.println("input error"); } }

50 循环语句 分为三种: for while do-while

51 for语句 格式: for(表达式1;表达式2;表达式3) {若干语句} 表达式1负责变量初始化 表达式2称为循环条件
表达式3用来改变循环条件 {若干语句}称为循环体 执行如右:

52 例:1-100之和 import java.applet.*; import java.awt.*;
public class ForSum100 extends Applet { public void paint(Graphics g)  { int sum=0;   for(int i=1;i<=100;i++)    {sum=sum+i;} g.drawString("sum="+sum,10,20); }} PerfectNum.java

53 while与do-while语句 while一般格式:   while(表达式)    {若干语句} do-while一般格式:   do  { 语句序列}

54 转移语句 continue 作用:结束本次循环,开始下一次循环 例:求100个数中的正数的和 public class ForSum100
{ public static void main(String argv[])  { int sum=0,a;   for(int i=1;i<=100;i++)    {System.in.read(a); if(a<0) continue; sum=sum+i;} System.out.println("sum="+sum); }}

55 break 作用:结束整个循环的执行,转到下一语句 例:求100个数的和,遇负数结束 public class ForSum100
{ public static void main(String argv[])  { int sum=0,a;   for(int i=1;i<=100;i++)    {System.in.read(a); if(a<0) break; sum=sum+i;} System.out.println("sum="+sum); }}

56 返回语句 Java的返回语句与Java的方法紧密相关 当程序执行到此语句时,将立即返回上一级方法 格式:return [value]
Java是第一个没有goto的流行语言!

57 package语句 用于指明源文件定义的类所在的包 一般格式: package 包名 例:package exam;

58 例:package horst.comm.pack
class A { …… } class B { …… } class C {

59 import语句 用于引入所需要的类 Java程序中可以有多个import语句,它们必须位于package语句之后,类定义语句之前。
Java.applet实现Java Applet的类 java.awt抽象窗口工具集,包含了图形、文本、窗口GUI类

60 Java常用包 java.awt.image抽象窗口工具集中的图象处理类 java.lang基本语言类 java.io输入输出类
java.net所有实现网络功能的类 java.util有用的数据类型类 java.awt.peer平台无关的GUI工具集界面

61 Java常用包 从一个包中引入多个类,则可用*表示: import java.awt.*; 引入一个类,则需指出具体类名:
import java.awt.Button; Java.lang包是Java语言的核心类库,它包含了运行Java程序必不可少的系统类。 系统自动引入Java.lang包


Download ppt "第二章Java基本程序设计."

Similar presentations


Ads by Google