java第二章

合集下载

Java语言程序设计(第三版)第二章课后习题答案(仅供参考)

Java语言程序设计(第三版)第二章课后习题答案(仅供参考)

Java语⾔程序设计(第三版)第⼆章课后习题答案(仅供参考)2.1 注意不同类型转换1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6double f = sc.nextDouble();7double t = (5.0/9)*(f-32); // 注意 (5/9) 结果为整形要写成 (5.0/9)8 System.out.println(t)9 }2.21import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6 System.out.println("请输⼊圆柱体半径和⾼:");7double r = sc.nextDouble();8double h = sc.nextDouble();9double v = Math.PI * r * r * h; //圆周率⽅法 Math.PI10 System.out.println(v);11 }2.31import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6 System.out.println("请输⼊体重和⾝⾼:");7double g = sc.nextDouble();8double h = sc.nextDouble();9double BMI = g / (h * h);10 System.out.println(BMI);11 }2.4 使⽤循环每次对个位取数相加取数后除以10 使前⼀位变为个位继续判断⼩于等于0时停⽌1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5int sum = 0;6 Scanner sc = new Scanner(System.in);7int num1 = sc.nextInt();8while (num1 > 0) // 与 0 ⽐较判断是否需要取数9 {10 sum += (num1%10); // 通过取余获得个位数字11 num1 /= 10; // 每次取余后除以1012 }13 System.out.println(sum);14 }2.5 注意 System.currentTimeMillis()⽅法返回long形需要转换为int形1public class Ch02 {2public static void main(String[] args) {3// 通过 System.currentTimeMillis() ⽅法获得从1970年1⽉1⽇ 00:00:00 到现在的毫秒数4// 28800000 是格林时间与我们时区的时间差值5// 对 86400000 取余是把满⼀天的时间都去掉获取多出来的不⾜⼀天的时间6int t = (int)((System.currentTimeMillis()+28800000)%86400000);7int hour = t/3600000; // 除 3600000 获取满⼩时的个数即求⼩时为⼏点8int mine = t%3600000/60000; // 计算不⾜⼀⼩时的时间⾥有多少分钟9int s = t%3600000%60000/1000; // 计算不⾜⼀分钟的时间⾥有多少秒不要忘记除以 1000 (因为单位为毫秒)10 System.out.println("当前时间: "+hour+":"+mine+":"+s+" GMT");11 }2.6 a 不能为 0 b2 - 4 * a * c 不能为 01import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5double sum,a,b,c,t;6 Scanner sc = new Scanner(System.in);7while (true) {8 a = sc.nextDouble();9 b = sc.nextDouble();10 c = sc.nextDouble();11 t = b*b-4*a*c;12if (a == 0) {13 System.out.println("a 不能为 0,请重新测试 ^_^");14 } else if (t < 0) {15 System.out.println("b*b-4*a*c不能为0,请重新测试");16 }17else18 {19break;20 }21 }22 sum = ((-b+Math.sqrt(t)/(2*a))); //( 2*a ) 注意加括号23 System.out.println(sum);2.7 注意计算公式先后顺序多使⽤⼩括号1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6double yrate = sc.nextDouble();7double amount = sc.nextDouble();8double year = sc.nextDouble();9double month = (amount * (yrate/12))/(1-(1/Math.pow(1+yrate/12,year*12)));10double sumamount = month*12*year;11 System.out.println("⽉⽀付⾦额:"+month+"\n总偿还⾦额:"+sumamount);12 }。

高等教育自学考试Java语言程序设计(一)第二章数据和表达式课件

高等教育自学考试Java语言程序设计(一)第二章数据和表达式课件

第二章数据和表达式目录第一节基本语法元素第二节基本数据类型第三节表达式01 基本语法元素1.空白在java程序中,换行符及回车符都可以表示一行的结束,它们可被看作是空白,另外空格键,水平定位键(Tab)亦是空白,编译器会忽略多余的空白。

2.注释(1)单行注释://一行内的注释(2)多行注释:/*一行或多行注释*/(3)文档注释:/**文档注释*/3.语句、分号和块语句是Java程序的最小执行单位,程序的各语句间以分号“;”分隔。

一个语句可以写在连续的若干行内。

大括号“{”和“}”包含的一系列语句称为块语句,简称块。

语句块可以嵌套,即语句块中可以含有子语句块;关键字Java语言定义了许多关键字,关键字也称为保留字,他们都有各自的特殊意义和用途。

