java基础
一、java概述:
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
二、发展简史
1995年5月23日,Java语言诞生
1996年1月,第一个JDK-JDK1.0诞生
1999年6月,SUN公司发布Java的三个版本:标准版(JavaSE,以前是J2SE)、企业版(JavaEE以前是J2EE)和微型版(JavaME,以前是J2ME)
2009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。
三、Java的三种技术架构
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;
JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具集和jre。
2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。
四、环境变量的配置:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
配置步骤: 新建系统变量JDK---安装路径 , path系统变量下添加以下语句---%JDK%\bin
五、javac命令和java命令
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
Java程序执行机制:*.Java文件(源代码)-----Java编译器-----*.class字节码文件(运行文件)-----类加载器-----字节码校 验器----- 解释器-----操作平台
六、java语法基础:
1,关键字:其实就是某种语言赋予了特殊含义的单词。
2,标识符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;
注意:1),数字不可以开头。2),不可以使用关键字。3)采用驼峰命名法
3,常量:是在程序中的不会变化的数据,用关键字final定义。
4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
七、数据类型:
1):基本数据类型:byte一个字节、short两个字节、int四个字节、long八个字节、floa四个字节t、double八个字节、char两个字节、boolean不确定,由JVM决定
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:把一个高级别的数赋给一个别该数的级别低的变量;
int (数据类型,划分内存中空间的大小,存放于栈) a(变量) =(赋值运算符) 5(常量)
八、运算符号:
1)、算术运算符。
%:取模正负由前一位数字正负决定
+:连接符。
++:前缀++a(先运算,后赋值)后缀a++(先赋值,后运算)
--:前缀--a(先运算,后赋值)后缀a--(先赋值,后运算)
2)、赋值运算符。
= (赋值),+=(增量) ,-= (减量),*= ,/= ,%=
3)、比较运算符。
特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
4)、逻辑运算符。一般与关系运算符搭配使用
! 非,逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。
~:非,0变1,1变0 ,真变假,假变真(受二进制限制)
^:两边的位不同时,结果为1,否则为0.如1100^1010=0110
& 和 &&区别:
& :无论左边结果是什么,右边都参与运算。(只有两边都为true结果是true。否则就是false)
&&:短路与,如果左边为false,那么右边不参数与运算。(一个不满足就为false,后面不执行)
| 和|| 区别:
|:两边都运算。(只要两边都为false结果是false,否则就是true)
||:短路或,如果左边为true,那么右边不参与运算。(一个满足就为TRUE,后面不执行)
5)、位运算符:用于操作二进制位的运算符。
<< ,>>, >>>(无符号右移)
6)、三目运算符
(表达式1---判断)?(表达式2---成立返回):(表达式3---不成立返回),可嵌套
九、注释
//单行注释
/*多行注释*/
//*文本注释*/可由javadoc生成文本文档
十、选择语句
1)if/else语句
单分支:if(表达式只能返回true或者false){……语句……….}
双分支:if(表达式只能返回true或者false){……语句……….}else{……语句……….} 注:总要执行一个
多分支:if(表达式只能返回true或者false){……语句……….}else{……语句……….}else{……语句……….}else{……语句……….}else{……语句……….}else{……语句……….}只执行一条,执行完成后,后面的跳过
注:if对与else是必须,else对于if则相反
2)switch语句
swith(变量){
case 值:要执行的语句 ;
break; //跳出当前语句循环,但是仅限于switch循环
default::要执行的语句
}