201871010104-陈园园 《面向对象程序设计(java)》第二周学习总结

项目 内容
这个作业属于哪个课程 ttps://www.cnblogs.com/nwnu-daizh/
这个作业要求在哪里 https://www.cnblogs.com/lily-2018/p/11441372.html
作业学习目标
  1. 适应老师教学方式,能按照自主学习要求完成本周理论知识学习;
  2. 掌握Java Application程序结构;
  3. 掌握Java语言的数据类型与变量;
  4. 学会使用Java运算符构造各类表达式;
  5. 掌握Java Application输入输出技术;
  6. 掌握Java流程控制技术(分支、循环);(重点)
  7. 掌握Math类、String类的用法。(难点)

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

1、标识符

Java中标识符是由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。标识符可用作类名、对象名、变量名、方法名、数组名、文件名。

2、关键字

关键字就是java中语言已经被赋予特定意义的一些单词。常见的有:class、public、try、catch、import、if、float、void等。关键字不做变量名。

3、注释

java中注释有三种方式:

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

2)/*和*/   定义一个注释块

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

4、数据类型

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

浮点类型(float、double)

字符类型(char)

布尔类型(boolean)

java中没有unsigned类型。在java中,布尔值和整数不能相互转换。

5、字符集:java采用unicode字符编码集,该编码集16位,含有65536个字符。Unicode(统一码,万国码)是一个编码规范,为解决传统字符编码方案局限产生。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

6、转义字符

7、变量

在java中,每一个变量属于一种类型。在声明变量时,变量所属的类型位于变量名之前。一行可以声明多个变量,逐一声明每一个变量可以提高程序的可读性。

一个变量声明后,必须通过赋值语句对它进行明确的初始化。在java中,可以在代码的任何位置进行变量的声明。变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。

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

8、常量

在java中,使用关键字final来表示常量。习惯上常量名都用大写。关键字final表示只能对变量赋一次值,其值一旦设定,便不能改。使用关键字static final声明一个类常量。

9、各种运算符

算是运算符、自增运算符域自减运算符、关系运算符、逻辑运算符、位运算符、运算符的优先级与结合性。

java提供了两个特别的运算符,new(用来创建对象的运算符)、insteadof(返回一个布尔值来指出某个对象是否是一个特定的类或者是它的子类的一个实例)。

10、类、域、方法和全局变量、函数

1)类是C中没有的,Java中类定义如下:

[修饰符] class 类名[extends 父类名][implements 接口名]

其中修饰符可以为以下一个或多个访问修饰符:

abstract:抽象类。

final:最终类。

public:公共类。

2)域(成员变量)和全局变量类比:

Java中域的定义如下:

[修饰符] 类型 成员变量名;

修饰符可选以下一个或多个关键字:

public:公共成员。

protected:本类或同一个包的其他类以及其它包该类的子类可访问。

private:私有成员。

final:常量,确定后不能改变。

static:静态变量。

transient:临时变量。

volatile:备份变量。

各类型成员变量默认初始化为:

整型变量:0

浮点型变量:0.0

布尔型变量:false

字符型变量:空格

类变量:null

C中全局变量定义同一般变量:

[存储类别] 数据类型 变量表列;

其中存储类别可选:

auto:自动变量,当不申明存储类别时隐式默认该值。

static:静态变量。

register:寄存器变量。

extern:外部变量。

3)方法和函数类比:

Java中方法的定义如下:

[修饰符] 返回类型 方法名([参数表列])

修饰符可选以下一个或多个:

public:公共方法。

protected:本类或同一个包的其他类以及其它包该类的子类可访问。

private:私有方法。

abstract:抽象方法,只有方法头没有方法体。

static:静态方法。

存储类别可选:

extern:外部函数。

static:静态函数。

11、数学函数与常量

数学函数包含在Math类中(幂函数、三角函数。指数函数以及它的反函数)等。

12、数组

Java中数组定义有两种方式:

数据类型数组名[];或 数据类型 []数组名;

定义和初始化可同时进行,如:int []a = {0,1,2,3,4,5,6,7,8,9};

注意Java中数组如果在定义时没有进行初始化,在进行初始化的时候需要先分配内存,即:

数组名 = new 数据类型[常量表达式];

也可在定义同时进行内存分配:

数据类型数组名[] = new 数据类型[常量表达式];

C和Java都不支持变长数组,引用的时候都是 数组名[下标]。区别是:Java的下标范围为0~数组长度-1,不在该范围会抛出数组下标越界异常,而C有效范围也是0~数组长度-1,但下标超出此界不会报错。

