sxt第一天学习总结---3月27日

时间:2022-04-16 14:06:16

第一天参加sxt学习,先写一点听到的,印象很深的技术分享:

1.知识点知道,可是编程没有思路.首先想如果没有电脑程序的束缚,这件事单独的给你这个人,你会怎么做,每一步都先捋清楚,  编程的语法,类

等就是螺丝钉,建设一栋大厦,你先想清楚怎么建,需要那些螺丝钉,构建出来了,再去找到那个螺丝钉拿过来用.

2.做一个吝啬的程序员,程序要省内存!

3.

作者:在好
链接:https://www.zhihu.com/question/20516416/answer/102239082
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

内聚,通俗的来讲,就是自己的东西自己保管,自己的事情自己做。

经典理论告诉我们,程序的两大要素:一个是数据(data),一个是操作(opration)。而 PASCAL之父Nicklaus Wirth则进一步提出了“程序 = 数据结构 + 算法”的著名公式。虽然提法上有所差异,但是其根本内涵却是一致的,微妙的差别在于,“数据 + 操作”是微观的视域,“数据结构 + 算法”则是中观的视域。而在宏观的视域下,我认为“程序 = 对象 + 消息”。对象是什么?对象就是保管好自己的东西,做好自己的事情的程序模块——这就是内聚!传统的面向过程编程方法由于割裂了数据结构和算法,使得软件的内聚性普遍低迷,曾一度引发了软件危机。试想,大家都自己的东西不好好保管,自己的事情也不好好做,不引发危机才怪呢!当然,对象的内聚只是内聚的一个层次,在不同的尺度下其实都有内聚的要求,比如方法也要讲内聚,架构也要讲内聚。

《周易·彖传》中讲“乾道变化,各正性命,保合太和,乃利贞”,就是要求每一个个体因循着各自的禀赋而努力成就各自的品性,然后各自保全,彼此和合,最终达成宇宙的完满状态。《论语·宪问》中,子路问君子。子曰:“修己以敬。”曰:“如斯而已乎?”曰:“修己以安人”,更是明确的教导我们要不断提高自身的内聚性,最大限度地减少给他人造成的麻烦,从而达到安人、安百姓、安天下的目标。我想,成长的过程就是一个不断提升内聚的过程。“自己的东西自己保管,自己的事情自己做”,这些孩提时代的教诲,放到今天仍能让不少“大人”脸红不已。太多的人保管不好自己的“东西”,保管不好自己的身体,保管不好自己的婚姻,更保管不好自己如蛛丝般震颤飘荡的狂乱的心。至于做好自己的事情,则更是惘然,甚至很多人连自己的事情是什么都搞不清楚,因此浑浑噩噩,饱食终日。内聚,是一个值得我们好好反思的问题。

·依赖·耦合

在面向对象编程中,对象自身是内聚的,是保管好自己的数据,完成好自己的操作的,而对外界呈现出自己的状态和行为。但是,没有绝对的自力更生,对外开放也是必要的!一个对象,往往需要跟其他对象打交道,既包括获知其他对象的状态,也包括仰赖其他对象的行为,而一旦这样的事情发生时,我们便称该对象依赖于另一对象。只要两个对象之间存在一方依赖一方的关系,那么我们就称这两个对象之间存在耦合。 比如妈妈和baby,妈妈要随时关注baby的睡、醒、困、哭、尿等等状态,baby则要仰赖妈妈的喂奶、哄睡、换纸尿裤等行为,从程序的意义上说,二者互相依赖,因此也存在耦合。首先要说,耦合是必要的。我们来看以下这个实验。

笔记总结:

1.Java环境变量配置 

    1.直接安装jdk.exe
2.配置Java环境变量(右键"计算机"(我的电脑)-->属性-->高级系统设置-->高级-->环境变量)
环境变量注意:
分2块:
上方:用户环境变量---->windows系统是多用户
在此处配置,只能该用户名进来才能使用
下方:
 系统环境变量
任何用户进来,都可以使用
-->方便起见,一般直接配置下方(系统变量).所有使用电脑都可以使用配置的变量环境

新建-->变量名:classpath  变量值:.;  ----> 所有的符号都是英文符号   ---> Class编译文件的位置
新建-->变量名:java_home  变量值:C:\Program Files\Java\jdk1.8.0_101 ---> JDK的安装路径,bin的上一层
找到path,选中,点击"编辑" 1.变量值在最前面添加%java_home%\bin;   ---> %  %表示引用的意思  --> C:\Program Files\Java\jdk1.8.0_101\bin  --->环境变量
                           2.或者在变量值中最后面输入;%java_home%\bin  -->;表示隔开,安装其他软件也产生path环境变量,
 每个;间都对应着某种软件所需要的变量环境,添加中不可删除他们,否则导致其他软件不能正常使用

检测jdk安装是否成功:
    按住win+r-->输入cmd-->打开DOS窗口
 1.输入java -version   --->输入时一定输完java后,空格,再输入横线  enter后便可查看系统中配置的java环境的JDK的版本信息,如:"1.8.0_92",以及位数如:"64-bit"
如果是64位的JDK  那么打印:64  bit   如果是32位的不会显示。

注意点:
系统分为64位   32位 。
所以我们在软件时,一般装64位。如果此时安装的eclipse 64位的Eclipse那么将无法使用。
注意JDK的版本要与开发工具的版本保持一致。
 2.输入javac,然后enter(jdk安装目录中,bin的下一层有javac.exe,配置环境变量后便可以使用其中的配置)
