计算机组成:
输出设备
输入设备
运算器、控制器(cpu)
存储器(硬盘、内存)
--冯洛伊曼体系结构
计算机中数据处理方式:二进制、只有加法
原码:二进制数值的绝对值,最高位为符号位:0正数、1负数
反码:符号位不变,其他位取反
补码:正数的补码就是本身,负数的补码:模-原码(快捷计算方式:反码+1)
模:10 2和8一对补数
2+5 = 7
5-(2)原=5+(8)补=13(进位忽略)--->3
(23)10 ---> (0001 0111)2
(-23)10---> (1001 0111)原 ---> (1110 1000)反 ---> (1110 1001)补=反码+1
10000 0000
0001 0111
————————————
1110 1001
数据存储单位:
1Byte = 8bit(b)
1kb = 1024Byte
1mb = 1024kb
1GB = 1024MB
1T = 1024GB
========================================================================================
语言的发展历史:
机器语言:00010110 加法,低级语言
汇编语言:采用助记符代替机器命令,add --->00010110,中低级语言
高级语言:java、c++、C#,程序中有语句的概念。非常贴近人类的语法习惯
java的发展历史:
java的发源地:sun公司(oracle收购)
oak语言(java的前身)
applet小程序(运行于客户端浏览器)
jsp(运行一段java程序(服务端))
Java ME(专门用于嵌入式系统开发)
SE (java核心语法,桌面程序开发)
EE (企业级应用开发)
========================================================================================
corejava语法:
跨平台:
程序运行机制:
源文件:开发人员编写代码的文件
字节码文件:二进制文件,计算机可以直接运行,如:exe文件
编译:源文件--->编译器--->字节码文件,特点:一次编译,多次运行;无法实现跨平台
解释:源文件--->解释器--->逐行解释并运行,特点:每次运行都需要通过源文件解释运行;可以实现跨平台(对应平台有相应的解释器)
java的运行机制:
先编译后解释
JVM:java虚拟机,模拟计算机的运行环境(相当于一台虚拟的计算机)。
源文件(.java)--->编译器--->字节码文件(.class)--->JVM(内置了解释器)-->解释运行
JVM:屏蔽底层OS的差异性,我们编写代码只要对JVM负责。
int i = 40000;
i = 30000;
OS1:1Byte -128~127
0111 1111
+0:0000 0000
-0:1000 0000(-128)
OS2:4Byte -2147483648~2147483647
JVM:4Byte
n Byte:-2^(8n-1) ~ 2^(8n-1)-1
JRE(java运行环境) = JVM+解释器
JDK(java开发工具包)= JRE + 编译器 + 类库 + 工具
========================================================================================
jdk安装:
1.执行安装包
2.环境变量配置:
JAVA_HOME:jdk安装目录,(让第三方依赖于java的软件使用的)
PATH:jdk工具命令所在目录, 已有值后拼接;%JAVA_HOME%\bin
CLASSPATH:字节码文件所在目录,一般配置:.(当前目录)
3.第一个程序:
格式:
class 类名{
public static void main(String[] args){
}
}
如:
class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
编译:javac 源文件名
运行:java 类名
4.java中的代码都是包含在类之中。
class 类名{
}
类的语法规则:
(1)一个源文件可以写多个类,在编译后,每一个类对应一个字节码文件
(2)公共类:public class 类名{
}
a.一个源文件最多一个公共类
b.公共类的类名必须和源文件名一致
标识符:java中的起名,组成:数字、字母、下划线、$,数字不能作为开头(硬性要求)
软性要求(习惯规范):
望文生义
类名: 单词首字母大写,如:HelloWorld
变量名: 从第二个单词开始首字母大写,如:helloWorld
函数(方法)名: 同变量名
包名: 所有单词都是小写,如:helloworld
常量名: 所有单词都大写,单词间用下划线隔开,如:final int HELLO_WORLD = 40000;
注释:对代码的一段描述性文字。
// 单行注释 如://这是一个HelloWorld
/* */ 多行注释
/** */ 文档注释 在多行注释的基础上可以生成API文档,
命令:javadoc -d 指定存放文档的目录 源文件名
javadoc -d doc TestPublic.java
package语句:
作用:(1)代码实现分类管理
(2)解决命名冲突
用法:
(1)必须是源文件中的第一句
(2)生成的class文件所在目录结构必须和package指定的包结构相符
javac -d . 源文件名(按照包结构生成class文件)
(3)java 包名.类名(全限定名) 如:java com.corejava.p1.HelloWorld
import语句:在package语句之后。
作用:当想要调用其他类中的代码时,并且这个类和当前类不在同一目录下,则使用import语句导入其他类,
在使用该类则可省略包名。
写法:import 全限定名;
import 包名.*;//*是通配符,代表包下的任意类
import java.*;//错误的
import java.*.*;//错误的
默认:java中默认import java.lang.*;//该包下是常用的类库,已有系统自动导入,无需程序员自己写
如:String 的全限定名: java.lang.String
注意:如果一个源文件中同时使用了两个类名相同,但包名不同时,则只能写全限定名,import语句无法解决。
java.util.Date
java.sql.Date
自己学习总结的一些笔记!!若有不足请指正!!