201871010128-杨丽霞《面向对象程序设计(java)》第二周学习总结

201871010128-杨丽霞《面向对象程序设计(java)》第二周学习总结

项目

内容

这个作业属于哪个课程

<https://www.cnblogs.com/nwnu-daizh/>

这个作业的要求在哪里

https://www.cnblogs.com/nwnu-daizh/p/11475377.html

作业学习目标

 

  1. 1.适应老师教学方式,能按照自主学习要求完成本周理论知识学习;
  2. 2.掌握Java Application程序结构;
  3. 3.掌握Java语言的数据类型与变量;
  4. 4学会使用Java运算符构造各类表达式;
  5. 5.掌握Java Application输入输出技术;
  6. 6.掌握Java流程控制技术(分支、循环);(重点)
  7. 7.掌握Math类、String类的用法。(难点)

 

第一部分:结合Java和C基础语法的异同比较,总结本周理论知识

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

3.1 基本知识

1)标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。

下列都是合法标识符: Hello、$1234、程序名、www_123

标识符可用作: 类名、对象名、变量名、方法名、数组名、文件

(2)关键字就是Java语言中已经被赋予特定意义的一些单词。

常见有:class、public、try、catch、if、float、import、void等。

关键字不做变量名。 

(3)Java有三种注释的方式:

 //   注释内容由//一直到此行结束。

/*和*/   定义一个注释块。

 /**开始,*/结束   这种注释方法可用来自动产生文档。

3.2 数据类型

Java共有8种基本类型  

–整数类型(int、short、long、byte)

–浮点类型(float、double)

–字符类型 (char)

–布尔类型(boolean )

整型常量表示: 十进制:123, 6000 八进制:077, 065

十六进制:0x234, 0Xab12 二进制:0b1001,0B0111

整型变量的数据类型分为四种: int short long byte

Java中整数的范围与运行Java代码的机器无关。 Java中没有unsigned类型

对于int型变量,内存分配个4字节,占32位,取值范围-231~231-1。

对于short型变量,内存分配2个字节,占16位,取值范围-215~215-1。

对于long型变量,内存分配8个字节,占64位,取值范围-263~263-1。

对于byte型变量,内存分配个1字节,占8位,取值范围-27~27-1

3.3 变量

Java中,每一个变量属于一种类型。在声明变量时,变量所属的类型位于变量之前。 

double salary; 

int vacationDays; 

long earthPopulation; 

boolean done; 

Java中,一行可以声明多个变量。逐一声明每一个变量可以提高程序的可读性。 

变量的初始化

(1)一个变量声明后,必须通过赋值语句对它进行明确的初始化——永远不要使用一个未初始化的变量的值。

(2)在Java中,可以在代码的任何位置进行变量声明。变量的声明应该尽可能地靠近变量第一次使用的地方,方便阅读和使用。

(3)在Java中,不能在同一作用域内声明两个同名的变量。

常量的定义

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

final double CM_PER_INCH=2.54;

(2)关键字final表示只能对变量赋一次值,其值一旦设定,在后续代码中不能再对其进行修改。

(3)在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字 static final 声明一个类常量( class constants)。

public static final double CM_PER_INCH

3.4运算符

各种运算符 :与面向对象运算有关

new  -用来创建一个对象的运算符。

Instanceof -返回一个布尔值来指出某个对象是否是一个特定类或者是它的子类的一个实例。 

运算符的优先级与结合性

数学函数与常量

数学函数包含在Math类中。

-幂函数,三角函数,指数函数以及其他反函数等。

Java还提供了两个常量。

-Math.PI    -Math.E

若不想在数学方法名和常量名前加前缀"Math.",可以在源文件顶部加上以下代码:-impot static java.lang.Math.*;

3.5类型转换

(1)隐式类型转换
大多数的数值转换是遵循优先级的关系自动完成的。 
转换原则如下: 
如果两个操作数中有一个是double类型的,则另一个将会转换成double类型。 
否则,如果两个操作数中有一个是float类型的,另一个将会转换成float类型。 
否则,如果两个操作数中有一个是long类型的,另一个将会转换成long类型。 
否则,两个操作数都将转换成int类型
2) 强制类型转换
强制类型转换的语法: 
(目标类型)变量名 
在进行强制类型转换时,当心丢失数据。 

1:double x=9.987; 

int nx=(int) x; //转换后 nx=9 

3.6字符串

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

程序中需要用到的字符串可以分为两大类:

创建之后不会再做修改和变动的不可变字符串String类;

创建之后允许再做更改和变化的构建字符串StringBuilder类。

3.7输入输出

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

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

3.8控制流程

控制语句

ifswitchforwhiledo-while

Package语句和import语句

3.9大数值

 如果基本的整型和浮点型数据无法达到要求的精度,可以使用java.math包中的两个类, BigIntegerBigDecimal

 这两个类可以操作任意长的数字

 BigInteger类实现了任意精度的整数运算

 BigDecimal实现了任意精度的浮点运算

3.10数组

1)数组是一种数据结构,它是有序数据的集合,

      数组中的每一个元素的数据类型都是相同的。

2)数组的声明

一维数组格式:

数组元素类型    数组名字[];

数组元素类型[]  数组名字;   

 二维数组格式:

数组元素类型    数组名字[][];

数组元素类型[][]   数组名字;  

其中数据类型可以为java中的任意类型,包括基本类型和复合类型。

也可用定义的类来声明数组;

Point[] line;

f)java在数组声明时并不为数组分配内存,在java中,数组是独立的类,有自身的办法。

3)数组的创建

数组声明后,要用new运算符为其分配内存空间,分配内存空间时必须指明数组的长度。 数字数组创建后,所有数组元素自动初始化为0;boolean数组创建后数组元素初始化为false;对象数组初始化为null. 数组创建后不能再更改大小。

4)数组的操作

数组拷贝
数组排序

第二部分:实验部分

实验名称:实验二 Java基本程序设计(1)

1.  实验目的:

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

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

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

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

3. 实验步骤与内容:

实验1 程序互评(10分)

程序互评这个环节通过对同学程序的批阅,去发现问题,并且反思自己是否存在同样的问题,清楚每行代码所表示的意思,注意程序的易错点,使我们对程序的整体框架和内容有了更深的理解。

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

String s1=“Hello!”;

String s2=“World”;

String s3=s1+s2;

 运行结果

实验3更改实验2中s1s2s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别 (5分)

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

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 java程序导入(5分)

(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的内容,掌握文件的输入输出操作。

 

myfile.txt内容如下:

 

实验7 按照实验5的操作步骤,导入第3章3-3——3-4示例程序,掌握两个程序循环控制结构的用途。(5分)

3-3运行结果

3-4运行结果

实验8 按照实验5的操作步骤,导入第3章3-5示例程序,理解抽奖概率计算算法。(5分)
3-5示例
4. 实验总结:(10分)
 这一周学习,接触到java命令行和IDE两种方式下java程序开发的步骤,Eclispe集成开发环境下导入java源程序,java语言构造基本程序的数据类型,变量,运算符,各类表达式,输入输出,String类,StringBuilder类的用法,在实验过程中好多程序会读不懂,有些步骤操作起来还是有很多困难,但是学习是一个循序渐的过程,要在无知中不断有知,不断积累经验,逐步完善。同时应该自己多去学习与思考,找资料与相关学习视频比如说mooc就是一个很好的学习资源,应该充分利用。 

猜你喜欢

转载自www.cnblogs.com/ylxzjh/p/11489261.html