13、类、域、方法和全局变量、函数

1)类是C中没有的,Java中类定义如下:

[修饰符] class 类名[extends 父类名][implements 接口名]

其中修饰符可以为以下一个或多个访问修饰符:

abstract:抽象类。

final:最终类。

public:公共类。

2)域(成员变量)和全局变量类比:

Java中域的定义如下:

[修饰符] 类型 成员变量名;

修饰符可选以下一个或多个关键字:

public:公共成员。

protected:本类或同一个包的其他类以及其它包该类的子类可访问。

private:私有成员。

final:常量,确定后不能改变。

static:静态变量。

transient:临时变量。

volatile:备份变量。

各类型成员变量默认初始化为:

整型变量:0

浮点型变量:0.0

布尔型变量:false

字符型变量:空格

类变量:null

C中全局变量定义同一般变量:

[存储类别] 数据类型 变量表列;

其中存储类别可选:

auto:自动变量,当不申明存储类别时隐式默认该值。

static:静态变量。

register:寄存器变量。

extern:外部变量。

第二部分:实验部分

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

1.  实验目的:

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

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

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

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

3. 实验步骤与内容:

实验1 java风格九九乘法表程序互评。

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

String  s1="Hello!";

String s2="World";

String s3=s1+s2;

代码如下:

package cyy;
public class cl {public static void main(String[] args) {String  s1="Hello!";String s2="World";String s3=s1+s2;s3=s2.concat(s1);System.out.println(s3);}}

运结结果如下:

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

代码如下:

package cyy;
public class cl {public static void main(String[] args) {StringBuilder s1=new StringBuilder("Hello!");StringBuilder s2=new StringBuilder("World");StringBuilder builder=new StringBuilder();builder.append(s1);builder.append(s2);System.out.println(builder);}
}

 

运行结果如下:

实验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 文件读写程序测试

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

2)myfile.txt内容如下

实验7

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

3-3实例

代码如下:

import java.util.*;/*** This program demonstrates a <code>while</code> loop.* @version 1.20 2004-02-10* @author Cay Horstmann*/
public class Retirement
{public static void main(String[] args){// read inputsScanner in = new Scanner(System.in);   //通过控制台进行输入时,需要构建一个Scanner对象,并与“标准输入流”System.in关联。System.out.print("How much money do you need to retire? "); double goal = in.nextDouble();//输入"How much money do you need to retire? "的内容;System.out.print("How much money will you contribute every year? ");double payment = in.nextDouble();//输入"How much money will you contribute every year? "的内容;System.out.print("Interest rate in %: ");double interestRate = in.nextDouble();//输入"Interest rate in %: "的内容;double balance = 0; //定义双精度型 balance,并进行初始化;int years = 0;      //定义整型years,并进行初始化;// update account balance while goal isn't reachedwhile (balance < goal)                   //while循环{// add this year's payment and interestbalance += payment;                   //balance=balance + payment;double interest = balance * interestRate / 100;balance += interest;years++;}System.out.println("You can retire in " + years + " years.");}
}

  运行结果如下:

3-4实例

代码如下:

import java.util.*;/*** This program demonstrates a <code>do/while</code> loop.* @version 1.20 2004-02-10* @author Cay Horstmann*/
public class Retirement2
{public static void main(String[] args){Scanner in = new Scanner(System.in);   //通过控制台进行输入时,需要构建一个Scanner对象,并与“标准输入流”System.in关联。System.out.print("How much money will you contribute every year? ");double payment = in.nextDouble();       //输入"How much money will you contribute every year? "的内容;System.out.print("Interest rate in %: ");double interestRate = in.nextDouble();  //输入"Interest rate in %: "的内容;double balance = 0;int year = 0;String input;// update account balance while user isn't ready to retiredo                                    //do-while循环{// add this year's payment and interestbalance += payment;                 //balance=balance+payment;double interest = balance * interestRate / 100;balance += interest;year++;// print current balanceSystem.out.printf("After year %d, your balance is %,.2f%n", year, balance);// ask if ready to retire and get inputSystem.out.print("Ready to retire? (Y/N) ");input = in.next();}while (input.equals("N"));  //循环满足的条件,当输入“Y”的时候结束循环语句;}
}

运行结果如下:

实验8:按照实验5的操作步骤,导入第3章3-5示例程序,理解抽奖概率计算算法。

代码如下:

import java.util.*;/*** This program demonstrates a <code>for</code> loop.* @version 1.20 2004-02-10* @author Cay Horstmann*/
public class LotteryOdds
{public static void main(String[] args){Scanner in = new Scanner(System.in);System.out.print("How many numbers do you need to draw? ");int k = in.nextInt();   //输入"How many numbers do you need to draw? "的内容;System.out.print("What is the highest number you can draw? ");int n = in.nextInt();  //输入"What is the highest number you can draw? "的内容;/** compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)*/int lotteryOdds = 1;for (int i = 1; i <= k; i++)    //for循环;lotteryOdds = lotteryOdds * (n - i + 1) / i;System.out.println("Your odds are 1 in " + lotteryOdds + ". Good luck!");}
}

  

运行结果如下:

四.实验总结

本周的实验主要是在c语言的基础之上,对java作了学习,通过将两者作对比将java的基础知识加以巩固与学习,此外,还通过实例中的代码慢慢地走进java,慢慢理解java中的各种数学算法,虽然看着不太懂。但是我相信以后可能会慢慢得到升华,努力为以后的学习打下一个基础。

转载于:https://www.cnblogs.com/chanyeol1127/p/11483986.html

201871010104-陈园园 《面向对象程序设计(java)》第二周学习总结相关推荐

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

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

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

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

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

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

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

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

