Java的发展史 20世纪90年代,硬件领域出现了单片式计算机系统 91年,sun(Stanford University Network,斯坦福大学网络公司)成立Green项目小组开发oak语言,其中包括帕特里克、詹姆斯高斯林等人。 96年1月,SUN公司正式发布了Java的第一个开发工具包(JDK1.0) Java语言平台 J2SE:标准版,主要为开发普通桌面应用程序,也是其他两者的基础 J2EE:企业版,是为开发企业环境下的应用程序提供一套解决方案 J2ME:小型版,主要是指移动设备或者嵌入式设备开发 JVM,JRE,JDK 什么是跨平台 平台指的是操作系统(如:windows,Linux,mac等) 跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行 原理:实现跨平台需要依赖Java的虚拟机JVM(Java Virtual Machine) 图解原理: Java程序 windows Linux Mac Mac版jvm win版jvm Linux版jvm JVM是Java虚拟机,Java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此Java语言可以跨平台,不同的平台有自己的虚拟机,因此Java语言可以跨平台 JRE包括Java虚拟机(JVM)和Java程序所需要的核心类库等 如果想要运行一个开发好的程序,计算机中只需要安装JRE即可。 JDK JDK是提供给Java开发人员使用的,其中包含了Java的开发工具包,也包括了JRE,所以安装了JDK,就不用再单独安装JRE了。 JDK包含JRE和Java开发工具 三者的关系 JDK>JRE>JVM(包含的关系) 常用dos命令: dir,cd,cd..,javac,java,java -version,win+r,win+e,win+d,cd\,cls,exit 安装配置JDK 这里面主要是对环境变量的控制,设置JAVA_HOME 注释: 单行注释:// 注释内容 多行注释:/*... 注释内容....*/ 文本注释:/**.. 注释内容....*/ 这种注释可以用来自动地生成文档。在JDK中有个javadoc的工具,可以由源文件生成一个HTML文档。使用这种方式注释源文件的内容,显得很专业,并且可以随着源文件的保存而保存起来。也就是说,当修改源文件时,也可能对这个源代码的需求等一些注释性的文字进行修改,那么,这时候可以将源代码和文档一同保存,而不用再另外创建一个文档。 文档注释位置 (1)类注释。类注释用于说明整个类的功能、特性等,它应该放在所有的“import”语句之后,在class定义之前。 这个规则也适用于接口(interface)注释。 (2)方法注释。方法注释用来说明方法的定义,比如,方法的参数、返回值及说明方法的作用等。方法注释应该放在它所描述的方法定义前面。 (3)属性注释。默认情况下,javadoc只对公有(public)属性和受保护属性(protected)产生文档——通常是静态常量。 (4)包注释。类、方法、属性的注释都直接放到Java的源文件中,而对于包的注释,无法放到Java文件中去,只能通过在包对应的目录中添加一个package.html的文件来达到这个目的。当生成HTML文件时,package.html文件的<BODY>和</BODY>部分的内容将会被提取出来当做包的说明。关于包注释,后面还会有更进一步的解释。 (5)概要注释。除了包注释外,还有一种类型的文档无法从Java源文件中提取,就是对所有类文件提供概要说明的文件。同样的,也可以为这类注释单独新建一个HTML文件,这个文件的名字为“overview.html”,它的<BODY>和</BODY>标记之间的内容都会被提取。 ·@author:作者。 ·@version:版本。 ·@docroot:表示产生文档的根路径。 ·@deprecated:不推荐使用的方法。 ·@param:方法的参数类型。 ·@return:方法的返回类型。 ·@see:用于指定参考的内容。 ·@exception:抛出的异常。 ·@throws:抛出的异常,和exception同义 关键字 被Java语言赋予特殊含义的单词 组成关键字的字母全部都是小写 语法格式 常量和变量 常量是指在程序执行的过程中,其值不可以发生改变的量 变量的本质是内存中的一小块区域。在程序执行的过程中其值可以发生改变的量 变量的定义格式 数据类型 变量名 = 初始化值 数据类型 无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写的字母B表示,字节是由连续的8个位组成的。 1B=8bit 1KB=1024B …… Java是一种强类型的语言 Java的数据类型分为: 基本数据类型: 整型:byte(1),short(2),int(4),long(8) 浮点型:float(4),double(8) 字符型:char(2) 布尔型:boolean(1) 引用数据类型: 类(class) 接口(interface) 数组([]) 标识符 由字母、下划线、美元符号和数字组成 这里的字符采用的是unicode字符集,所以包括云纹大小写字母,中文字符,数字字符等 注意事项:数字不能开头 不能是Java的关键字 命名规则: 见名知意 包名:全部小写,一般是域名倒过来 类或者接口:首字母大写,驼峰原则 方法或者变量名:第一个单词小写,从第二个开始首字母大写 常量所有字母大写,如果是多个单词,则需要在每个单词下面用下划线链接 变量的注意事项: 变量未赋值,不能直接使用 变量只在它所在的作用域有效 类型转换 隐式转换 byte,short,char-->int -->long-->float-->double 强制转换 (目的类型)=(目的类型)需要被转换的类型; 运算符 对常量和变量进行操作的符号就称为运算符 表达式 用运算符把常量和变量连接起来的符合java语法的式子就可以成为表达式 算数运算符 +,-,*,/,%, ++,-- 对于++和--单独运算,在前和在后没有区别,都是对自身进行运算。 但是在表达式中在前,表示先自我进行运算,再参与表达式运算,在后则是先参与表达式运算,再对自身进行运算。总结:“前自” 赋值运算符 +=,-=,*=,/=,%=,== 这里需要说明,两个符号,隐藏了强制类型转换 如:byte a=10; a+=20;=》a=(byte)(a+20) 而a=a+20;却会报错,是因为默认20是int类型,类型不匹配,而上面却不会报错 关系运算符 >,<,>=,!= 说明:关系运算符的结果本身就是一个布尔值 逻辑运算符 &,|,^,! &&,|| 双目具有短路性,当前前面的表达式已经具有决定性的结果时,后面的表达式不在执行,实际开发中,多使用短路的 三目运算符 表达式 ?表达式1:表达式2 判断表达式1的值是否为真,为真执行表达式1,否则执行表达式2 键盘录入 Scanner in=new Scanner(System.in); 需要导入包,调用是使用构造方法构造(实例化)一个对象,用对象调用其方法。 控制流程语句 顺序结构 没有特定的语法,按照代码的先后顺序,一次执行。 在Java的主方法内部,实际上就是顺序执行的 选择结构 if语句 if(关系表达式){ 语句体; } 循环结构 for for(初始化条件;判断条件;控制条件语句){ 循环体语句; } while 初始化语句; while(判断条件语句){ 循环体语句; 控制条件语句; } do…while 初始化语句 do{ 循环体语句; 控制条件语句; }while(判断条件语句) 三种循环的区别 Do…while循环至少会执行一次 for和while循环只有在条件成立的时候才会去执行循环体 for和while循环的区别 控制条件语句的那个变量,在佛如循环结束后,就不能在被访问到了,而while循环结束后还可以继续使用,如果想继续使用推荐使用while,否则推荐使用while,原因是for结束后,该变量就从内存中消失,能够提高内存的使用效率。 while循环主要针对不确定循环次数的循环。 巧用while和for循环的死循环。 多重选择 Switch switch(表达式){ //表达式的取值是byte,short,int,char, //JDK5以后可以是枚举,JDK7以后可以是String Case 表达式值1://case后面根的值与表达式进行比较的值 语句体1; break; ….. default: 语句体n+1; break; } 中断控制语句 break和continue break的使用场景 在选择结构switch语句中和循环语句中 离开使用场景是没有意义的,break的作用是跳出单层循环。 coutinue的场景 在循环语句中使用,离开使用场景是没有意义的 break和continue的区别 break退出当前循环 coutinue结束的是本次循环 Random 产生随机数 用法: //构造一个对象 Random s=new Random(); //获取随机数 Int number = s.nextInt(10);//获取0-10之间的随机数,包括0,但是不包括10. 数组 理解 数组是存储多个同一类型变量的容器,且这多个变量的数据类型要保持一致。 概念 数组是存储同一种数据类型多个元素的容器。 数组既可以存储基本的数据类型,也可以存储引用数据类型。 数组的定义格式 格式1:数据类型[] 数组名; 格式2:数据类型 数组名[]; 这两种定义完以后,数组中是没有任何元素的 Java中的数组必须要先初始化然后才能使用 所谓的初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。 动态初始化: 数据类型[] 数组名=new 数据类型[数组长度]; Int[] arr=new int[3]; 动态初始化,只指定长度,由系统给出初始化值 静态初始化: 数据类型[] 数组名={1,2,3};//直接将元素放进去 静态初始化,给出初始化值,有系统决定长度。
Java基础语法知识总结
猜你喜欢
转载自blog.csdn.net/rishizhihou/article/details/80020240
今日推荐
周排行