Java基础day01
Java第一天
一、什么是计算机语言
计算机语言就是人与计算机之间实现沟通的工具,程序员可以通过计算机语言所写的程序让计算机去完成各种任务。它由符号,数值及各种关键字组成,在编程时一定要按照规定的语法来书写。
1.计算机语言的发展过程
机器语言,由二进制数作为命令及数据,然后输入到计算机让计算机执行,写程序很困难。
汇编语言,由少数助记符组成,更方便于程序的书写,要求程序员要熟悉机器的内部详细的结构及原理。
面向过程的高级语言,如basic,pascal,fortran,c等,这些语言更接近于人类的语言,用高级语言书写程序变得更加方便,更加简单。它的特点在于写出的程序由函数组成,函数之间是互相调用的关系。问题在于它不太符合人类的自然的思维方式,在设计大型的程序时变得比较困难。
面对对象的高级语言,如c++,c#,java等,更适合于模块化编程,更符合人类的思维方式,代码重用性很好,适合编写大型的应用系统,比如淘宝,拼多多等。
2.高级语言的程序如何让计算机能够理解并执行
计算机能理解二进制的数字,高级语言用到的关键字,语句,标识符及常量都是由标准字符和数字组成的,因此计算机读不懂,现代的程序员都用高级语言编程,因此要想让程序能够被计算机理解必须对程序进行翻译,翻译成计算机能执行的二进制的指令及数据。
(1)程序的翻译问题
翻译的过程就是把高级语言的代码转换为机器或字节码的过程。翻译是一种技术,如何翻译由语言的厂家设计翻译程序来实现。
第一种翻译方式,解释的方式,javascript,vb等都属于此种方式。特点是逐句翻译,象口语翻译,说一句翻译一句,很直接,但效率不高。
另一种为编译方式, 比如c#,c,java都采用这种方式,特点是一次性完整地进行翻译,翻译后生成可执行的文件,该文件可以直接运行,可以在设计时执行查错,执行效率高等。
二进制的基本知识
数制包括很多种,常见的有二进制,八进制,十进制,十六进制。
以十进制为例,由0-9十个数字组成,计数时逢十进一,如9+1 = 10,19+1=20
十六进制由0-F 16个数字及字母组成,0-9对应十进制的0-9,9过后是a-f,分别对应
十进制的10-15,1 = 1 a = 10 f = 15,进位规则是逢15进一,10 = 16 11 = 17,十六进制的数字与二进制的数字具有最简单的对应关系,十六进制的一位对应二进制的四位。
二进制,是由0和1所组成的数字,进位规则是逢二进一,0=0,1=1,10 = 2,11=3,100=4,依此类推。
二进制与十进制的转换方式
1 十转二
方法称为”除2取余,逆序排列”
2、二转十
方法“按位加法”
3 字节 byte
八位二进制称为一个字节,是表示数量级的单位。00000000=0,11111111=255,一个字节表示256个数字。主要用来表示文件的大小。
4 位 bit
表示一位二进制数,通常用来表示网络传输的速度,bps表示每秒传送的位数。
常见二进制的表示单位
1 K = 1024 byte
1M = 1024 k
1G = 1024 M
1T = 1024G
1P = 1024T
1E = 1024P
(一)DOS 磁盘操作系统
dos 是window出来前pc机所使用的操作系统,它采用命令行的方式来使用系统,在dos下,需要计算机干活就要敲命令。
进入dos环境,运行—cmd --回车
盘符及路径会一直显示,敲help命令可以查看所有的dos命令。
Dir命令,列出目录下面的内容,带参合适,dir/p,dir/w
盘符转换操作,语法:盘符: 回车
Cd命令,进入目录或跳转至其它的目录,“.”表示当前目录,”…”表示当前目录的上一级目录,cd … 表示跳转至上一级目录
Cd\ 直接转到根目录
Cls 清除屏幕内容
(二)Java虚拟机
是随jdk中jre一起提供用来运行java应用程序的程序,jvm是程序,它运行之后提供了java程序的执行环境,包括任务调度,内存的分配及垃圾回收等功能。
为什么需要jvm才能运行java程序,是由java的一大特征所决定的,就是java的跨平台特性。跨平台是java程序区别于其它程序的一大典型特征,也是sun公司极力夸赞的一种优势。所谓的跨平台就是“一次编写,随处运行”,java的程序可以在多种操作系统平台上运行,前提是安装了该平台对应的JVM。另一大特征就是面向对象。
(三)Jdk的结构及作用
使用jdk来开发第一个java程序
1 配置环境变量
为了在dos环境下能够在任意目录下都能够使用jdk的工具程序,必须配置环境变量。
此电脑 – 属性 – 高级系统设置 – 环境变量
2 步骤
(1)指定jdk安装的主目录所在的位置。
JAVA_HOME C:\Program Files\Java\jdk1.8.0_112
(2)修改path 环境变量
原内容:d:\oracle\product\10.2.0\db_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;D:\Program Files (x86)\sqlservershare\100\Tools\Binn;D:\Program Files (x86)\sqlservershare1\100\Tools\Binn;D:\Program Files (x86)\sqlservershare1\100\DTS\Binn;D:\Program Files (x86)\sqlservershare\100\Tools\Binn\VSShell\Common7\IDE;D:\Program Files (x86)\sqlservershare\100\DTS\Binn;C:\Program Files\MySQL\MySQL Utilities 1.6;C:\Program Files\MySQL\MySQL Server 5.7\bin;%MAVEN_HOME%\bin;%CXF_HOME%\bin;G:\sdk\platform-tools;G:\sdk\tools;%HADOOP_HOME%\bin;%GRADLE_HOME%\bin;C:\Program Files\Git\cmd;%JAVA_HOME%\bin
(3)进入dos系统,执行java -version命令,观察当前的环境变量是否设置正确
3、写第一个java程序
基于jdk采用手工的方式用记事本来书写。之所以这样主要为了让初学者能够更好的了解java程序在底层的开发过程。如果直接用开发平台,底层做了一些什么事情就不太了解,这对程序员来讲是不好的。
注意:1 文件名必须是java的类名,必须以.java作为扩展名,表示当前的文件是java的源程序文件。
2 java程序的基本单位是类,在源程序中必须要有类的声明。
3 java程序的执行入口是 main方法,这是jvm的规范。Main的相关修饰符及方法参数也必须按照规范来写。
以下是源程序
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld!!");
}
}
编译源程序,使用的jdk的工具是 javac.exe
生成的字节码文件
如果出错,字节码不会生成
执行java程序,使用jdk的java.exe工具,不要带上 .class扩展名
4、jdk的其它工具
Javap.exe工具,反汇编工具,可以把字节码的内容转换为汇编代码所表示的内容.
可以看到基本内容
可以看到最详细的内容
台湾人 周志明 《深入理解java虚拟机》 ,是国内所有程序员在技术成长到一定阶段后一定会去读的,这是一本权威书籍。
Javadoc.exe 工具,自动生成java程序的标准文档
Jar.exe 工具,压缩包的打包工具,以.jar所结尾的压缩文件是java所特定的,别人写的程序都可以打成jar包,给其它的人使用。
监控工具
Jconsole.exe 工具,用来监控java程序的执行过程,包括cpu,内存消耗,对象个数,包括垃圾回收的结果等等,该工具一般都由运维人员使用,程序开发者也可能会用来查找程序中的问题。Java程序的监控工具有多种,jconsole具有代表性,图文并茂,jstat,jmap这些都是。
了解一些java字节码文件的内容(加歺)
三、安装idea并激活
四、第一次进入idea
五、创建第一个java项目
新创建的项目有一个src目录,该目录用来保存和管理所有的java源程序。
1、建包
包(package)是java开发中必须要使用的一种元素,包的作用有两种,第一种按照目录的层级结构来管理所有的类、接口以及其它的文件,包可以有多级,每级对应一级目录,在项目开发中不同的类和接口的作用是不一样的,有必要把它们按照各自的功能分门别类的放在不同的包中。第二种就是实现对类与接口的权限控制,比如public,private等这些访问修饰符是要与包结合在一起发生作用。
包的命名:
对于不同的软件公司或个人,自已的类名或接口名难免与其它公司或个人所写的类名及接口名发生同名的情况,如果包名不同则可以明确地区分开来。因此建议包名取公司或个人邮箱名称的倒序作为头二级,比如wanggang_201@163.com,com.wangggang,后面跟项目名称
基本规则: 邮箱倒序.项目名.模块名称…
2、建类
3、注释,被注释的内容不会被编译
/**
* 文档注释,注释内容可以被javadoc工具自动生成类文档
*/
//单行注释,用来注释一行内容,注释的作用是对源码进行说明,写出良好的注释是程序员的基本要求
/*
* 多行注释,用来注释多行内容
* */
4、关键字
是语言所提供的具有特定用途的单词,各自有自已的作用,java中有50个关键字,其中有两个保留关键字在当前没有任何用处,分别是goto,const,或许以后会有用处。关键字都是小写。
5、标识符
是由程序员来命名的,用来表示类名,变量名,方法名等。
标识符的命名规则,只能由数字、字母、下划线及$组成,不能以数字开头。
在java程序中,标识符的命名还有不成文的规范(大家都是这样做,而且觉得最好)。就是,类名首字母大写,方法名首字母小写,变量名全小写。如果标识符由多个单词组成,采用驼峰命名法(userName)。另外,不能用关键字作标识符。
Java中的标识符区分大小写。