第一部分:理论知识学习部分

第三章 java的基本程序设计结构

本章主要学习数据类型、变量、运算符、类型转换、字符串、输入输出、控制流程、大数值、数组等内容。

1.基本知识

(1)标识符:由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。标识符可用作类名、变量名、方法名、数组名、文件名等。

(2)关键字:java语言中被赋予特定意义的一些单词。关键字不做变量名。

(3)注释:java语言有三种注释。//、/* */、/**  */。

2.数据类型

每一个变量必须声明一种类型。java共有八种基本类型。

(1)整数类型(int,short,long,byte)java中没有unsigned类型。

(2)浮点类型(float,double)

(3)字符类型(char)

(4)布尔类型(boolean)。java中布尔值和整数值不能相互转换。

3.变量

java中每一个变量属于一种类型。声明变量时,变量所属类型位于变量名之前。一行可以声明多个变量,逐一声明每个变量可以提高程序的可读性。一个变量声明之后,必须通过赋值语句对它进行明确的初始化。可以在代码的任何位置进行变量声明。不能在同一作用域内声明两个同名的变量。java中关键字final来指示常量。习惯上常量名都用大写。

4.运算符

算术运算符、自增运算符与自减运算符、关系运算符、逻辑运算符、位运算符。new(用来创建对象的运算符)、Instanceof(返回一个布尔值来指出某个对象是否是一个特定类或者是它的子类的一个实例)。

5.类型转换

(1)隐式类型转换

(2)强制类型转换

6.字符串

java字符串时Unicode字符的序列,是组织字符的基本数据结构,用法类似于字符数组。没有内置的字符串类型,而是在标准java类库中提供了一个java预定义类。在java中字符串被当做对象来处理。

(1)String类

获得字符串的子串、串连接、获取字符串的长度、检测字符串是否相等、字符串检索、字符串与数值的转换、获得对象的字符串表示。

(2)StringBuilder类

分配/获取字符串的长度、分配/获取字符串的容量、字符串的检索和子串、字符串的修改、字符串类型转换。

7.输入输出

(1)读取输入

通过控制台进行输入时,需要构造一个Scancer对象,并与“标准输入流”System.in关联。

(2)格式化输出

使用System.out.print(x)将数值输出到控制台上这条命令将以x对应的数据类型所允许的最大非零数字位数打印输出x。

(3)文件输入与输出

要想对文件进行读取,就需要一个用File对象构造一个Scanner对象。

要想写入文件就需要构造一个PrintWriter对象,在构造器中只需提供文件名。

8.控制流程

(1)方法调用语句

(2)表达式语句

(3)复合语句

(4)控制语句

条件语句:if语句,switch语句。

循环语句:while、do-while、for。

(5)中断控制流程语句:break、continue。Java中没有goto语句。

(6)返回语句  return value

9.大数值

Java.math包中的两个类Biglntegre、BigDecimal可以操作任意长的数字。Biglntegre实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。

10.数组

数据是一种数据结构,是有序数据的集合数据中每个元素的数据类型都是相同的。

(1)数组的声明

一维数组  数组元素类型 数组名字[]

二维数组 数据元素类型 数组名字[][]

Java中数组是独立类,有自身的方法。一个数组是一个对象。

(2)数组的创建

数组声明之后要用new运算符为其分配内存空间,分配内存空间时必须指明数组的长度。格式如下:数组名字=new  数组元素类型[个数]

(3)数组初始化及匿名数组

一维数组初始化:在声明数组的同时对数组的元素进行初始化。在java中可以初始化一个匿名数组。

多维数组的初始化:系统会自动根据初始值的大小计算出数组的大小。

(1)数组的操作

数组的拷贝:java允许把一个数组变量拷贝给另一个变量时,两个变量都指向相同的数组。如果只是想把一个数组中的值拷贝给另一个变量,就要使用Arrays类的copyOf方法,通过这个方法可以用来增加数组大大小。

