计算机语言人与计算机之间通信的语言,它主要由一些指令组成,这些指令包括数字、符号和语法等内容,程序员可以通过这些指令指挥计算机进行工作。
计算机语言的种类可以分成机器语言、汇编语言、高级语言三大类。
机器语言都是由二进制的0和1组成的编码
汇编语言采用了英文缩写的标识符
高级语言采用接近于人类的自然语言进行编程。
1995年5月23日,在 Oak 更名为 Java 后,Java 在 Sun world 会议上正式诞生
2006年11月 Sun 公司成立了 OpenJDK 开源社区组织,OpenJDK诞生
2009年,Oracle公司宣布收购Sun公司
2014年3月18日,Oracle 发布JavaSE8LTS版本
简单性
面向对象:只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制
安全性
跨平台性:通过jvm及字节码实现跨平台,但在相对应的平台需要安装相对应版本的jvm
支持多线程
分布性
JDK(java的开发环境,是资源包,安装好便可以进行Java开发)
JDK:开发工具:javac:编译器,将源程序转成字节码
jar:打包工具,将相关的类文件打包成一个文件
javadoc:文档生成器,从源码注释中提取文档
jbd:查错工具
java:运行编译后的java程序(是带.class后缀的文件)
Javap:Java反汇编器
运行环境(JRE):是程序员编写好的java程序运行和测试的基础环境(也是资源包)
JVM:可以模拟计算机能力的程序,主要用来加载字节码文件到内存,然后使用内部解释器逐行分析成本地机器码,然后运行程序,是Java能跨平台的本质
系统类库:在开发运行测试时需要的通用核心类库
我的电脑右键 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量
添加变量名:JAVA_HOME:注意,JDK的根路径指的是bin、db、include、lib等一系列目录所在的路径,即java的家。
找到path变量,添加新值,尽量挪至最前面,因为path会优先查找前面的地址版本,若是低版本可能有些功能无法使用
从JDK5开始,只需要配置path即可,但是有些软件,比如tomcat,可能会需要JAVA_HOME这个变量。
检验是否配置成功:在命题提示符界面:java -version,javac
Java语言中,对于变量,常量,函数,语句块来说,都是有名字的,统一称为Java标识符
可以由字母,数字,_和$,这四种的任意多个组成,但是数字不能开头
严格区分大小写
可以使用汉字,但是不建议使用
不能使用关键字
尽量见名知意,多个单词需要用驼峰命名法:大驼峰:组成一个标识符的每一个单词的首字母都是大写的。小驼峰:首单词除外,从第二个单词开始,每一个单词的首字母都是大写的
类和接口名:每个单词的首字母都要大写,其他字符小写。
方法名:首字符小写,其余单词的首字母大写,尽量少用下划线。
常量名:全部大写字母,单词与单词之间用下划线分隔。
变量名:首字符小写,其余单词的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。
变量是用来存储数据的基本单位。变量可以看作是一个带有名称的内存位置,可以在程序运行期间存储和修改数据。
变量名使用前必须先声明和初始化:声明: 就是变量的定义,格式:类型名 变量名
初 始化:第一次赋值,赋值时有两个时机,声明时,直接初始化,或者用的时候,再初始化 。
可以对变量中 的值进行存取操作:存:就是使用等号进行赋值操作,取:就是通过变量来操作空间里的值与其他变量进行运算或者输出。
变量可以再次赋值。再次赋值时,直接使用变量名和等号进行赋值。
变量的操作必须和声明时规定的类型一致。
变量有自己的作用域(作用范围):只能在这个作用域内使用,超出作用域则需要重新定义作用域:从声明处开始,到所在花括号的结束符号为止。
按声明所在位置分类:成员变量:方法外部,类的内部定义的变量,在类体中直接声明的变量,与 方法 是并列关系(同级别)
局部变量:在方法内定义的变量
按数据类型进行分类:基本数据类型变量
引用数据类型变量
基本数据类型:数值型:整数类型;浮点型
字符型
布尔型
引用数据类型:类:String,Scanner,Math,Random,Array
接口
数组
也叫字节类型,是计算机存储单位的最小单位
范围:-128~+127
二进制表示:8位。10000000~01111111
二进制的另外一种表达式:-2^7 ~(2^7)-1
范围:-32768~32767
二进制表示:16位 10000000 00000000~01111111 11111111
二进制的另外一种表达式:-2^15~(2^15)-1
范围:-2147483648~2147483647
二进制表示:32位
二的幂次方:-2^31~(2^31)-1
整数的字面值(直接写的整数)默认是int类型
范围:-9,223,372,036,854,775,808~9,223,372,036,854,775,807
二进制表示:64位 8字节大小的二进制
2的幂次方表示:-2^63~(2^63)-1
注意:因为书写的整数是int类型,因此不能超出int范围,如果书写的整数值想要比int的范围还大,需要在数字后面添加L/l。只要在整数后添加l,计算机会直接将该十进制数翻译成64位二进制
运算过程中,只要有一个浮点数参与运算,那么结果就可能不是准确值
也叫单精度浮点数类型,只能表示到小数点后5到7位
范围:远远大于long的范围,能表示出与long相同值的数字,还能比long更大还有小数等
二进制表示:32位
如果想要直接书写float类型的字面值,必须在数字后面加F/f
也叫双精度浮点数类型,只能表示到小数点后14到16位
范围:远远大于float的范围,能表示出与float相同值的数字,还能比float更大还有小数等
二进制表示:64位
小数的字面值,默认是double类型,数字后可以添加D/d,也可以不添加
Java语言中的所有字符(0~9,A~Z,a~z,_,$等只要能打出来的符号,都是字符,包括汉字),这些字符都可以存储在char类型的变量空间
char类型的值,必须使用单引号包起来,并且单引号中有且只有一个字符
char是2字节(16位)大小,因此char类型能表示出来65536个字符
特殊符号:比如制表符、\t,换行符\n,退格符\b等这些特殊符号也可以存储在char里,还有一些特殊字符:'',""等等,如果想要将这些符号当成普通字符来储存或显示,必须添加转义字符\
(注意:t是普通符号,当前面添加了\,该\是转义符号。配合起来表示制表符)
char类型可以存储整数,范围是0~65535,默认打出来的还是字符
char类型也叫无符号整数类型,char类型也可以用于数字计算
Java编程语言中默认常用的是UNIDODE字符集,任何符号都占用两个字节大小,包括汉字。
(常用的字符的对应列表:0~9这样的字符-->48~57,A~Z——>65~90,a~z——>97~122,汉字的范围:\u4E00~\u9FA5)
用来表示判断的结果,要么正确(true),要么错误(false),即布尔只有两个值
Java中的布尔值占1个字节大小
是将一种数据类型转换为另一种数据类型的过程。
常见于取值范围小的数据类型转型为取值范围大的数据类型。,不需要额外操作
常见于取值范围大的数据类型向取值范围小的数据类型转型。,需要额外指定操作。
强制转换有可能出现精度损失或溢出
+,-,*,/,%,++,--
%:为取模运算符,即求余数
/:输出的结果为整型,若为浮点型则会自动舍弃小数点后的所有内容
++,--:自增和自减,对变量进行自增或自减1,例如a++为先赋值再自增,--a为先自减后赋值
=,+=,-=,*=,/=,%=
即在变量现有值的基础上再与另一个数字进行运算,然后将结果重新赋值给这个变量
例如:a += 3即a = a + 3
>,<,>=,<=,==,!=
对两个数据进行比较的运算,输出结果一定是boolean类型
&:与,两真才真,一假即假
|:或,一真即真,两假才假
!:非,非真即假,非假即真
^:异或,相同为假,不同为真。
&&::短路与,若前半部分为假该程序就不会继续执行
||:短路或,若前半部分为真该程序就不会继续执行
&,|,^,~,<<,>>,>>>
~:按位取反,是将一个数字的补码的每一位进行取反,包括符号位。
>> : 将操作数的所有二进制位向右移动指定数量的位。右移时会保持符号位(对于负数,符号位是1,正数是0)
>>>:将操作数的所有二进制位向右移动指定数量的位,但不考虑符号位,空出的高位用0填充。
<<: 将操作数的所有二进制位向左移动指定数量的位。左移相当于乘以2的n次方
根据条件的真伪来选择值
语法:boolean变量或者boolean结果的表达式 ? 值1 : 值2
若boolean为true则输出值1,若为false则输出值2