第二章 Java语言基础_2
第2章JAVA语言基础

包的概述
2
Java语言基础
– java.applet 用来实现运行于Internet浏览器中的Java Applet的工具类库, 它仅包含一个非常有用的类 java.applet.Applet。(创建Applet小程序) – java.io Java语言的标准输入/输出类库, 包含了实现 Java程序与操作系统、用户界面以及其他Java程序 做数据交换所使用的类。(输入输出) – Java语言用来实现网络功能的类库,利用 包中的类,开发者可以编写自己的具有网络 功能的程序 – java.util 实用程序类, 包括了Java语言中的一些低级 的实用工具(如随机数、日期、系统属性…) Java类库是系统提供的已实现的标准类的集合,是Java 7 的 API,帮助开发者方便快捷地开发Java程序。
Java 语言基础
主要内容
Java程序结构 Java语法规则
2
Java语言基础
基本数据类型
数组
字符串
流程控制语句
2
程序结构
package --import --class 类名1 { 属性定义 方法名1() { ----} 方法名2() { ----} } class 类名2 { ------}
2
Java语言基础
Java语言的源代码由 一个或多个编译单元 (compilation unit)组成 ,每个编译单元只能 包含下列内容: (1)一个程序包语句 (package statement) (2)导入语句 (import statements) (3)类的声明 (class declarations) (4)接口声明 (interface declarations)
3
程序结构
第二章 Java语言的基础知识

