Java语言程序设计 第二部分 Java语言基础.

Slides:



Advertisements
Similar presentations
单元二:面向对象程序设计 任务二:借书卡程序设计.
Advertisements

第四章 类、对象和接口.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第一單元 建立java 程式.
项目6 通用堆栈.
四資二甲 第三週作業 物件導向程式設計.
C#程序设计案例教程 第3章 程 序 结 构.
Tool Command Language --11级ACM班 金天行.
第五章 字符串.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
本章大綱 2-1、程式、程式語言、程式架構 2-2、變數與資料型態 2-3、常數 2-4、 運算式、運算子和運算元
第二章 JAVA语言基础.
第三章 控制结构.
Ch08 巢狀類別 物件導向程式設計(II).
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
C#程序设计基础 $5 流程控制.
Signutil.
第二章 C# 基础知识.
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
本單元介紹何謂變數,及說明變數的宣告方式。
程式設計實作.
抽象类 File类 String类 StringBuffer类
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第三章 C++中的C 面向对象程序设计(C++).
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
Java程序设计 第9章 继承和多态.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
2019/1/16 Java语言程序设计-类与对象 教师:段鹏飞.
第二章 Java语言基础.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
第一單元 建立java 程式.
第三章 C# 基础知识.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
JAVA 编 程 技 术 主编 贾振华 2010年1月.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第二章Java基本程序设计.
第三课 标识符、关键字、数据类型.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
第九节 赋值运算符和赋值表达式.
Review 1~3.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
判斷(選擇性敘述) if if else else if 條件運算子.
第二章 Java基础语法 北京传智播客教育
第二章 Java基本语法 讲师:复凡.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Summary
Presentation transcript:

Java语言程序设计 第二部分 Java语言基础

Java语言基础 第一讲 基本数据类型

标识符 标识符唯一地标识计算机中运行或存在的任何一个成分的名称。不过,通常所说的标识符是指用户自定义标识符,即用户为自己程序中的各种成分所定义的名称。 标识符可以由字母、数字、下划线“_”和美元符号“$”组成,但必须以字母、下划线或美元符号开头。 Java语言使用国际字符格式标准(Unicode),Unicode字符集采用 16位编码,其前256个字符与ASCII字符集完全一致。除了数字0-9、英文字母A-Z、a-z及+、-、*、/等ASCII字符之外, Unicode字符集还提供了其他语言文字,如拉丁语、希腊语、汉字等。

标识符 变量 字母小写,采用有意义的单词(循环变量i、j、k除外),由多个单词组成变量名每个单词的首字母大写(第一个单词除外) 方法 同变量,尽量用动词 常量 字母大写,单词间用下划线分隔 类和接口 首字母大写

关键字 关键字通常也称为保留字,是程序设计语言本身已经使用且被赋予特定意义的一些标识符。 abstract continue for new switch boolean default goto* null synchronized break do if package this byte double implements private threadsafe byvalve * else import protected throw case extends instanceof public transient catch false int return true char final interface short try class finally long static void const * float native super while

数据类型

变量声明 变量类型 identifier [, identifier]; int ID; float price, wholesalePrice; char myChar; boolean isOpen; 变量类型 identifier = value [, identifier = value]; int ID = 428890; float price = 2.35F, wholesalePrice = 1.95F ; char myChar = ’t’; boolean isOpen = false;

常量声明 常量声明的形式与变量声明基本一样,只需用关键字final标识, final写在最前面。 常量标识符全部用大写字母表示。 final int MAX=10; final float PI=3.14f; 常量标识符全部用大写字母表示。

数据类型转换 数据类型转换是将一种类型的数据转变为另一种类型的数据。当表达式中的数据类型不一致时,就需要进行数据类型转换。类型转换的方法有两种:隐式类型转换和显式类型转换。 当一个容纳信息量小的类型转化为一个信息量大的类型时,数据本身的信息不会丢失,所以它是安全的,这时编译器会自动地完成类型转换工作,这种转换被称为隐式数据类型转换。如我们将一个int型的数据转换为double型时是不用强制声明的。

