李清华201772020113《面向对象程序设计(java)》第二周学习总结

第一部分 理论知识

第三章

本章主要讲了java基本知识中的标识符,关键字,注释,以及数据类型,变量,运算符,类型转换,字符串,输入输出,控制流程,大数值,数组等内容。

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

关键字:Java中已经被赋予特定意义的一些单词,例如:class、public、try、catch、if、float、import、void等。这些关键字不能做变量名。

注释:1.//。2./*到*/。3./**开始,*/结束。这种方法可自动生成文档。

数据类型:java是一种强类型语言,每一个变量必须声明为一种类型。Java共有8种基本类型,其中有4种整型(int,short,byte,long)、二种浮点类型(float,double)、一种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型。Java中整型的范围与运行java代码的机器无关。Java没有任何无符号(unsigned)形式的int,long,short,或byte类型。

浮点类型:浮点类型用于表示有小数部分的数值,java中有两种浮点类型float,double。Double表示这种类型的数值精度是float类型的两倍,绝大部分应用程序都采用double类型。Float类型的数值有一个后缀F或f(例如3.14F)。没有后缀F的浮点数值(如3.14)默认为double类型,也可以在浮点数值后面添加D或d(例如3.14D)。表示出错和溢出的三个特殊的浮点数值:正无穷大、负无穷大、NaN(不是一个数字)。

字符类型:常量:例如‘a’,‘A’,‘8’,‘?’。变量:有以下几个定义:char q、char c、type、cat。定义同时可赋值:char c=‘a’, type, cat。java 采用unicode字符编码集,该编码集16位,含有65536个字符。(Unicode是一个编码规范,为解决传统字符编码方案局限产生,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。)

布尔类型:boolean布尔类型有两个值:false和true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。定义同时可赋值:例如boolean x=true,y=false。

变量:在Java中,每一个变量属于一种类型。在声明变量时,变量所属的类型位于变量名之前。例如:double salary;int vacationDays;long earthPopulation;boolean done;。在Java中,一行可以声明多个变量。不过不提倡这种风格:int i,j;//both are intege。逐一声明每一个变量可以提高程序的可读性。变量初始化:一个变量声明后,必须通过赋值语句对它进行明确的初始化,不要使用一个未初始化的变量的值。在Java中,可以在代码的任何位置进行变量声明。变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。在Java中,不能在同一作用域内声明两个同名的变量。

常量:在Java中,使用关键字final来指示常量。习惯上常量名都用大写。

运算符:有算术运算符、自增运算符与自减运算符、关系运算符、逻辑运算符、位运算符。在java中,使用算数运算符+、-、*、/表示加减乘除运算,当参与/运算的两个操作数都是整数时,表示整数除法;否则表示浮点除法。整数的求余操作用%表示/,例如,15/2等于7,15%2等于1,15.0/2等于7.5。整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或NaN结果。Java提供的一个特别运算符:new,这是一个用来创建对象的运算符。Instanceof,这是返回一个布尔值来指出某个对象是否是一个特定类或者是它的子类的一个实例。

类型转换:数值类型之间的转换:实心箭头表示无信息丢失的转换,虚箭头表示可能有精度损失的转换。

强制类型转换:强制类型转换的语法:(目标类型)变量名。在进行强制类型转换时,当心丢失数据。

字符串:Java字符串是Unicode字符的序列,它是组织字符的基本数据结构,用法类似于字符数组。没有内置的字符串类型,而是在标准Java类库中提供了一个Java预定义类String。在Java中,字符串被当作对象来处理。程序中需要用到的字符串可以分为两大类:创建之后不会再做修改和变动的不可变字符串String类;创建之后允许再做更改和变化的构建字符串StringBuilder类。

输入输出:通过控制台进行输入时,需要构造一个Scanner对象,并与“标准输入流”System.in关联。例如:Scanner in = new Scanner(System.in);使用System.out.print(x)将数值x输出到控制台上,这条命令将以x对应的数据类型所允许的最大非0数字位数打印输出x。;例如:double x=10000.0/3.0;System.out.print(x);Java SE 5.0沿用了C语言库函数中的printf方法,System.out.printf()。要想对文件进行读取,就需要一个用File对象构造一个Scanner对象。比如:Scanner in = new Scanner(new File(“myfile.txt”));要想写入文件,就需要构造一个PrintWriter对象,在构造器中,只需提供文件名:PrintWriter out = new PrintWriter(“myfile.txt”);

控制流程:与任何设计语言一样,Java使用条件语句和循环结构确定控制流程。,当需要对某个表达式的多个值进行检测时,可以使用switch语句。java语句有以下几种:复合语句、控制语句(程序控制流程由这些语言确定if 、switch、for、while、do-while)、packege语句和import语句。

大数值:如果基本的整型和浮点型数据无法达到要求的精度,那么可以使用 java.math 包中的两个类,BigInteger和BigDecimal。这两个类可以操作任意长的数字。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。

数组:数组是一种数据结构,它是有序数据的集合,数组中的每个元素的数据类型都是相同的。对元素的确定是由数组名和它的下标实现的,如a[0]代表数组a的第一个元素,a[1]代表数组a的第二个元素,依次类推。与C/C++不同,Java在数组声明时并不为数组分配内存。应该使用new运算符创建数组:int[]a=new int[100];创建一个数字数组时,所有元素都初始化为0.boolean数组的元素会初始化为一个特殊值null,这表示这些元素还未存放任何对象。一旦创建了数组,就不能再改变它的大小(尽管可以改变每一个数组元素)。如果经常需要在运行过程中扩展数组的大小,就应该使用另一种数据结构——数组列表(array list)。