  5. 20155305乔磊2016-2017-2《Java程序设计》第二周学习总结

    20155305乔磊 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 第三章学习了基本类型 整数(short.int.long) 字节(byte) 浮点数(f ...

  6. 201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得

    Java第二周学习心得 这一周老师在周四进行了课堂测验,完全出乎我的意料,我以为老师会在前两周上课讲一下,由于我在课前没有好好准备,反转课堂来的有的措手不及,那些题很多很多都不会,也错了很多,班上有很 ...

  7. Java 第二周学习总结

    Java 第二周学习总结 一.数组 数组即一组用于存储相同数据类型的数据结构:数组是一种典型的线性结构(连续).比如将一些商品数据呈现到页面中,此时可以将所有商品存储到数组中进行传递.数组是一种引用数 ...

  8. JAVA 第二周学习笔记

    JAVA第二周学习笔记 一.变量 1.变量的本质 2.变量的三大要素 a.变量名: b.变量值: c.变量类型: 3.变量的定义和使用 4.课后小练习: 5.变量的定义和使用 二.运算符 1.赋值运算 ...

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

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

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

    教材学习内容总结 类型 short占2字节 int占4字节 long占8字节 byte占1字节,可表示-128~127的整数 char占2字节 boolean不考虑占字节 float占4字节 doub ...

最新文章

  1. 数据科学究竟是什么?
  2. java常用数据类型之间转换
  3. docker网络基础配置
  4. 不吹不黑 | 聊聊为什么要用99%精度的数据回测
  5. (三十九)数据的持久化存储-plist实现(XML属性表)
  6. 软件设计原则(一) 单一职责原则
  7. 五面拿下阿里飞猪offer,java基础知识梳理
  8. revit模型怎么在手机上看_怎么在手机上查看建筑模型图??
  9. 【libyuv】windows构建
  10. php在线拼图游戏,js+html5实现可在手机上玩的拼图游戏_javascript技巧
  11. 地理信息系统名词解释大全
  12. 计算机会议等级排名,中国计算机学会推荐国际学术期刊(搬运于中国计算机学会)
  13. opencv4 QR码检测和识别源码解析
  14. 《城市化》(顾朝林)-重要术语
  15. Python双目相机计算三维坐标(使用opencv自带图片)
  16. 加菲猫语录精选74 中英俄三语版
  17. 梦最开始的地方,《一周学会Linux实战》韩顺平---视频笔记。到shell之前
  18. Android 上实现像微信一样的用Fragment来实现的Tab切页效果 提供源码下载
  19. 中国计算机艺术的发展趋势,浅谈数字媒体艺术的发展趋势
  20. JavaScript Prototypes 原型 Lynda课程中文字幕

热门文章

  1. 100道iOS面试题
  2. Java中new出来的算是对象吗?
  3. 在win7系统中设置共享,但是必须要关闭防火墙
  4. 看电影的计算机配置,2160p的电影需要什么电脑配置看才流畅?
  5. jia庭问题(family)
  6. 责任链模式在SpringAOP中的使用
  7. 无法访问计算机请检查名称的拼写,Win7系统访问共享文件夹提示“请检查名称的拼写”的解决方法...
  8. 风靡全球的社交媒体二维码在国内正式上线啦!
  9. 《狂人日记》 词语解释 | 经典语录
  10. 【二叉树】1758:二叉树