*标红的为预留关键字,尚未使用标识符1.标识符是由字母、数字、下划线(_)或美元符($)组成的字符串,其中数字不能作为标识符的开头。

2.标识符区分大小写,长度没有限制。

3.标识符中不能含有其他符号,例如+、=、*、及%等,当然也不允许插入空白。

4.标识符可用作变量名、方法名、接口名和类名。

5.Java源代码采用的是Unicode码,用16位无符号二进制数表示一个字符,Unicode字符集中的字符数可达65535个,汉字也是字符,所以也可以出现在标识符中,例如“这是一个标识符”也是一个正确的标识符。

Java编程风格编写程序时应该注重自己的编程风格,增加必要的注释和空格,采用缩进格式。

定义的各种标识符也要遵从惯例注意大小写。

程序中尽量不使用没有含义的标识符。

最好能望名知义,例如,变量用于计数,可将它命名为counter;用变量保存税率,可将它命名为taxRate。

·类名或接口名:多为名词,含有大小写,每个单词的首字母大写如HelloWorld、Customer、SortClass 等。

·方法名:多是动词,含有大小写,首字母小写,其余各单词的首字母大写。

第2章 Java编程基础.ppt

第2章 Java编程基础.ppt
A、boolean a=TRUE; B、boolean b=FALSE; C、boolean c='true'; D、boolean d=false;
14、下列选项中,按照箭头方向,不可以进行自
动类型转换的是( )
A、byte → int
B、int → long
C、double →long D、short → int
18.在程序中为了标明不同的进制,数据都有特定
的标识,八进制必须以_____开头;十六进制必须
以_________或_________开头。
19.​Java语言中,double类型所占存储空间为 _________个字节。 20.简述什么是变量的作用域
21.请列举Java语言中的八种基本数据类型,并说 明每种数据类型所占用的空间大小
D、goto
8、下列转义字符中,不合法的是( )
A、'\n‘
B、'\x'
C、'\r'
D、'\t'
9、下列选项中,哪一个是十进制数6的二进制值 ()
A、111 C、110
B、101 D、011
10、下列选项中,不属于基本数据类型的是( )
A、String
B、short
C、boolean
D、char
11、下列关于浮点型数据的定义,哪一个不能通 过编译( )
52、下面关于方法定义的描述中,正确的是( ) A、当方法没有返回值时,返回值类型要定义为void B、当方法没有返回值时,返回值类型可以不写 C、当方法没有返回值时,不能有return语句 D、方法是不可以没有参数的
53、Java允许在一个程序中定义多个同名的方法, 但是参数的类型或个数必须不同,这就是方法的 重载( )

第二章java基本语法

第二章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 。

第2章_Java基本数据和运算