第二部分 实验部分

1、实验目的与要求

(1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;

(2)掌握Eclipse集成开发环境下导入Java源程序的过程;

(3)掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;

(4)掌握String类、StringBuilder类、数组类的用法。

2、实验内容和步骤

实验1:编写java 应用程序,输出以下4个表达式的值。

int i=1;

double d=1.0;

(1) 45+45*50%i--

(2) 1.5*3+d++

(3) (true)&&(3>4)

(4) (i>0)||(i<0)

实验结果:

实验2:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。

String s1=“Hello!”;

String s2=“World”;

String s3=s1+s2;

实验结果:

实验3:更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。

实验结果:

实验4:在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。

public class Message

{

public static void main(String[] args)

{

if (args[0].equals(“-h”)) System.out.print(“Hello”);

else if(args[0].equals(“-g”); System.out.print(“goodbye,”);

for(int i=1;i<args.length;i++)

System.out.print(“  ”+args[i]);

System.out.println(“!”);

}

}

实验结果:复制代码到记事本或写字板后,经过修改、保存后在cmd下编译时老是出现错误,用记事本打开保存的.java文件时出现乱码。暂时无法完成实验。

实验5:Eclipse环境下导入第3章示例程序InputTest.java步骤:

(1)新建java project如下图:

(2)选择File->import->File ystem->Next,打开文件导入窗口如下图,点击上方Browse选择导入源程序并选中,点击下方Browse选择源程序导入位置为新项目InputTest/src位置后,点击finish完成导入。

(3)打开InputTest项目src文件夹的缺省包,双击InputTest.java在IDE源程序编辑区打开文件。

(4)右键单击InputTest.java文件名打开快捷菜单,选择Run as->java application运行此程序,结合程序运行结果,理解代码中Scanner类对象用法,掌握java控制台输入方法。

实验6按照实验5的操作步骤,导入WriteReadFileTest.java示例程序,结合程序运行结果理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。

实验7:按照实验5的操作步骤,导入第3章示例程序,每个示例程序从语法、算法两个角度总结学习内容。

(1)测试Retirement.java,Retirement2.java,LotteryOdds.java掌握循环控制结构;

(2)测试BigIntegerTest.java,掌握大数值类的用法;

(3)测试LotteryDrawing.java,掌握数组的用法;

(4)测试CompoundInterest.java,掌握多维数组的用法;

(5)测试LotteryArray.java,掌握不规则数组的用法。

3. 实验总结:通过这次实验,我进一步理解、掌握了用Eclipse和CMD开发java程序的基础知识和基本语法。在实验过程中遇到了几个难以解决的问题,通过不断地测试和百度,解决了其中的大部分问题。因为C语言的薄弱,所以短时间内掌握这些语法还比较困难,以后的学习要更加努力。

李清华201772020113《面向对象程序设计(java)》第二周学习总结的更多相关文章

  1. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  2. 20172321 2017-2018-2 《Java程序设计》第二周学习总结

    20172321 2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第一章要点: 要点1 字符串:print和println用法的区别,字符串的拼接,java中 ...

  3. 20145326《Java程序设计》第二周学习总结

    20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对 ...

  4. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  5. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  7. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

  8. 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结

    20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...

  9. 201521123038 《Java程序设计》 第二周学习总结

    201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...

  10. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

随机推荐

  1. noj快排

    1003.快速排序 时限:1000ms 内存限制:10000K  总时限:3000ms 描述 给定一个数列,用快速排序算法把它排成升序.   输入 第一行是一个整数n(n不大于10000),表示要排序 ...

  2. 剑指Offer 55. 链表中环的入口结点 (链表)

    题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 题目地址 https://www.nowcoder.com/practice/253d2c59ec3e4bc68d ...

  3. MYSQL数据模型

    DROP TABLE IF EXISTS `sh_category`; CREATE TABLE `sh_category` ( `id` int(11) NOT NULL AUTO_INCREMEN ...

  4. 【oracle入门】数据完整性约束

    数据的完整性约束是对数据描述的某种约束条件,关系型数据模型中可以有三类完整性约束:实体完整性.参照完整性和用户定义的完整性. 实体完整性Entity Integrity 一个基本关系通过对应显示世界的 ...

  5. 20155219 第十周课下作业-IPC

    题目:研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 1.共享内存 共享内存就是允许两个不相关的进程访问同一个逻辑内存. ...

  6. excle中如何将一串数字前后加上单引号

    1.新建excle表 2.构造如下一串字母加数字的字符串: 3.在B1栏中输入="“"&A1&"”",展示效果如下:

  7. ViewpageAdapter

    import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory; ...

  8. Linux上安装MangoDB

    版本 MongDB4.0.3 安装 tar -zxvf mongodb-linux-x86_64-rhel62-4.0.3.tgz默认的数据目录在/data/db,也可以指定目录启动命令./bin/m ...

  9. 记录 spf13-vim 遇到的问题

    一.spf13-vim 常用快捷键: https://blog.csdn.net/BjarneCpp/article/details/80608706 https://www.cnblogs.com/ ...

  10. java 中Math 的常用方法

    public class Demo{ public static void main(String args[]){ /** *Math.sqrt()//计算平方根 *Math.cbrt()//计算立 ...