20155213 2016-2017-2 《Java程序设计》第二周学习总结
20155213 2016-2017-2 《Java程序设计》第二周学习总结
教材学习内容总结
关于Unicode和UTF
很抱歉,没能读完娄老师推荐的网址,关于Unicode和UTF的介绍,里面全是繁体字Unicode和UTF,我继而求助了百度百科,下面是百度上的解释:
- Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
- UTF-8(8-bit Unicode TransformationFormat)是一种针对Unicode的可变长度字符编码,又称万国码。由KenThompson于1992年创建。现在已经标准化为RFC3629。UTF-8用1到4个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
- UTF-16是Unicode字符编码五层次模型的第三层:字符编码表(CharacterEncodingForm,也称为"storageformat")的一种实现方式。即把Unicode字符集的抽象码位映射为16位长的整数(即码元)的序列,用于数据存储或传递。Unicode字符的码位,需要1个或者2个16位长的码元来表示,因此这是一个变长表示。
就我的理解,Unicode是一种标准,一种规范计算机上字符的书写与二进制编码转换的标准,共有17组编排,0x0000 至 0x10FFFF
基本涵盖了世界上所有语言字符和特殊字符,之后的UTF-8,UTF-16都是由此延伸出来的编码方案,其中UTF是有1个字节到4个字节来编码字符,咱们网站上的字符形式就是那样的,凡是有过编写网站经历的,都在里面写过<meta charset="UTF-8"/>而UTF-16则是一律以二字节存储,特别的java用的是Unicode编码,而JVM用的是UTF-16编码。
java语法知识与C语言基本语法知识对比
在还没涉及到类和对象的时候,java语法和C语言语法大同小异
| java语法 | C语言语法 | |
|---|---|---|
| 输入 | 输入很复杂,其中简单的从键盘上输入一个字符System.in.read() |
scanf()基本上包罗了所有形式输入 |
| 输出 | System.out.print() |
printf() |
| 输出连接符 | “+”号 | “,”或者没有 |
| 定义常量 | final double PI=3.14 |
可以预定义#define PI 3.14也可以const double PI=3.14 |
教材学习中的问题和解决过程
- 问题:怎么比较两个float型数?
- 答:和C语言里相似,因为float型只定义到小数点后六位,于是对于两个float数m、n和boolean数B
B=(m-n>=1e-6)如果B=1则m>=n,否则m<n。 - 问题:java语言怎么从键盘输入?
- 答:这是一个很复杂的问题,不像C语言,片言只语可以解释,这就已经和java里的类和对象扯上关系了。咱们可以从这个网站上java类简单学习一下类的概念,不过挺多的,简而言之就是先创建一个类,在用这个类在main路径上定义个对象,了解了这些后,在看下java输入中的三个输入方式,这样就基本上学好了C语言里一个scanf()函数就能完成的功能。
代码调试中的问题和解决过程
对于初期的代码学习,其实也就是逐字逐词输入,只有要注意的地方:
- 文件名要和类的名字保持一致;
- 如果一个main路径的类,需要调用已存在的类,为了方便要在代码前加上
import ···,以减少后续代码的重复输入某词,如果需要调用自己创建的类,则需要保证类的命名不能重复已存在的任何类; - 类和一般操作之间要有
.间隔; - 对于private类里面的变量,需要里面的操作才能赋值,类外无法对其进行赋值;
- 其他需要注意的点和C语言差不多。
代码托管
- 代码提交过程截图


- 代码量截图:


