第二章Java基本程序设计.

Slides:



Advertisements
Similar presentations
主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
Advertisements

软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
单元二:面向对象程序设计 任务二:借书卡程序设计.
第四章 类、对象和接口.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第一單元 建立java 程式.
项目6 通用堆栈.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
四資二甲 第三週作業 物件導向程式設計.
第4章 类与对象 本章导读 0. 面向对象编程 1. 类声明和类体 2. 类体的构成 3. 构造方法与对象的创建 4. 对象的引用与实体
C#程序设计案例教程 第3章 程 序 结 构.
第一章 C语言概述 计算机公共教学部.
算法设计与分析 Algorithm Design and Analysis
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
TQC+ 物件導向程式認證-JAVA.
本章大綱 2-1、程式、程式語言、程式架構 2-2、變數與資料型態 2-3、常數 2-4、 運算式、運算子和運算元
第 5 章 流程控制 (一): 條件分支.
第二章 JAVA语言基础.
第二部分 Java语言基础篇 第4章 Java语言与面向对象 (之一).
第三章 控制结构.
第5章 Java中类、对象、接口 及包的概念 5.1 类的基本概念 5.2 类的继承概念 5.3 抽象类和接口 5.4 包.
程式設計實作.
Q1: 追蹤程式: 印出結果? 搶答 while (i<=n) { p=p*i; i=i+2; }
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
物件導向程式設計 (Object-Oriented rogramming)
第二章 C# 基础知识.
C++Primer 3rd edition 中文版 Chap 5
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
本單元介紹何謂變數,及說明變數的宣告方式。
程式設計實作.
CH09 套件 物件導向程式設計(II).
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第三章 C++中的C 面向对象程序设计(C++).
實作輔導 3 日期: 4/14(星期六) 09:10~12:00、13:10~16:00
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
C/C++/Java 哪些值不是头等程序对象
第一單元 建立java 程式.
第三章 C# 基础知识.
Week 2: 程式設計概念與 演算法的效能評估
《JAVA程序设计》 语音答疑 辅导老师:高旻.
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第三课 标识符、关键字、数据类型.
Java變數 2014/6/24.
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
Review 1~3.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
第二章 Java基本语法 讲师:复凡.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
變數、資料型態、運算子.
第2章 Java语言基础.
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
第二章 Java基本语法 讲师:复凡.
Summary
变量定位图形 Java中数据的类型分为四种:基本数据类型、数组类型、类类型以及接口类型。任何常量和变量都一定是上述四种数据类型中的一种。简单数据类型的实例化有两种:变量和常量。 变量名和常量名必须是Java语言中合法的标识符。 常量是在程序运行期间值不改变的量。 变量是在程序运行期间值可通过赋值改变的量,
Presentation transcript:

第二章Java基本程序设计

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

例:\u03c0表示希腊字母“π” \u0030----\u0039表示0---9 Unicode 的网页地址: http:/www.stonehand.com/unicod.html

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

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

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

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

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

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

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

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

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

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

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

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

浮点类型 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位.

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位

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

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

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

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

练习:基本数据类型的使用(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);

类型转换 Exchange! char ↓ byte → short → int → long ↙ ↓ ↓ ↘ → double float

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

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

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

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

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

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

“++”和“--”都可以做前置和后缀运算符。下面分别介绍: 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类似于(一)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例: 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

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

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

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

例 .根 据 考 试 成 绩 的 等 级 打 印 出 百 分 制 分 数 段 。 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"); } }

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

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

例: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

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

转移语句 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); }}

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); }}

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

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

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

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

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

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