数据类型转换 数据类型转换是将一种类型的数据转变为另一种类型的数据。当表达式中的数据类型不一致时,就需要进行数据类型转换。类型转换的方法有两种:隐式类型转换和显式类型转换。 当把一个容量较大的数据类型向一个容量较小的数据类型转换时,可能面临信息丢失的危险,此时必须使用显式类型转换。显式类型转换的形式为: (类型)表达式 例如: int n; double x; n=x; //编译错误 n=(int)x; //正确

Java语言基础 第二讲 运算符与表达式

运算符与表达式 运算符代表着特定的运算指令,程序运行时将对运算符连接的操作数进行相应的运算 表达式是用运算符把操作数(变量、常量等)连接起来表达某种运算或含义的式子。

算术运算符

算术运算符

关系运算符

逻辑运算符 短路 if(test1(0) && test2(2) && test3(2))

public class ShortCircuit { static boolean test1(int val) { System.out.println("test1(" + val + ")"); System.out.println("result: " + (val < 1)); return val < 1; } static boolean test2(int val) { System.out.println("test2(" + val + ")"); System.out.println("result: " + (val < 2)); return val < 2;

static boolean test3(int val) { System.out.println("test3(" + val + ")"); System.out.println("result: " + (val < 3)); return val < 3; } public static void main(String[] args) { if(test1(0) && test2(2) && test3(2)) System.out.println("expression is true"); else System.out.println("expression is false");

运算符 位运算符 运算符的优先级 逻辑运算 & | ~ ^ 移位运算 << >> >>> 括号 & | ~ ^ 移位运算 << >> >>> 运算符的优先级 括号 算术运算符 关系运算符 逻辑运算符

运算符的优先级和结合性 优先级别 运算符 含义 要求运算 对象的个数 结合方向 1 ()、[]、. 自左至右 2 !、~、++、--、-、(类型)、sizeof (单目运算符) 自右至左 3 *、/、% (双目运算符) 4 +、- 5 <<、>> 6 <、<=、>、>= 7 = =、!= 8 & 9 ^ 10 | 11 &&、|| 12 ? : (三目运算符) 13 =、+=、-=、*=、/=、%=、>>=、<<=、&=、^=、|= 14 ,

Java语言基础 第三讲 流程控制语句-分支

流程控制 表达式语句 表达式; sum=sum+1; a>b; 块语句 { [变量声明或常量声明]; 语句序列; }

程序的3种基本结构

if语句

if语句

if语句

switch语句 public class SwitchDaysInMonth{ public static void main(String args[]){ int month = Integer.parseInt(args[0]); switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("There are 31 days in that month."); break;

case 2: System.out.println("There are 28 days in that month."); break; case 4: case 6: case 9: case 11: System.out.println("There are 30 days in that month."); default: System.out.println("Invalid month."); }

分支结构示例 判断某年是平年还是闰年,如果某年能被4整除并且不能被100整除,或者能被400整除,那么这年是闰年。 将百分成绩转换为五等级成绩A、B、C、D、E

Java语言基础 第三讲 流程控制语句-循环

流程控制 循环语句 for语句 while语句 do … while语句

流程控制

流程控制

流程控制

流程控制

流程控制

流程控制 其他流程控制语句 goto break continue

流程控制 标号 LabeledFor.java LabeledWhile.java

循环结构示例 输入一个整数,求每个位上数字之和 求100-1000内的所有素数

Java语言基础 第四讲 数组

数组 数组(array)是具有相同数据类型的有限个同名变量的有序集合。一个数组包含若干个 同名变量,每个变量被称为一个数组元素,数组的元素个数称为数组的长度。 数组元素在数组中的位置称为数组的下标。通过数组名加下标的形式可以引用数组中的 指定元素。数组下标的个数称为数组的维数,有一个下标是一维数组,有二个下标就是二维 数组,其余类推。 通常不对数组变量本身进行运算或操作,而是对数组变量中所包含的数组元素进行运算和操作。对数组元素所能进行的运算和操作,取决于数组元素所属的数据类型。

一维数组 声明一维数组变量 使用new为数组分配空间 数据类型[] 数组 或 数据类型 数组[] int a[ ]; 或 int[ ] a; 数据类型[] 数组 或 数据类型 数组[] int a[ ]; 或 int[ ] a; double[ ] arrray1; double[ ] array2; double[ ] arrray1,array2; 使用new为数组分配空间 数组 = new 数据类型[长度] a = new int[5]; int a[ ] = new int[5];

数组的存储 1 A[0] 2 A[1] 3 A[2] 引用地址 4 A[3] 一维数组A 5 A[4]

数组 数组在堆中创建,在java中没有静态数 import java.util.*; public class ArrayNew { static Random rand = new Random(); static int pRand(int mod) { return Math.abs(rand.nextInt()) % mod + 1; } public static void main(String[] args) { int[] a; a = new int[pRand(20)]; prt("length of a = " + a.length); for(int i = 0; i < a.length; i++) prt("a[" + i + "] = " + a[i]); System.out.println(a); static void prt(String s) { System.out.println(s); 数组在堆中创建,在java中没有静态数

数组 数组可以互相赋值 int[] a,b; a=new int[5]; b=new int[10]; … a=b;

数组

数组 数组边界 a.length 运行时错误 数组初始化 数组拷贝 Array.copy

数组示例 查找数组中的最大值 找出最大的数及其下标 对数组排序

二维数组 声明二维数组 二维数组元素表示格式 int mat[ ][ ] = new int [3][4]; 二维数组[下标1][下标2] mat[i][j] 表示第i行第j列的数组元素

public class InitArray { public static void main( String args[] ) int array1[][] = { { 1, 2, 3 }, { 4, 5, 6 } }; int array2[][] = { { 1, 2 }, { 3 }, { 4, 5, 6 } }; System.out.println( "Values in array1 by row are" ); outputArray( array1 ); System.out.println( "\nValues in array2 by row are" ); outputArray( array2 ); // displays array2 by row } public static void outputArray( int array[][] ) for ( int row = 0; row < array.length; row++ ) for ( int column = 0; column < array[ row ].length; column++ ) System.out.printf( "%d ", array[ row ][ column ] ); System.out.println(); // start new line of output

多维数组的存储 A[0][0] A[0][1] A[0][2] A[0] A[1][0] A[1] 引用地址 A[1][1] A[2]

Java语言基础 第五讲 字符串

字符串 字符串概述 字符串说明 不可变字符串String 可变字符串StringBuffer 不使用new关键字 String s=“abc”; 使用new关键字 String s=new String(“abc”);

字符串 字符串池 abc s1 s2 s3 s4 abc abc String s1=“abc”; String s2=“abc”; String s3=new String(“abc”); String s4=new String(“abc”); s1 s2 s3 s4 abc abc

main方法的命令行参数 java Introductions ljs teacher public class Introductions { public static void main (String args[]) System.out.println("My name is " + args[0] + “ and I am a " + args[1]); }

字符串处理 字符串长度 字符串连接 取子串 转换成字符数组 str.length() +、str.concat() str.subString() 转换成字符数组 str.toCharArray()

字符串处理 获得指定位置的字符 大小写转换 字符替换 去字符串左右空格 str.charAt() str.toUpperCase()、str.toLowerCase() 字符替换 str.replace() 去字符串左右空格 str.trim()

字符串处理 字符串查找 字符串的分割 字符串格式化 字符串的比较 str.indexOf() str.lastIndexOf() str.split() 字符串格式化 str.format() 字符串的比较 str.equals() str.compareTo() str.compareToIgnoreCase()

字符串转换 字符串转换成基本数据类型 基本数据类型转换成字符串 对象类型转换为字符串 基本类的parseXXX() valueOf() String.valueOf() 对象类型转换为字符串 toString()

StringBuffer类 构造 基本操作 修改操作 选择使用String和StringBuffer new StringBuffer(…); 基本操作 length、charAt、subString 修改操作 追加append 插入insert 替换replace 删除delete 选择使用String和StringBuffer

字符串示例 统计字符串中字符出现的次数。 从字符串中提取出数字,并将其按出现的顺序转换成一个整数。 反转输出字符串。