上周考试错题总结
卷一,第十六题
- Linux Bash中,查找home目录中昨天创建的文件的命令是(find ~ -ctime 1),我重新查找学习了find指令,以及选项ctime.
- amin n 查找系统中最后N分钟访问的文件
- atime n 查找系统中最后nx24小时访问的文件
- cmin n 查找系统中最后N分钟被改变文件状态的文件
- ctime n 查找系统中最后nx24小时被改变文件状态的文件
- mmin n 查找系统中最后N分钟被改变文件数据的文件
- mtime n 查找系统中最后n*24小时被改变文件数据的文件
卷二,第三题
- 德雷福斯技能学习模型把技能获取分为五个阶段:新手、高级新手、胜任者、精通者、专家,其中( 新手 )不能离开详细的指令。
- 这五个阶段,新手需要大量的指令,而大部分人都处在胜任者。
卷二,第二十八题
- git log 命令来查看(提交历史)。
- 之后我有查找了写关于git的相关指令
| git指令 | 用途 |
|---|---|
| git clone | 以gitreadonly方式克隆到本地,只可以读 |
| git pull | 获取并合并内容到本地 |
| git add | 添加文件到本地仓库 |
| git rm | 本地倒库内删除 |
| git commit -m "first commit" | 提交到本地库并备注,此时变更仍在本地 |
| git commit -a | 自动更新变化的文件,a可以理解为auto |
| git remote add xxx git@github.com:xxx/xxx.git | 增加一个远程服务器的别名 |
| git remote rm xxx | 删除远程版本库的别名 |
| git push -u remotename master | 将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上。 |
其他(感悟、思考等,可选)
学习是一个积累的过程,是一个循序渐进的过程,而实践更需要有足够的毅力和勇气去试错,去长记性。每一个字符,每一行代码都是进步,即便是删除的那部分。我目前已经实现两位数的加减乘除,从带着C语言的余味到品尝到java的新味,确实很不赖,下面是我这一个星期的过程与成果:
public class Number{
public static void main(String[] args){
System.out.println("a="+3+",b="+4);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
class Two{
int fir;
int sec;
Two(int a,int b){
fir=a;
sec=b;
}
int add(){
return fir+sec;
}
int sub(){
return fir-sec;
}
int mul(){
return fir*sec;
}
int div(){
return fir/sec;
}
}
public class Caculate{
public static void main(String[] args){
Two mytwo=new Two(12,4);
int result=mytwo.add();
try{System.out.println("Please input '+' '-' '*' '/'");
System.out.print("Enter a Char:");
char c = (char)System.in.read();
if(c=='+') System.out.println("12+4="+result);
if(c=='-') System.out.println("12-4="+mytwo.sub());
if(c=='*') System.out.println("12*4="+mytwo.mul());
if(c=='/') System.out.println("12/4="+mytwo.div());}
catch(IOException e){
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
class Two1{
int fir;
int sec;
Two1(){
Scanner sc=new Scanner(System.in);
System.out.print("Enter a Number:");
fir = sc.nextInt();
System.out.print("Enter another Number:");
sec = sc.nextInt();
}
int add(){
return fir+sec;
}
int sub(){
return fir-sec;
}
int mul(){
return fir*sec;
}
int div(){
return fir/sec;
}
}
public class Caculate01{
public static void main(String[] args){
Two1 mytwo1=new Two1();
int result=mytwo1.add();
try{System.out.println("Please input '+' '-' '*' '/'");
System.out.print("Enter a Char:");
char c = (char)System.in.read();
if(c=='+') System.out.println(mytwo1.fir+"+"+mytwo1.sec+"="+result);
if(c=='-') System.out.println(mytwo1.fir+"-"+mytwo1.sec+"="+mytwo1.sub());
if(c=='*') System.out.println(mytwo1.fir+"*"+mytwo1.sec+"="+mytwo1.mul());
if(c=='/') System.out.println(mytwo1.fir+"/"+mytwo1.sec+"="+mytwo1.div());}
catch(IOException e){
e.printStackTrace();
}
}
}
下面是用用switch语句优化后的:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
class Two1{
int fir;
int sec;
Two1(){
Scanner sc=new Scanner(System.in);
System.out.print("Enter a Number:");
fir = sc.nextInt();
System.out.print("Enter another Number:");
sec = sc.nextInt();
}
int add(){
return fir+sec;
}
int sub(){
return fir-sec;
}
int mul(){
return fir*sec;
}
int div(){
return fir/sec;
}
}
public class Caculate01{
public static void main(String[] args){
Two1 mytwo1=new Two1();
int result=mytwo1.add();
try{System.out.println("Please input '+' '-' '*' '/'");
System.out.print("Enter a Char:");
char c = (char)System.in.read();
switch(c){
case '+': System.out.println(mytwo1.fir+"+"+mytwo1.sec+"="+result); break;
case '-' : System.out.println(mytwo1.fir+"-"+mytwo1.sec+"="+mytwo1.sub());break;
case '*': System.out.println(mytwo1.fir+"*"+mytwo1.sec+"="+mytwo1.mul());break;
case '/': System.out.println(mytwo1.fir+"/"+mytwo1.sec+"="+mytwo1.div());break;
default :
System.out.println("Error input!");}
}
catch(IOException e){
e.printStackTrace();
}
}
}
最终能达到的效果是:


学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第二周 | 98/100 | 1/1 | 30/38 | 已经对java的编程有个大体认识,以及对类和对象有了基本的认识 |
参考资料
20155213 2016-2017-2 《Java程序设计》第二周学习总结的更多相关文章
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 2017面向对象程序设计(Java)第二周学习总结
2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结
丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结
这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...
- 杨其菊201771010134《面向对象程序设计Java》第二周学习总结
第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...
- 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
随机推荐
- Eclipse+Maven 项目创建
★:jar包下载不了的话可能是镜像里没有这个版本,换个低版本的就行 ★:eclipse工程validating很慢,可以先关掉验证(一般对项目没什么影响) ★:eclipse工程pom.xml文件报错 ...
- JS如何去掉一个数组的重复元素 (数组去重)
一.思路如下: 定义一个新数组,将老数组遍历一遍,再进行判断,如果新数组里面没有老数组的元素就添加,否则就不添加,最终输出整个新数组. 二.代码如下: var arr = ["a" ...
- LANMP常用配置.md
httpd 配置 MPM prefork StartServers # 服务器启动时建立的子进程数量. MinSpareServers # 空闲子进程的最小数量:如果当前空闲子进程数少于MinSpar ...
- SOJ 1089 FatMouse的奶酪 暴力
BackGround FatMouse拥有许多奶酪,所有的奶酪都有一个彼此不同的重量.FatMouse为了控制它自己的体重,在每天早上它都会计算今天应该吃多少奶酪才能无痛苦地减肥. The Probl ...
- BZOJ3697:采药人的路径(点分治)
Description 采药人的药田是一个树状结构,每条路径上都种植着同种药材. 采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性的,一种是阳性的. 采药人每天都要进行采药 ...
- 7、Dubbo-配置(2)
重试次数 通常配合timeout超时设置进行配置 <dubbo:reference "> </dubbo:reference> <dubbo:service i ...
- Unicode字符集和UTF-8, UTF-16, UTF-32编码
ASCII 在过去的计算中,ASCII码被用来表示字符.英语只有26个字母和其他一些特殊字符和符号. 下表提供了ASCII字符及其相应的十进制和十六进制值. 可以从上面的表中推断,在十进制数系统中,A ...
- Java之关于JSTL引入问题
错误信息:Can not find the tag library descriptor for “http://java.sun.com/jstl/core”JSTL taglib需要jstl.ja ...
- 学习VCL之路(1)
在TObject类中,有一个Dispatch()方法和一个DefaultHandler()方法,它们都是与消息分发机制相关的. Dispatch()负责将特定的消息分发给合适的消息处理函数.首先它会在 ...
- Xcode 5.1安装插件:规范凝视生成器VVDocumenter
类似java的多行凝视! 安装过程: 1.前往GitHub下载project文件:VVDocumenter-Xcode 2.用Xcode打开project,Command + B Build成功后,能 ...