- 学习编程的捷径-----敲,狂敲
- 学习编程的规范----加注释
- 代码虐我千百遍,我视代码如初恋----细心
上午
计算机组成
硬件
- CPU 执行指令 mov,add
- 内存(ram) 进程(process)
- 外存 (disk)持久 程序(program)
程序员关注的一个:内存,内存中有大量的存储单元
软件
-
应用软件
为了完成某个特定功能的软件,运行在操作系统上的普通软件
-
系统软件
操作系统OS,对硬件的直接使用,通过OS才能使用到应用.
人机交互方式
-
GUI图形化界面(简单,直观)
-
CLI命令行方式
使用复杂,需要记住大量的命令
优点是高效直接
启动控制台 就可以直径命令(操作系统可识别的)
win + R --> cmd
DOS 磁盘操作系统
(disk operating system) 基于文件系统工作的,文件用目录来保存管理的
'>'左边的是当前目录,工作目录
常用命令
-
dir (directory)列出工作目录下的内容,包括子目录和子文件
-
md (make directory) 新建文件夹,必须在后面加上参数
命令行参数:跟在命令后面,作用是给命令传递数据
-
切换盘符
盘符:
D:
-
切换工作目录
cd (change directory)
两个特殊目录
. 目录 : 代表的是当前目录
.. 目录: 代表的是当前目录的父目录(上级目录)
☆ cd 直接返回根目录
“MyWorkjavaSEday01code”这是一个相对路径,相对于当前目录而言
“.MyWorkjavaSEday01code” 等价于上
绝对路径是以根目录开始的,如D:MyWorkjavaSEday01code
命令分类
- 内部命令:操作系统内置的,直接执行
- 外部命令:保存在硬盘上的可执行文件;在执行时,操作系统必须能够找得到,这就要依赖于path
语言的发展历程
- 第一代 打孔机,面向硬件开发
- 第二代 汇编 ,面向CPU开发
- 第三代 C、C++ 面向OS,通过系统调用完成功能
- 第四代 java 面向虚拟机VM(virtual machine) 是用软件模拟的一台机器,刺激器的所有硬件规格都是不变的
java的8个特点
-
简单,相对于c/C++简单
-
面向对象:纯面向对象语言,和面向过程相对,面向过程关注的是问题的解决步骤,面向对象关注的是谁能解决问题,该找谁
-
分布式。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
-
健壮。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的包装是Java的明智选择。
引用 -> 安全的指针
-
安全。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
-
跨平台。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
-
性能好。与那些解释型的高级脚本语言相比,Java的性能还是较优的。
-
多线程。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建,目的就是最大化利用CPU。
java的两种核心机制
Java虚拟机(Java Virtal Machine)
-
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
-
对于不同的平台,有不同的虚拟机。
-
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
垃圾收集机制(Garbage Collection)
- 不再使用的内存空间应回收—— 垃圾回收。
-
在C/C++等语言中,由程序员负责回收无用内存。
-
Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
JRE JDK JVM
JRE = JVM + Java SE标准类库
JDK = JRE + 开发工具集(例如编译工具等)
编程体验 HelloWorld
javac 是编译器
java 是运行器
步骤
- 在D:MyWorkJavaSEday01code目录下新建一个文本文件 并改名为Xxx.java然后用NotePad++打开编辑此文件
- 通过javac命令对该java
下午
上午程序讲解
/*
public 是一个修饰符
class 是类,声明定义一个类
hello 是雷鸣,后面的{}是其中的内容,称为类体(body)
类 = 类头(类签名) + 类体
类是java程序最基本的单位
*/
public class hello{
/*
这是一个方法,方法也称为函数,是某个独立的功能体单位
public 是公共的,static 静态的,都是修饰符
void main(String[] args) 方法的签名
void 是返回值类型 ,是空类型,表示方法没有返回值
main 是方法名(标识符) main是主要的意思,这个方法称为主方法
(String[] args) 称为参数列表
方法后面的一对{} 极其中的内容称为方法体
方法= 方法头(修饰符+方法签名) + 方法体
方法不可以嵌套
*/
public static void main(String[] args){
//语句是java语言执行的最小单位,必须以分号结尾
System.out.println("Hello World!你好java");
hello.test();
}
public static void test(){
System.out.println("!!!");
}
}
class Test2{
public static void test2(){
System.out.println("?test2");
}
}
class Test3{
public static void main(String[] args){
System.out.println("?test3");
}
}
主类:包含主方法
主方法:入口方法,写法固定
public static void main(String[] args){}
(被public 修饰的类叫做公共类)没有public 的叫非公共类
一个文件只能有一个公共类,且公共类名必须与文件名一致,非公共类不限
java Test2
java Test3
程序的执行过程是:
java 的执行作用是创建JVM
Hello 在创建好的JVM中通过类加载器加载主类(包含main方法的类),然后执行它
程序的阅读性、可读性很重要
第二章 基本语法
-
关键字 : 在java中有特殊含义的单词,字母全部小写
-
标识符:Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
定义合法标识符规则:
-
由26个英文字母大小写,0-9 ,_或$组成
-
数字不可以开头。
-
不可以使用关键字和保留字,但能包含关键字和保留字。
-
Java中严格区分大小写,长度无限制。
-
标识符不能包含空格。
-
变量
内存中的一块被命名并且要被特定的数据类型约束的区域,此区域中可以保存数据.
要有变量名:为了是正确的定位内存空间
要有数据类型:数据类型决定了空间大小,此空间中可以保存什么数据.这个数据能做什么
变量的声明: 数据类型 变量名
变量的使用 :通过变量名来使用.
如 : int n1;