运行后结果:   用法:javac<option><source files>
 其中,可能的选项包括:



2.DOS窗口的常见命令
cd   --> 切换目录,磁盘
  表达式:cd  路径  --->切换到指定路径目录

javac --> 编译命令  配置path为%java_home%\bin就是为了能直接使用这些命令
javac XXX.java  将java源代码编译成class   --> 字节码文件

java --->  执行命令  执行java编译好的class字节码文件
java  class文件名  (注意:不同于javac命令,java命令后面接的文件名没有后缀)


        cls  --->清屏


        DOS 下面.鼠标右键,粘贴  不支持ctrl+v

  ↑  ---> 选择上一个命令,dos下面编译有错误,改正后可以直接↑,避免重复输入


  ↓  ---> 快速选择下一个命令
         

    实际实例操作流程:
1.新建workspace文件夹,在文件夹下,新建-->文本文档
2.右键重命名为HelloWorld.java 会提示确认修改扩展名的提示  //有些电脑默认隐藏扩展名,修改后仍然为HelloWorld.java.txt
                            这时候需要点击文件浏览界面上方的"查看",
勾选文件扩展名(系统不同,部分有差异,win7下查看--选项--显示扩展名)
3.notepad++打开HelloWorld.java
 ====>
  public class HelloWorld{
  public static void main(String[] args){      //在编写代码时,缩进遵循Tab键,(),{}成对输入后,左移一个光标,enter,换行空四格,没成对敲,不要用空格敲,直接tab键
   
System.out.println("第一个Java程序");
}

}    //此时notepad++用默认的ANSI可是编码,不用utf-8,否则dos编译下,中文汉字运行结果会乱码




4.按住win+r-->输入cmd-->打开DOS窗口
      ---->输入cd HelloWorld路径,如cd H:\shangxuetang3.27\workspace
  ---->输入javac HelloWorld.java-->enter
  ---->输入java HelloWorld--->enter,出现"第一个Java程序".
      或者先输入  h:-->enter  进入h盘
 
  ***方法二(推荐)
      在workspace文件夹下面,按住shift键,右击鼠标--->在此处打开命令窗口-->javac HelloWorld.java,enter,输入java HelloWorld
 
Java语言特点:
1.面向对象  everything is object 万事万物皆对象
2.跨平台  平台---系统
JVM  JAVA虚拟机
java在不同的操作系统中有不同的JDK。这些JDK不同点在于有不同的JVM.百度jdk,在甲骨文官网找jdk不同系统,jdk对应不同版本

3.Java语言健壮性

4.较高的安全性(GC   ---> 垃圾回收器、垃圾回收机制 )
什么是垃圾:
在程序中,垃圾是指无用资源,占用内存,这种资源被称之为垃圾

在C语言中,资源需要程序员手动释放,程序无法自动释放资源。
例如:
用户登录:
用户登录时 用户名 、 用户密码就会存储在程序中(在内存中)
用户名和密码在内存中占用了一块空间
4G ---> 100M
 3G 900M

用户退出时,这个这块空间应该被清除。这种操作被称之为释放资源。---> 4G

但是C语言没有自动释放机制,需要程序员手动释放。
假如没有释放资源:
1.内存不足 ---> 内存溢出   程序性能下降 

2.可能引发数据泄露 数据安全问题

GC Java垃圾回收机制
GC程序像一个勤劳的清洁工,会检测数据是否是活动数据
如果不是活动数据,将会被删除掉,释放占用的资源

Java开发规范
在样例演示中,发现类名使用中文也是可以的。但是在实际开发过程中类名是不允许使用中文。
并且类名只能是:字母、数字、下划线(_)、美元符号组成,并且不能以数字开头。且遵循大驼峰命名规则。
这种取名字要求被称之命名规范。

包名:包的实质其实就是一个文件夹
1.所有字母全小写
2.包名之间使用英文点号   com.sxt.demo ---> com sxt   demo
样例文件
Test.java
com.sxt.test                test
测试文件
Test.java




包的意义:
1.可以根据需求划分不同的模块,便于管理
2.不同的包也解决了名称冲突问题



类名、接口名: class关键字 ---> 后面跟着的名称被称之为类名
1.由字母、数字、下划线、美元符号($)组成
2.且不能以数字开头   Hello123   --->123Hello
3.遵循大驼峰命名规则
大驼峰命名法则:
每个单词的首字母必须大写
例如: username  ---> UserName   passowrd ---> Password iloveyou --->ILoveYou

小驼峰法则:
第一个单词的首字母小写,其他单词的首字母需大写
username ---> userName  passoword ---> password  iloveyou ---> iLoveYou

蛇形法则:
单词之间使用下划线拼接
username ---> user_name

4.见文知意 ---> 取得名字要有意义  切记拼音、英文混合 HelloWorld --->HelShJi

变量名、方法名:
1.遵循小驼峰命名法则
2.由字母、数字、下划线、美元符号组成,不能以数字开头
3.见文知意


常量名:
1.由字母、数字、下划线、美元符号组成,不能以数字开头
2.每个字母都需要大写
3.且单词之间使用下划线拼接
例如:
username ---> USER_NAME   password --->PASSWORD Iloveyou9 ---> I_LOVE_YOU_9




作业:


1.熟练编译、执行java程序  ---> javac    java


2.熟记Java基本命名规范