20145101《Java程序设计》第三周学习总结
20145101 《Java程序设计》第3周学习总结
教材学习内容总结
本周进行的是第四章和第五章的学习。本阶段的学习难度有所提升,无论是在知识的量还是深度都开始增加,内容很丰富,也很有趣,值得我们认真学习。
Java有基本类型和类类型这两个类型系统,本周学习的主要是类类型,定义类时用关键词class,利用类建立对象实例用new关键词。
class Clothes
{
String color;
char size;
}public class Field
{
public static void main(String[] args)
{
Clothes sun = new Clothes();
Clothes spring = new Clothes();sun.color = "red";
sun.size = 'S';
spring.color = "green";
spring.size = 'M';
System.out.printf("sun(%s,%c)%n",sun.color,sun.size);
System.out.printf("spring(%s,%c)%n",spring.color,spring.size);
}
}
上面的代码中sun和是spring就是类类型变量,类类型指向的就是对象。
使用标准类:书中有一个程序是使用Java.util.Scanner。它的作用就是可以用户进行输入。
import java.util.Scanner; public class Guess
{
public static void main(String[] args)
{
Scanner scanner = new Scanner (System.in);
int number = (int) (Math.random() * 10);
int guess; do
{
System.out.printf("GUESS A NUMBER:");
guess = scanner.nextInt();
}
while(guess != number); System.out.println("YOU ARE RIGHT!"); }
}
在这个程序中 import java.util.Scanner; 这条语句便是程序输入的关键部分,他给我们程序的输入带来了很大的便利。
书中还给出了一个标准类Java.math.BigDecimal
public class Main
{
public static void main (String[] args)
{
BigDecimal operand1 = new BigDecimal("1.0");
BigDecimal operand2 = new BigDecimal("0.8");
BigDecimal result = operand1.subtract(operand2);
System.out.println(result);
}
}
由于Java程序中浮点数遵循一定的规范,使用分数和指数来表示浮点数,不能直接用“==”来比较浮点数运算结果。使用java.math.BigDecimal可以得到更好的精度。
基本类型打包
打包基本类型:基本类型long、int、double、float、boolean。将基本类型打包在对象之中,可以将对象当作基本类型来进行操作。public class IntegerDemo
{
public static void main (String[] args)
{
int data1 = 10;
int data2 = 20;
Integer wrapper1 = new Integer(data1);
Integer wrapper2 = new Integer(data2);
System.out.println(data1/3);
System.out.println(wrapper1.doubleValue()/3);
System.out.println(wrapper1.compareTo(wrapper2));
}}
数组对象
数组在JAVA中的存在形式就是对象,JAVA会检查数组的边界,越界就会触发ArrayIndexOutOfBoundsException的错误,所以和在C语言中不同,JAVA中的数组的长度在建立的时候就确定了。System.arraycopy()与Arrays.copyof()用在类类型声明的数组时,都是执行浅层复制。System.arraycopy()复制的方法是进行数组值的复制,Arrays.copyOf()复制的方法,是建立新的数组。字符串对象
Java中字符串的本质是打包字符数组的对象,是Java.lang.String的实例。import java.util.Scanner; public class Sum
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
long sum = 0;
long number = 0;
do
{
System.out.print("输入数字:");
number = Long.parseLong(scanner.nextLine());
sum += number;
}
while(number != 0);
System.out.println("总和为:"+sum);
}
}
要想比较字符串实际字符内容是否相同,不能使用==,要用equals()。
用 "" 写下的字符串称为字符串常量,使用 + 连接字符串会产生新的String实例。
可以使用length()取得字符串长度,使用charAt()指定取得字符串中某个字符,使用toUppercase()将原本小写的字符串内容转为大写。
查询API文档
在Windows系统下,首先要下载CHM格式的Java API。对象封装
1.何为封装:
封装(Encapsulation)实际上是使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。
2.有关类语法细节
public权限修饰:
如果没有声明权限修饰的成员,只有在相同包的类程序代码下才可以直接存取,也就是“包范围权限”。如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,在java中要使用public加以声明。
2.方法重载
class Some
{
void someMethod(int i)
{
System.out.println("int 版本被调用");
}
void someMethod(Integer integer)
{
System.out.println("Integer 版本被调用");
}
}
public class Overload
{
public static void main(String[] args)
{
Some s = new Some();
s.someMethod(1);
}
}
3.this关键字
this代表其所在函数所属对象的引用,当在函数内需要用到调用该函数的对象时,就用this。
class Other{
{
System.out.println("对象初始区块");
}
Other()
{
System.out.println("Other() 构造函数");
}
Other(int o )
{
this();
System.out.println("Other(int o ) 构造函数");
}
}
public class ObjectInitialBlock
{
public static void main(String[] args)
{
new Other(1);
}
教材学习中的问题和解决过程
Java遵守IEEE754浮点数运算规范,使用分数与指数来表示浮点数。如果要求精准度,就要小心使用浮点数,不能直接用==直接比较浮点数运算结果。
其他(感悟、思考等,可选)
随着学习的深入,我越来越感到Java的博大精深,需要我们认真的学习,积极主动敲代码。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 2000行 | 16篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 200/400 | 1/3 | 20/40 | |
第三周 | 200/600 | 1/4 | 20/60 |
20145101《Java程序设计》第三周学习总结的更多相关文章
- Java程序设计第三周学习总结
1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
随机推荐
- CSS垂直导航栏
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- VMware esxi 5.5装机方案
1.测试环境下,VMware esxi 5.5环境基本配置如下(主机环境以实际为准): 2.裸机安装VMware esxi 5.5步骤: 1)将ESXi安装程序CD/DVD 插入 CD/DVD-ROM ...
- yum provides "*/nmcli" and apt-get
一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包 ...
- 设计模式之——flyweight模式
flyweight模式,又叫做享元模式. 顾名思义,享元模式就是共享一个元素. 百度百科 解释为: 享元模式(英语:Flyweight Pattern)是一种软件设计模式.它使用共享物件,用来尽可能减 ...
- flask中cookie,session的存储,调用,删除 方法(代码demo)
# -*- encoding: utf-8 -*- # cookie,session的存储,调用,删除 from flask import Flask,make_response,request,se ...
- JDK 伪共享解决方案
关于AtomicReference AtomicReference是由JAVA5引入的,用于对一个对象引用进行原子操作,我们可以看到AtomicReference的实现是用CAS技术对引用进行指令级别 ...
- nodejs(五)同步异步--USING SETTIMEOUT INSTEAD OF SETINTERVAL TO FORCE SERIALIZATION
Let’s say you want a function that does some I/O — such as parsing a log fi le — that will periodica ...
- 使用Spring配置动态数据源实现读写分离
最近搭建的一个项目需要实现数据源的读写分离,在这里将代码进行分享,以供参考.关键词:DataSource .AbstractRoutingDataSource.AOP 首先是配置数据源 <!-- ...
- PAT 1023 Have Fun with Numbers[大数乘法][一般]
1023 Have Fun with Numbers (20)(20 分) Notice that the number 123456789 is a 9-digit number consistin ...
- 微信小程序- wx.request请求不到数据
小程序官方文档手册 https://mp.weixin.qq.com/debug/wxadoc/dev/ 小程序开发问答社区 http://www.henkuai.com/forum.php wx.r ...