《2018年1月22日》【连续103天】
标题:Java编译优化,对象容器,集合容器(set),散列表(Hash)和计算机操作系统发展和主要功能,直言三段论的学习;
内容:
A.Java编译优化
String a="a"+"b";
编译器编译时,a="ab";
而
String a="a";
String b=a+"b";
b并不会被优化,因为a是变量,b的值在编译时无法被确定,
final String a="a";
就可以;
public static String f() {
return "a";
}
String b=f()+"b";
编译器不会去求“方法”的值;
B.
对象容器:存储一系列对象(管理者,即地址值);
可通过for-each循环来改变其管理的值;
集合容器(set):
与数学中的集合(set)一样,内部存储不重复,且无序的量;
与顺序容器一样,可直接输出;
原理大致:
public String toString(){...}
散列表(Hash)
import java.util.HashMap;
import java.util.Scanner;
//输入美分值,返回其对应单词
public class Coin {
private HashMap<Integer,String> coinnames =new HashMap<Integer,String>();
//在列表中存储数据
public Coin() {
coinnames.put(1,"penny");
coinnames.put(10,"dime");
coinnames.put(25,"quarter");
coinnames.put(50,"half-dollar");
coinnames.put(50,"5毛"); //用来测试有相同key的情况
System.out.println(coinnames.keySet().size());//输出容器的大小
}
//得到单词
public String getname(int amount) {
if(coinnames.containsKey(amount))
return coinnames.get(amount);
else
return "Not Found";
}
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
int amount= in.nextInt();
Coin coin =new Coin();
String name =coin.getname(amount);
System.out.println(name);
}
}
输入50时,输出"5毛";
可见散列表中的key唯一,且以最后一个为准;
C.
计算机系统:
系统软件:直接操作硬件的软件;
应用软件;
1.早期的计算机无操作系统;
2.简单批处理操作系统:存在CPU高速与I/O低速的问题;
3.多道程序批处理系统:在等待一个程序的输入时,CPU去处理另一个程序,极大地提升了CPU的使用效率;
4.分时系统:将CPU划分成多个时间片,轮作方式处理多个程序;
操作系统的主要功能:
程序:一组指令的集合;
进程(process):
是程序的执行过程;
一个程序的执行对应一个进程;
进程是操作系统进行系统资源分配的一个基本单位;
操作系统的主要功能:
进程管理(Processing management)
内存管理(Memory management)
文件系统(File system)
文件结构:
逻辑结构:有结构:记录式文件,无结构:流式文件;
物理结构:文本文件,二进制文件;
网络通讯(Networking)
安全机制(Security)
用户界面(User interface)
命令行接口和图像用户接口;
驱动程序(Device drivers)
D.直言三段论:
三段论是由包含着一个共同词项的两个直言命题(即:性质判断)推出一个新的直言命题的推理。
中项——M,小项——S,大项——P;
大前提:含P的前提;
小前提:含S的前提;
结论;
标准:三个直言命题,顺序是大前提,小前提,结论;
1.包含单称命题的推理不是直言三段论;
例:凡人皆有死,
苏格拉底是人,
所以苏格拉底有死(推理有效,但不是直言三段论);
2.不是直言命题组成的推理不是直言三段论;
例:马比骆驼小,
骆驼比象小,
所以马比象小(有效,关系命题的推理);
3.包含四个项推理不是直言三段论;
例:青年是国家的希望;
他们是青年;
所以,他们是国家的希望;
推理无效。第一个青年人是整体的,即集合概念,而第二个青年人是非集合概念;
明日计划:早睡早起;