第2章_Java基本数据和运算
输出
5 % 2= 1 5/2=2
分析运行结果
public class OperatorTest { public static void main(String[] args) { int i =7/3; int j =2+7%i; double k = 7.8/i+5; System.out.println("i="+i); System.out.println("j="+j); System.out.println(”k="+k); } }
算术运算符应用
某学生有3门课成绩,编程实现求平均分。
public class Test1 { public static void main(String[ ] args) { String name= "刘星"; //姓名 int javaScore=90; //Java成绩 int webScore=86; // Web成绩 int sqlScore=88; //Sql 成绩 double avgScore; //平均成绩 avgScore= (webScore+javaScore+sqlScore)/3; System.out.println("学生姓名:"+name); System.out.println("平均成绩:"+avgScore); } }
?
常见错误
下面语句正确吗?
int a = 10; int b = 10.2; double c = 10; c = a; int d = c; double不可以自动转化成int
分析运行结果
public class TypeTest1 { public static void main(String[] args) { int a = 5; float x = a; //自动类型转换 double y= 5.8; int b=(int)y; //强制类型转换 System.out.println("a="+a); System.out.println("x="+x); System.out.println("y="+y); System.out.println("b="+b); } }

数据结构Java版第二章习题

数据结构Java版第二章习题

(依据自己的状况选作部分习题,不要剽窃)第二章习题次序储存线性表一判断题1.线性表的逻辑次序与储存次序老是一致的。

×2.次序储存的线性表能够按次号随机存取。

√3.次序表的插入和删除操作不需要付出很大的时间代价,由于每次操作均匀只有近一半的元素需要挪动。

×4.线性表中的元素能够是各种各种的,但同一线性表中的数据元素拥有同样的特征,所以是属于同一数据对象。

√5.在线性表的次序储存构造中,逻辑上相邻的两个元素在物理地点上其实不必定紧邻。

×6.在线性表的次序储存构造中,插入和删除时,挪动元素的个数与该元素的地点相关。

√二单项选择题 ( 请从以下 A,B,C,D 选项中选择一项 )1.线性表是 ( A )。

(A)一个有限序列,能够为空;(B)一个有限序列,不可认为空;(C)一个无穷序列,能够为空;(D)一个无序序列,不可认为空。

2.对次序储存的线性表,设其长度为n,在任何地点上插入或删除操作都是等概率的。

插入一个元素时均匀要挪动表中的( A )个元素。

(A) n/2(B) n+1/2(C) n -1/2(D) n三填空题1.在次序表中做插入操作时第一检查___表能否满了 ______________。

四算法设计题1.设线性表寄存在向量A[arrsize]的前elenum个重量中,且递加有序。

试写一算法,将x插入到线性表的适合地点上,以保持线性表的有序性。

而且剖析算法的时间复杂度。

2.已知一次序表A,其元素值非递减有序摆列,编写一个函数删除次序表中剩余的值同样的元素。

3.编写一个函数,从一给定的次序表A 中删除值在 x~y(x<=y) 之间的所有元素,要求以较高的效率来实现。

提示:能够先将序表中所有在 x~y 之的元素置成一个特别的,其实不立刻除它,而后从最后向前挨次描,拥有特别的元素后,移后来面的元素将其除去。

4.性表中有 n 个元素,每个元素是一个字符,存于向量R[n] 中,写一算法,使 R 中的字符按字母字符、数字字符和其余字符的序摆列。

Java编程基础及应用Java语言基础

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实现面向对象编程2、第二章-继承(上机实操手册)

使用Java实现面向对象编程2、第二章-继承(上机实操手册)

JA V AOOP第二章上机步骤上机练习一、训练要点:继承子类重写父类方法理解继承中的初始化过程需求说明:优化电子宠物系统使用继承实现Dog类和Penguin类打印宠物信息实现思路:步骤:1、将第一章的工程导入2、在cn.jbit.epet包下新建ch02包在此包下,创建Pet类,定义属性和方法,定义print()方法,定义无参和有参构造方法package cn.jbit.epet.ch02;/***宠物类,狗狗和企鹅的父类。

* 更多资源可在阿升老师的【与或非】公号中自行查找*@author*/public class Pet {private String name = "无名氏";// 昵称private int health = 100;// 健康值private int love = 0;// 亲密度/***无参构造方法。

*/public Pet() {this.health = 95;System.out.println("执行宠物的无参构造方法。

");}/***有参构造方法。

*@param name昵称*/public Pet(String name) { = name;System.out.println("执行宠物的有参构造方法。

");}public String getName() {return name;}public void setName(String name) { = name;}public int getHealth() {return health;}public void setHealth(int health) {this.health = health;3、创建Dog类,继承pet类,增加strain(品种)属性及相应的getter/set方法。

及有参构造package cn.jbit.epet.ch02;/***狗狗类,宠物的子类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1
Java
基 本 数 据 类 型
2.1.1 标识符和关键字
修饰符:abstract、final、private、protected、public、 synchronized、static、void。 创建对象:new。 引用:this、super。
2.1
Java
Java 语言中的关键字均用小写字母 表示,每个关键字都有特殊作用。
基 本 数 据 类 型
2.1.2 数据类型和长度
Java基本数据类型包括:
2.1
Java
1.整数类型 (Integer):byte、short、 int、long 2.浮点类型 (Floating):float、double 3.字符类型 (Textual):char 4.布尔类型 (Logical):boolean
2.1
Java
基 本 数 据 类 型
2.1.4 类型转换
1.自动类型转换 整型、字符型、浮点型都可以看做数值型数据,可以进行混 2.1 合运算,当不同的数值型数据进行混合数据运算时,有一个潜在 Java 的规则:不同类型的数据先转化为同一类型,然后再进行数据运 基 算。 2.强制类型转换 不同类型的数据之间进行运算时,低精度类型的数据可以自 动转换成高精度类型的数据。欲让高精度数据转换成低精度数据, 需要强制类型转换,其形式是:
作用将“=”右边的值赋给左边的变量,表达式可以是常量 表达式或变量表达式,后面加上分号即构成一个完整的赋值语句。
2.复合赋值
基本赋值运算符与算术运算符组成复合赋值运算符。
2.2 运 算 符 忽 然 表 达 式
2.2.5 运算符优先等级
当运算趋于复杂时,可能在一个运算中出现多个运算符,就 按照优先级的高低进行,级别高的运算符先运算,级别低的运算 符后运算。 优 先 级 1 2 3 4 5 6 运 算 符 () [] . ! +(正) -(负) ++ ―― */% +(加) -(减) << >> >>> < <= > >= 结 合 性 从左到右 从右向左 从左向右 从左向右 从左向右 从左向右
2.2 运 算 符 忽 然 表 达 式
2.2.5 运算符优先等级
7 8 = = != && 从左向右 从左向右
9
10 11 = += -=
||
?: *= /= %=
从左向右
从右向左 从右向左
2.2 运 算 符 忽 然 表 达 式
2.1
Java 基本数据类型
2.2
运算符和表达式
2.1.1 标识符和关键字
1.标识符
2.1 Java 程序中的类、方法、对象、变量等元素都应该有自己 的名称,对 Java 程序中的各个元素加以命名时使用的命名符号 Java 称为标识符。 基 Java 语言中,标识符是以字母、下划线(_)、美元符($) 开始的一个字符序列,后面可以跟字母、下划线、美元符和数字, 本 不可以用 Java 关键字。 数
a<b a>b a <= b a >= b a != b a == b
2.2 运 算 符 忽 然 表 达 式
2.2.2 关系运算符和逻辑运算符
2.逻辑运算符 逻辑运算符实现逻辑与、逻辑或、逻辑非。逻辑运算符的操 作必须是布尔型数据,逻辑运算符可以用来连接关系表达式。 逻辑运算符 && || ! 实际操作 逻辑与,两者同时为 true 时, 结果才为 true 例 子
++a(――a)表示在使用a之前, 先使 a 的值加1(减1);a++(a――) 表示在使用 a 之后,使 a 的值加1 (减1)。
2.2 运 算 符 忽 然 表 达 式
2.2.4 赋值运算符和赋值表达式
赋值运算是Java语言中最基本的运算符,赋值运算符就是通 常数学上的等于符号“=”。 1算 符 忽 然 表 达 式
2.2.2 关系运算符和逻辑运算符
1.关系运算符 关系运算符用来比较两个值的关系,其运算结果是布尔型, 当运算符对应的关系成立时,运算结果为true,否则为false。 关系运算符 < > <= >= != == 实际操作 小于 大于 小于等于 大于等于 不等于 等于 例 子
a && b a || b !a
逻辑或,两者中一个为 true时, 结果就为 true
逻辑非,对a 的否定
2.2 运 算 符 忽 然 表 达 式
2.2.3 自增运算符和自减运算符
自增运算符和自减运算符是单目运算符,可以放在操作数之 前,也可以放在操作数之后。操作数必须是一个整型或浮点型变 量,作用是使变量的值增1或减1。
(类型)数据
本 数 据 类 型
2.2.1 算术运算符
算术运算符用在数学表达式中,可以实现基本的数值运算, 其用法和功能与数学中类似。 Java 提供的算术运算符 算术运算符 + - * / 实际操作 加法运算 减法运算 乘法运算 除法运算 求余(取模)运算 例 子
a+b a-b a*b a/b a%b
基 本 数 据 类 型
2.1.3 常量和变量
1.常量 常量是指在程序运行过程中值固定不变的的量。
1) 整形 常量 4) 布尔型 常量
2.1
Java
Java 语 言 中 的 常 量
2) 浮点型 常量
3) 字符型 常量
基 本 数 据 类 型
2.1.3 常量和变量
2.变量 变量是指程序运行过程中其值可以发生 改变的量。在 Java中程序是通过变量来操作 内存中的数据的,因此程序在使用任何变量 之前首先应该在该变量和内存单元之间建立 联系,这个过程称为定义变量或变量声明。
合法的标识符有:username、$ change、sys_val。
不合法的标识符有:2how(第一个字母不能为数字)、 class、do(不能为 Java 关键字)、user name(不能有空格)、 is_room!(!不能作为标识符的一部分)。
据 类 型
返回
2.1.1 标识符和关键字
2.关键字 Java 语言中的关键字是指程序代码中的特殊字符,具有专 门的意义和用途,不能当做一般的标识使用。 类和接口的声明:class、implements、interface、extends。 包和引入包的声明:package、import。 基本数据类型:int、byte、long、short、boolean、char、 doble、float。 数据类型特定值:true、false、unll。 流程控制:break、case、continue、default、do、else、for、 if、return、switch、while。 异常处理:try、catch、finally、throw、throws。
相关文档
最新文档