数组排序:调用java.util.Arrays类中的sort方法。该方法采用优化快速排序方法。

(2)不规则数组:每一行有不同的长度。创建不规则数组时,从最高维开始分别为每一维数组分配空间。

第二部分 实验部分

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(“!”);

}

}

实验结果:

实验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掌握循环控制结构;

Retirement.java实验结果:

Retirement2.java实验结果:

LotteryOdds.java实验结果:

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

实验结果:

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

实验结果:

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

实验结果:

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

实验结果:

3.实验总结

通过本章的学习,我学到了标识符、关键字、注释等基本知识,学习了数据类型、变量、运算符、类型转换、字符串、输入输出、控制流程、大数值、数组等内容。java的一些基础知识跟C语言非常相似,当然也有一部分是有区别的。在实验的过程中,忽略了数组越界问题,导致实验四的结果不正确,在老师的帮助下,最终解决了这个问题,当传入正确的参数之后,这个问题就解决了。在java的学习过程当中,只有不断的动手编写java程序才能更好的理解所学的理论知识,才能学好java。

李婷华 201771010113 《面向对象程序设计(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. 20145213《Java程序设计》第二周学习总结

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

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

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

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

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

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

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

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

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

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

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

  10. 20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第二周学习总结 教材学习内容总结 -第二章基本数据类型与数组要点: -标识符与关键字:标识符的第一个字符不能是数字字符: ...

随机推荐

  1. 解决SpringMVC的乱码问题:CharacterEncodingFilter

    在使用 SpringMVC 框架的过程中,如果前台有包含中文的请求,或者后台有包含中文的响应,有可能会出现乱码的情况.在以前的 Servlet 中,我们使用 request.setCharacterE ...

  2. Spring IoC getBean 方法详解

    前言 本篇文章主要介绍 Spring IoC 容器 getBean() 方法. 下图是一个大致的流程图: 正文 首先定义一个简单的 POJO,如下: public class User { priva ...

  3. 代理模式是什么?如何在 C# 中实现代理模式

    代理模式 并不是日常开发工作中常常用到的一种设计模式,也是一种不易被理解的一种设计模式.但是它会广泛的应用在系统框架.业务框架中. 定义 它的 定义 就如其它同大部分 设计模式 的定义类似,即不通俗也 ...

  4. 机器学习5- 对数几率回归+Python实现

    目录 1. 对数几率回归 1.1 求解 ω 和 b 2. 对数几率回归进行垃圾邮件分类 2.1 垃圾邮件分类 2.2 模型评估 混淆举证 精度 交叉验证精度 准确率召回率 F1 度量 ROC AUC ...

  5. Java 反射调用方法 - 不跳过安全检查、跳过安全检查和普通方法性能比较测试

    java中反射提供灵活性同时,给运行效率带来了一定影响.写个代码测试一下 package com.xzlf.reflectTest; import java.lang.reflect.Method; ...

  6. $_FILES上传错误类型

    $_FILES['file']['error']其值为 0,没有错误发生,文件上传成功. 其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值. 其值 ...

  7. Linux下解压rar压缩包

    wget http://www.rarlab.com/rar/rarlinux-x64-4.2.0.tar.gz rar软件不需要安装,直接解压到/usr/local下,以下操作需要有root权限. ...

  8. C++-doctest-测试框架

    C++-doctest-测试框架 C++UnitTestDoctest 测试框架 doctest 是用过的最简单好用的的单元测试框架, 只需要引用 一个头文件即可 无main 函数的测试样例 #def ...

  9. http协议请求流程分析

    http协议请求流程分析 用户输入URL(地址链接)(http://www.baidu.com:80/tools.html)客户端获取到端口及主机名后,客户端利用DNS解析域名,首先客户端的浏览器会先 ...

  10. Linux系统管理第四次作业 磁盘管理 文件系统

    1.为主机新增两块30GB的SCSI硬盘 2.划分3个主分区,各5GB,剩余空间作为扩展分区 [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-l ...