计算机科学与技术系
10
2.3
Java数据类型 数据类型
2.3.5 基本数据类型转换
boolean类型不可以与其他数据类型进行转换。 类型不可以与其他数据类型进行转换。 类型不可以与其他数据类型进行转换 自动类型转换 强制类型转换 int i = 1; int sum; float f = 1.0f; sum = i + f; //将出错。应为 将出错。 将出错 应为sum = (int)(i + f);
引用数据类型
Java各种数据类型有固定的字段长度,其不受具体操 各种数据类型有固定的字段长度, 各种数据类型有固定的字段长度 作系统的影响,以保证Java程序的可移植性。 程序的可移植性。 作系统的影响,以保证 程序的可移植性
计算机科学与技术系
6
2.3
Java数据类型 数据类型
2个字节 个字节
Hale Waihona Puke 2.3.1 字符类型 字符类型char
常量的类型和取值范围和变量都是一样的。 常量的类型和取值范围和变量都是一样的。
计算机科学与技术系
12
2.5
Java变量 变量
Java变量是程序中最基本的存储单元。 变量是程序中最基本的存储单元。 变量是程序中最基本的存储单元 三要素:变量名、变量类型、 三要素:变量名、变量类型、作用域 变量在使用前必须先声明,后使用。声明格式为: 变量在使用前必须先声明,后使用。声明格式为:
用单引号括起来的单个字符。 用单引号括起来的单个字符。 字符涵盖所有语言涉及的字符,包括汉字、日文和韩文等。 字符涵盖所有语言涉及的字符,包括汉字、日文和韩文等。 也可用十六进制编码形式表示。(因为Java采用 。(因为 也可用十六进制编码形式表示。(因为 采用 Unicode编码系统,每个字符占两个字节) Unicode编码系统,每个字符占两个字节) 编码系统 字符分为普通字符和特殊字符(如转义字符 如转义字符\n,\r,\t) 字符分为普通字符和特殊字符 如转义字符 所有字符可以采用统一的书写方式表示:\u+字符编码 所有字符可以采用统一的书写方式表示 字符编码 char cChar = ‘中’ 中 char eChar ‘a’; 如: char eChar = = ‘a’; char c1 = ‘\u0062’;; char c1 = ‘\u0061’; ; char cChar = ‘中’ 中 char c2 = = ‘\n’; //‘\n’代表换行符 //‘\n’代表换行符 代表换行符 char c2 ‘\n’; 代表换行符
北大青鸟java全套课程TP2

ACCP V4.0
目标
理解数据类型 掌握运算符 掌握数组 运用控制流语句
3
ACCP V4.0
Java 语言的基础知识
Java 块
数据类型
变量
运算符
控制流语句
数据类型确定要存储在内存中的数据的类型。 数据类型 变量是存储数据的基本单元 。 运算符是一个符号,用于操作一个或多个参数以得出结果。 运算符 程序是按顺序执行的。控制流语句 控制流语句允许改变此顺序。 控制流语句
18
ACCP V4.0
switch-case 语句
switch-case 语句可用于替换 if-else-if 语句 在表达式可以得出多个值的情况下,使用此语句 使用 switch-case 语句会带来更好的效果 switch-case 语句的语法为:
switch (表达式) { case 1: 操作 1 的语句; break; case 2: 操作 2 的语句; break; …. case n : 操作 n 的语句; break; default: 默认语句;
15
ACCP V4.0
控制流语句
所有应用程序开发环境都提供一个判定过程,称为控制流 语句,它用于引导应用程序的执行 流控制使程序员可以创建一个应用程序,该应用程序能够 检查现有的条件并决定适当的操作过程 循环或迭代是重要的编程结构,可用于重复执行一组操作 跳转语句允许以非线性的方式执行程序
16
ACCP V4.0
6
ACCP V4.0
示例
class VariableTest { public static void main(String [] args) {
double a = 1.0; int b = 3;
java完美经典读书笔记

java完美经典读书笔记第一章概述第二章JAVA语言基础关键字:基本数据类型:bytehortintcharlongfloatdoubleboolean循环控制:dowhileforbreakcontinue分支控制:ifelewitchcaedefaultbreak方法变量和类得修饰府:privatepublicprotectedfinaltaticabtractynchronizedvolatiletrictf ptranient字面值常量:faletruenull方法相关得关键字:returnvoid包相关得关键字:packageimport异常处理:trycatchfinallythrowthrow对象相关:newe某tendimplementuperclaintanceofthi很多算术运算操作可以产生浮点型无法表达的数字,如无限大,无限小等,这些数据的表达通过浮点数封装类(Float和Double)所提供的特殊属性来表达。
Float.NaN非数字Float.NEGATIVE_INFINITY无限小Float.POSITIVE_INFINITY无限大Double.NaN非数字Double.NEGATIVE_INFINITY无限小Double.POSITIVE_INFINITY无限大数据类型的自动转换图:char--->{int-->long-->float-->doublebyte-->hort-->{内置类对应的基本类型:Byte-->byte;Short-->hort;Integer-->int;Long-->long;Float-->float;Double-->doubleBoolean-->boolean;Character-->char;String-->char[]将基本数据类型转为String类型:tringtr1;intintv1=300;tr1=String.valueOf(intv1);将tring类型转为基本数据类型:tringtr1="126";inti1=Integer.pareInt(tr1);取得tring对象内含的char[]值,必须使用它的toCharArray()方法来取得。
第二章java基本语法

第二章java基本语法§。
1 java程序的构成前言:java语言源程序采用有效的16bit双字节字符编码标准(uni code)。
Java程序构成分物理构成和逻辑构成。
逻辑构成是基于信息组织的角度,而物理构成是基于程序组成的角度•§2.1。
1逻辑构成程序头包的引用:主要是指引用jdk软件包自带的包,也可以java源程序逻辑构成是自己定义的类。
引用后程序体中就可以自由应用包中的类的方法和属性等。
类的定义:java语言源程序中可以有多个类的定义,但必须有一个主类,此主类是java程序运行的入口点.在应用程序中,主类为包含main方法的类;在applet中,主类为用户自定义的系统applet类的扩展类•在java语言源程序中,主类的名字同文件名一致。
注:类的定义有包括类头声明和类体定义。
类体中包括属性(成员变量)声明和方法(行为)描述。
【例2.1】下面是一个应用程序,也是一个applet,既可以在命令行下运行,也可以嵌到html网页中用appletviewer 命令运行。
程序如下:// 程序文件名为welcomeapplet.java 注释语句import java 。
applet。
* ;import java.awt 。
*; 卜引入包import java.awt 。
event.* ;public class welcomeapplet exte nds applet impleme nts action listener {主类类头public void action performed (actionevent e) {txtdisp.settext (txtname 。
gettext() + "欢迎你来到 java 世界!”; }public static void main (string args[]){frame f=new frame( 欢迎");f.addwindowlistener(new windowadapter()) {public void wi ndowclosi ng(wi ndoweve nt ev {system o exit (0);} }welcomeapplet a=new welcomeapplet ();a 。
Java编程基础及应用Java语言基础

2.1关键字
Java是一种严格的类型化语言,Java处理的每一个数据 都必须指明类型,正是因为这样的规定, Java 才具有 了良好的安全性与健壮性。
关键字(key word)是电脑语言里事先定义的,包括具 有特殊意义的标识符和特殊意义的变量。
2.1关键字
abstract case continue enum for instanceof new return switch transient assert catch default extends goto int package strictfp synchronized try boolean char do final if interface private short this void sd class double finally implements long protected static throw volatile byte const else float import native public super throws while
2.3.5 引用数据类型
程序运行结果:
a is 1 b is 2 x is java.awt.Point[x=0,y=0] y is java.awt.Point[x=1,y=1] Performing assignment andsetLocation... a is 3 b is 2 x is java.awt.Point[x=5,y=5] y is java.awt.Point[x=5,y=5]
2.3.5 引用数据类型
不能对原始类型调用方法,但可以对对象调用方法:
int j = 5; j.hashCode(); //错误 Integer i=new Integer(5); i.hashCode(); //正确
Java第二章

基本 类型
访问控制
程序控 制语句
类、方法和 变量修饰符
变量 引用
包相关
错误 处理
boolean private 、byte protected 、char public 、 double 、float 、int 、 long、 short
break、 continue、 return 、do 、while 、 for、
浮点类型 float(单精度浮点数) 整型 长度 4字节 取值范围 负数:-1038~-10-38 正数:10 ~1038 * -38 2.3.2 浮点型
double(双精度浮点数)
8字节
负数:-10308~-10-308 正数:10-308~10308
示例: float i=125.56F; //必须结尾为F double j=46E100; //注意:浮点型常量默认为 double类型
【例2-3】变量重复定义示例。
class ScopeErr { public static void main(String[] args) {int bar=1; { … int bar=2; // 出错,变量bar 重复定义 } … } }
2.3 基本数据类型
Java语言是一种强类型语言, 即Java语言中的每一个变量都必须 被声明为某一种数据类型。Java语言 的数据类型分为基本数据类型和复合 (引用)数据类型两大类,不支持C/C++语言中的 指针类型、结构体类型和共用体类型。基本数据 类型为Java语言定义的数据类型,通常是用户不 可修改的,它用来实现一些简单的数据类型;复 合数据类型是用户根据自己的需要定义并实现其 运算的类型,它是由简单数据类型及其运算复合 而成的。
\uxxxx 1~4位十六进制数所表示的Unicode字 符 \’ 单引号字符 \” 双引号字符 反斜杠字符 \\
第2章Java语言基础

(1)变量的声明
一般格式为: 其中: modifier为变量的访问修饰符 type为变量的类型 varName为变量名 下面声明了几个不同类型的变量: int age ; double d1,d2 ; char ch1, ch2 ;
[modifier] type varName[=value][,varName[=value]„] ;
2.1.4 浮点数类型
浮点类型的数就是我们所说的实数。 在Java中有两种浮点类型的数据:float型和 double型。 这两种类型的数据在JVM中所占的位数不同, float型占32位,double型占64位。 通常float型称为单精度浮点数,double型称为 双精度浮点数。
1.
常值变量可以在声明的同时赋值,也可以稍后赋 值。不管哪种情况,一旦赋值便不允许修改。
3. 变量及赋值
变量是在程序运行中其值可以改变的量。 一个变量应该有一个名字,在内存中占据一定的 存储单元。 根据变量的数据类型分,Java有两种类型的变量: 基本类型的变量和引用类型的变量。 基本类型的变量包括数值型(整数型和浮点型)、 布尔型和字符型; 引用类型的变量包括类、接口、枚举和数组等。 变量在使用之前必须定义,变量的定义包括变量 的声明和赋值。
(2)变量的赋值
使用赋值运算符“=”来给变量赋值,一般称为变 量的初始化。 如下面是几个赋值语句: age = 21 ; ch1 = 'A' ; d1 = 0.618 ; 也可以在声明变量的同时给变量赋值,例如: boolean b = false ;
2.1.3 整数类型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、运算符
运算符具有优先级和结合性这两个属性。
运算符的优先级:所谓优先级,就是当多个运算符出现在同一个表达式时,先执行哪个运算符。Java语 言会比较各个运算符的优先级,按照优先级从高到低的顺序执行。例如,在表达式2+3*6-7中,运算符* 的优先级最高,因此先计算3*6,然后再执行其它运算。运算符的优先级总共有14级,从1级到14级是逐 级降低的。
2. 输入基本类型的数据 使用Scanner类的对象执行输入,先创建对象:Scanner reader = new Scanner(System.in);
然 后 通 过 reader 对 象 分 别 调 用 next() 、 nextLine() 、 nextBoolean() 、 nextByte() 、 nextShort() 、 nextInt() 、 nextLong()、nextFloat()、nextDouble()等方法从终端读入一个字符串(遇到空格或回车符结束)、一行字符串(遇 到回车符才结束)、一个boolean型数据、一个byte型数据、一个short型数据、一个int型数据、一个long型数据、 一个float型数据、一个double()型数据。要读入多个数据,就要多次调用nextXXX()方法。
为了正确的调用nextXXX()方法,可以先调用hasNextXXX()方法判断将要读入的数据是否为期望的数据 类 型 , 然 后 再 调 用 相 应 的 nextXXX() 方 法 读 取 数 据 。 hasNextXXX() 方 法 与 nextXXX() 方 法 相 对 应 , 如 hasNextBoolean()、hasNextByte()、hasNextFloat()、hasNext()、hasNextLine()…等。
%d:输出int类型数据值; %md:输出的int型数据占m列; %c:输出char型数据; %s:输出字符串数据。 %f:输出浮点型数据,小数保留6位,不够的话补0; %m.nf:输出的浮点型数据占m列,小数保留n位。
例如:System.out.printf(“整数n的值是%d”, n); //若n的值是10,则输出为:整数n的值是10 System.out.printf(“字符x的值是%c”, x); //若x的值是字符‘A’,则输出为:字符x的值是‘A’ System.out.printf(“浮点数的值是%f”, 10.3); //输出为:浮点数的值是10.300000
第二章 Java语言基础_2
一、数据的输入输出 二、运算符 三、表达式和语句
一、数据的输入输出
1. 输出基本类型的数据 可以使用System.out.println()或System.out.print()输出字符串、变量、常量、表达式的值。前者输出后换行,后者不换
行。可以使用符号“+”将变量、常量或者表达式与一个字符串连接后一起输出。例如,m和sum的值分别是10和100,则: System.out.println(m + “个数的和为” + sum); 输出:10个数的和为100 System.out.print(123 + “大于”+ 122);:"); if (scan.hasNext()) { // 判断当前是否有输入数据
String s = scan.next(); //按字符串读入当前的输入数据 char c = s. charAt(0); System.out.println(“读入的字符为:" + c); } else{ System.out.println(“还没有输入数据!"); }
注意:只要在“+”号的前后有字符串,执行的就是连接操作,否则执行普通的加法运算。
JDK1.5新增了类似C语言printf函数的输出方法:System.out.printf("格式控制部分",表达式1,表达式2,…表达式n); 格式控制部分由格式符号%d、%c、%f、%s和普通的字符组成。普通字符原样输出,格式符号用来控制输出格式。
System.out.print(“请输入int型整数:"); if (scan.hasNextInt()) { // 判断当前将要读入的数据是否为int型整数
int i = scan.nextInt(); //读入一个int型整数 System.out.println(“读入的整数为:" + i); } else { System.out.println(“输入的数据不是int型整数!"); }
单目运算符:只有一个操作数的运算符,比如x++。 双目运算符: 有两个操作数的运算符,比如x+y。 三目运算符:有三个操作数的运算符,比如a>b?1:0。
运算符的结合性:所谓结合性,就是当一个表达式中出现若干个连续相邻的优先级相同的运算符时, 先执行哪个运算符,先执行左边的叫左结合,先执行右边的叫右结合。例如,若#是一个运算符,有表 达式a#b#c,如果#是左结合的,那么该表达式被解析为(a#b)#c,如果#是右结合的,那么该表达式将被 解析为a#(b#c)。比如,表达式a*b/c,*和/的优先级相同,结合性都是从左到右,所以先算*,然后算/。
注意:字符类型没有对应的nextXXX()方法,可以先调用next()或nextLine()方法将控制台的输入按字符 串读入,则返回一个String对象,然后调用String类的char charAt(int index)方法提取指定位置的字符,如 charAt(0)提取的是第一个字符。
看下面的例子:
import java.util.Scanner; public class ScannerDemo {
public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 创建从控制台读取数据的流对象