-
数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 Java 应用与开发 Java 语言基础与流程控制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 August 28, 2018 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 参考书目 1. 陈国君等编著, Java 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 学习目标 ▶ Java 语言基础 1. 数据类型 2. 常量和变量 3. 关键字与标识符 4. 运算符与表达式 5. 从键盘输入数据 ▶ 流程控制 1. 语句和复合语句 2. 分支结构(选择结构) 3. 循环结构 4. 跳转语句 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 ���� 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 数据类型
0 码力 |
37 页 |
685.82 KB
| 1 年前 3
-
14 2.2 Java 流程控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1 语句与复合语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.2 分支结构 . . . . . . . . . . . . 12.2.1 捕获异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 12.2.2 使用 finally 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 viii 12.2.3 操纵异常对象 . . . . . . . . Java (3rd) 教学目标 1. Java 语言基础包括:数据类型、常量和变量、关键字与标识符、运算符与表达式、 从键盘输入数据。 2. Java 流程控制包括:语句和复合语句、分支结构(选择结构)、循环结构、跳转 语句。 授课方式 理论课: 多媒体教学、程序演示 实验课: 上机编程 9 2.1. JAVA 语言基础 � 2 � 教学内容 2.1 Java 语言基础 2.1
0 码力 |
330 页 |
6.54 MB
| 1 年前 3
-
型异常时的处��� 10 } finally { 11 ... //无�件执行的语句 13 } 课程配套代码 ± sample.exception.HandleFirstExceptionSample.java 大纲 异常的概念及分类 Java 异常处理机制 使用 finally 语句 ▶ finally 语句是可选的 ▶ 作用是为异常处理提供一个统一的出口,使得在控制流转到 程序的其他 try 代码块中是否发生了异常事件,finally 块中的语句 都会被执行。当 catch 语句块中出现 return 语句时,finally 语句块同样会执行。 大纲 异常的概念及分类 Java 异常处理机制 操作异常对象 发生异常时,系统将自动创建异常类对象,并将作为实参传递给 匹配的 catch 语句块的形参,这样就可以在语句块中操纵该异常 对象。 O 异常类的父类 Throwable 统也 会自动调用该方法输出错误信息。 大纲 异常的概念及分类 Java 异常处理机制 操作异常对象 发生异常时,系统将自动创建异常类对象,并将作为实参传递给 匹配的 catch 语句块的形参,这样就可以在语句块中操纵该异常 对象。 O 异常类的父类 Throwable 中定义的方法 getMessage() 返回描述当前异常的详细消息字符串。 printStackTrace() 用来跟踪异常事件发生时运行栈的内容,并
0 码力 |
33 页 |
626.40 KB
| 1 年前 3
-
= 2; 2. 线程 A 执行 push 中的第一个语句,将 c 推入堆栈; data = |a|b|c| | | |,idx = 2; 3. 线程 A 还未执行 idx++ 语句,A 的执行被线程 B 中断,B 执行 pop 方法,data = |a|b|c| | | | idx = 1; 4. 线程 A 继续执行 push 的第二个语句: data = |a|b|c| | | |, idx = 2; 2. 线程 A 执行 push 中的第一个语句,将 c 推入堆栈; data = |a|b|c| | | |,idx = 2; 3. 线程 A 还未执行 idx++ 语句,A 的执行被线程 B 中断,B 执行 pop 方法,data = |a|b|c| | | | idx = 1; 4. 线程 A 继续执行 push 的第二个语句: data = |a|b|c| | | |, idx = 2; 2. 线程 A 执行 push 中的第一个语句,将 c 推入堆栈; data = |a|b|c| | | |,idx = 2; 3. 线程 A 还未执行 idx++ 语句,A 的执行被线程 B 中断,B 执行 pop 方法,data = |a|b|c| | | | idx = 1; 4. 线程 A 继续执行 push 的第二个语句: data = |a|b|c| | | |, idx
0 码力 |
82 页 |
1010.73 KB
| 1 年前 3
-
提供数据库操作的相关功能类 结构化查询语言的简 写 大纲 包 继承 访问控制 方法重写 关键字 super 关键字 this 包的创建 package 语句作为 Java 源文件的第一条语句,指明该文件中定 义的类所在的包(若缺省该语句,则指定为无名包)。语法格式 如下: 1 package pkg1[.pkg2[.pkg3...]]; CODE ± 创建包 1 package p1; ␣␣␣␣method␣m1␣is␣running!"); 6 } 7 } package 语句对所在源文件中定义的所有类型(包括接口、枚举、 注解)均起作用。 大纲 包 继承 访问控制 方法重写 关键字 super 关键字 this 包的创建 Java 编译器把包对应于文件系统的目录管理,package 语句中, 用“.”来指明包(目录)的层次。如果在程序 Test.java 中已定 义了包 p1,编译时采用如下方式: class 文件保存到该指定路径下,并且如果 源文件中有 package 语句,则编译时会自动在目标路径下创建与 包同名的目录 p1,再将生成的 Test.class 文件保存到该目录下。 大纲 包 继承 访问控制 方法重写 关键字 super 关键字 this 导入包中的类 为使用定义在不同包中的 Java 类,需用 import 语句来引入所 需要的类。语法格式: 1 import pkg1[.pkg2
0 码力 |
39 页 |
614.13 KB
| 1 年前 3
-
Person(String name) { 8 this(name, 18); 9 } 10 ... 11 } 注意 关键字 this 的此种用法只能用在构造方法中,且 this() 语句如 果出现必须位于方法体中代码的第一行。 大纲 多态性 方法重载 关键字 static 关键字 final 如何调用重载的构造方法 O 使用 super 调用父类构造方法 CODE ± Person static 关键字 final 上述代码为什么会编译出错 在 Java 类的构造方法中一定直接或间接地调用了其父类的构造 方法(Object 类除外)。 1. 在子类的构造方法中可使用 super 语句调用父类的构造方 法,其格式为 super(< 实参列表 >)。 2. 如果子类的构造方法中既没有显式地调用父类构造方法,也 没有使用 this 关键字调用同一个类的其他重载构造方法,则 系统会默认调用父类无参数的构造方法,其格式为 static 关键字 final 上述代码为什么会编译出错 在 Java 类的构造方法中一定直接或间接地调用了其父类的构造 方法(Object 类除外)。 1. 在子类的构造方法中可使用 super 语句调用父类的构造方 法,其格式为 super(< 实参列表 >)。 2. 如果子类的构造方法中既没有显式地调用父类构造方法,也 没有使用 this 关键字调用同一个类的其他重载构造方法,则 系统会默认调用父类无参数的构造方法,其格式为
0 码力 |
49 页 |
659.74 KB
| 1 年前 3
-
args) { log.info("My First Apache Shiro Application"); System.exit(0); } } 现在不必担心 import 语句——我们不久将会涉及到它们。但现在,我们得有一个命令行应用程序“外形”。该程序 所能够做到全部事情是打印出文本"My First Apache Shiro Application"并退出。 Test 中的权限代表着安全政策中最基础的元素。它们从根本上作出了对行为的声明,并明确表示可以在应 用程序中做什么。一个格式良好的权限声明基本上描述了资源以及当 Subject 与这些资源进行交互时可能出现的行 为。 权限语句的一些例子: 打开一个文件; 查看'/user/list'网页; 打印文档; 删除用户'jsmith'。 大多数资源将支持典型的 CRUD(创建,读取,更 有意义的行为都是可以的。 基本的概念是,最小的许可声明是基于资源和行为的。 在查看权限时,最重要的可能是认识到许可声明没有谁可以执行代表行为的表现形式。它们仅仅只是在一个应用程 序中能做什么的声明语句。 Permissions represent behavior only 许可声明仅能够反映行为(与资源类型相关的行为)。它们不反映是谁能够执行这样的行为。 定义(用户)被允许做什么
0 码力 |
92 页 |
1.16 MB
| 1 年前 3
-
所以,通常我们考虑我们 程序安全的方法也建立在当前用户的基础上,Shiro 的 API 提供了'the current user'概念,即 Subject。 在几乎所有的环境中,你可以通过如下语句得到当前用户的信息: Subject currentUser = SecurityUtils.getSubject(); 使用 SecurityUtils.getSubject(),我们可以获取 Realm SecurityManager上配置了这三个 Realm,在一个验证过程中,blahRealm, fooRealm, 和 barRealm 将被顺序执行。 这基本上与定义下面这一行语句的效果相同: Apache Shiro 1.2.x Reference Manual 中文翻译 42 5. Authentication 认证 securityManager.realms = 上述权限的例子,“打开文件”、“浏览'/user/list' 网页”,等都是有效的权限。 然而,计算来解释这些 自然语言字符串和确定用户是否允许执行这一行为这将是非常困难的。 为了使更容易处理但仍可读权限语句,Shiro 提供强大的和直观的语法我们称之为 WildcardPermission 。 Simple Usage 简单示例 你想保护访问贵公司的打印机,这样有些人可以打印到特定的打印机,而其他人可以查询什么工
0 码力 |
196 页 |
2.34 MB
| 1 年前 3
-
Exception 7 8 9 <% 10 int s = 0; 11 int t = 0; 12 int p = s / t; // 出现异常的语句 13 %> 14 15