JAVA相关介绍
Java语言是一种特殊的高级语言,Java程序需要先经过编译,在经过解释两个步骤。Java经过编译之后不会产生机器码,而是生成一种与平台无关的字节码(*.class文件)。这种字节码是不可执行的,必须使用Java解释器来解释执行。
Java语言负责解释执行字节码文件的是Java虚拟机,即JVM(JavaVirtual Machine)。JVM是可运行java字节码文件的虚拟计算机。所有平台上的JVM向编译器提供相同的编程接口,而编译只需要面向 虚拟机,生成虚拟机能理解的代码,然后由虚拟机来解释执行。
一、安装JDK
想要开发JAVA必须安装JDK,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行是环境,以及常用的Java类库等。
在JDK安装路径下:
bin:该路径下是JDK的各种命令工具,常用的javac、java等命令都在此路径下。
db:
demo:该路径下是JDK的演示代码。
jre:该路径下是运行Java程序必需的JRE环境。
lib:该路径下存放的是JDK工具命令额实际执行程序。
sample:该路径下是JDK提供的简单示例代码。
src.zip:该文件包括了Java所有核心类的源代码。
二、设置PATH环境变量
编译和运行Java程序有两个步骤(编译和执行),分别需要使用java和javac两个命令。这两个命令均在bin目录下。
在 windows的环境变量下设置此变量。
JAVA命名规范
定义规范的目的是为了是项目的代码样式统一,使程序有良好的可读性。
A.包的命名:全部小写,由域名定义
B.类的命名:单词首字母大写
C.方法的命名:首字母小写,其余字母开头大写
D.常量的命名:全部大写,常加下划线
E.参数的命名:为了避免阅读程序时造成迷惑,尽量保证参数有明确的含义
F.变量的命名:常采用首字母小写,其余字母大写的规则。
Java基本语法
一、标识符和关键字
标识符就是用于给程序中变量、类、方法命名的符号。Java语言的标识符必须以字母、下划线(_)、美元符($)开头,后面可以跟任意数目的字母、数字、下划线(_)和美元符($)。
Ø 标识符可以由数字、字母、下划线和美元符组成,但是数字不能开头
Ø 标识符不能是Java关键字和保留字
Ø 标识符不能包含空格
Ø 标识符只能包含美元符,不能包含@#等其他特殊字符
二、Java关键字
关键字是一些具有特殊用途的单词。当定义标识符时,不要让标识符和关键字相同,否则会引起错误。
abstract
|
assert
|
boolean
|
break
|
byte
|
case
|
catch
|
char
|
class
|
continue
|
default
|
do
|
double
|
else
|
enum
|
extends
|
final
|
finally
|
float
|
for
|
if
|
implements
|
import
|
int
|
interface
|
instanceof
|
long
|
native
|
new
|
package
|
private
|
protected
|
public
|
return
|
short
|
static
|
strictfp
|
super
|
switch
|
synchronized
|
this
|
throw
|
throws
|
transient
|
try
|
void
|
volatile
|
while
|
三、数据类型
Java语言是强类型的语言,每个变量必须显式声明类型,也就是说,所有的变量必须先声明后使用。
Java语言的类型包括两类:基本类型(Primitive Type)和引用类型(Reference Type)。
基本类型包括boolean类型和数值类型。数值类型包括整数类型和浮点类型。整数类型包括byte、short、int、long、char,浮点类型包括float和double。
引用类型包括类、借口和数组类型,还有一种特殊的null类型。引用类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是java语言中没有指针这个说法。
空类型(null type)就是null值的类型,这种类型没有名称。因为null类型没有名称,所以不可能声明一个null类型的变量或者转换到null类型。空引用(null)是null类型变量唯一的值。空引用(null)可以转换为任何引用类型。
四、基本数据类型
JAVA中一共有8种数据类型。但是字符串不是基本数据类型,它是一个引用类型。
1.整形:
Ø byte:占8位,范围是-128(-27)到127(27-1)
Ø short:占16位,范围是-32768(-215)到32767(215-1)
Ø int:占32位,范围是-2147483648(-231)到-2147483467(231 -1)
Ø long:占64位,范围是-9223372036854775808(-263)到9223372036854775807(263-1)
java整形常量默认就是int类型,int是最常用的整形常量。
2.字符型
字符型常量有三种表示形式:
Ø 直接通过单个字符来指定字符常量:例如’A’、’9’。
Ø 通过转义字符表示特殊字符常量:例如’\n’、’\t’。
Ø 直接使用Unicode值来表示字符常量,格式是’\uXXXX’,其中’XXXX’代表一个16进制的整数。
Java中常用的转义字符表:
转义字符
|
说明
|
Unicode表示方式
|
\b
|
退格符
|
\u0008
|
\n
|
换行符
|
\u000a
|
\r
|
回车符
|
\u000d
|
\t
|
制表符
|
\u0009
|
\’’
|
双引号
|
\u0022
|
\’
|
单引号
|
\u0027
|
\\
|
反斜线
|
\u005c
|
字符型常量也可以采用16进制编码方式来表示,范围是’\u0000’~’\uFFFF’,一共表示65535个字符,其中前256个字符和ASCII码中的字符完全重合。
如果把一个在0~65535范围内的int整数赋给char类型的变量,系统会自动把这个int整形当成char类型来处理。
3.浮点型
Java的浮点类型的字段长度和表数范围和机器无关。采用二进制数据的科学计数法来表示浮点数,对于float型数值,第一位是负号位,接下来8位表示指数,接下来23位表示系数;对于double型数值,第一位是负号位,接下来的11位表示指数,接下来的52位表示尾数。
一个float类型的数值占4个字节,32位。
一个double类型的数值占8个字节,64位。
Java语言的浮点型默认的是double型,如果希望把一个浮点型当成float处理,应该在这个浮点型值后紧跟着f或F。所有正无穷大数值都是相等。所有负无穷大数值都是相等。而NaN不与任何数值相等,甚至和NaN都不相等。
Double或Float的POSITIVE_INFINITY表示它们的正无穷大,NEGATIVE_INFINITY表示它们的正无穷小。
4.布尔型
在逻辑上表示“真“或“假”。Boolean值只能是true或false。其他基本数据类型不能转换为布尔类型。
五、基本数据类型转换
有两种转换类型:自动类型转换和强制类型转换。
把一个范围小的数值或变量直接赋给另一个表数范围大的变量时,称为自动类型转换。
如: int a = 9; float f = a;//int可以自动转换为float类型
把一个范围大的数值或变量直接赋给另一个表数范围小的变量时,称为强制类型转换。
如:double dValue =3.21; int result = (int)dValue;//强制把一个double类型的值转换为int
通常情况下,字符串不能直接转换为基本类型,但是通过基本类型对用的包装类则可以将字符串转换成基本类型。
如:String str = “23”; int iValue = Integer.parseInt(str);
六、运算符
1.算术运算符
+(加法)、-(减法)、*(乘法)、/(除法)、%(求余)、++(自加)、--(自减)
2.赋值运算符
Java使用=作为赋值运算符,通常使用赋值运算符将一个常量值赋给变量。
扩展后的赋值运算符:
Ø +=:x = x + y
Ø -=:x = x – y
Ø *=:x = x *y
Ø /=:x = x / y
Ø %=:x = x % y
Ø &=:x = x & y
Ø |=:x = x | y
Ø ^=:x = x ^ y
Ø <<=:x = x <<y
Ø >>=:x = x >>y
Ø >>>=:x = x >>> y
3.比较运算符
Ø >
Ø >=
Ø <
Ø <=
Ø ==
Ø !=
4.逻辑运算符
Ø &&:与,前后两个操作数都是true才返回true,否则返回false
Ø &:不短路与
Ø ||:或,只要两个操作数中有一个true就返回true,否则返回false
Ø |:不短路或
Ø !:非,只需要一个操作数,操作数为true返回false,操作数为false返回true
Ø ^:异或,当两个操作数不同时才返回true,相同时返回false
注:&总会计算前后两个操作数,而&&先计算前一个操作数,如果左边的操作数为false,直接返回false,根本不会计算右边的操作数。
5.位运算符
Ø &:按位与
Ø |:按位或
Ø ~:按位非
Ø ^:按位异或
Ø <<:左位移运算符
Ø >>:右位移运算符
Ø >>>:无符号右移运算符
位运算的运算结果表
第一个运算数
|
第二个运算数
|
按位与
|
按位或
|
按位异或
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
注:按位与 0&0 = 0;0&1 = 0;1&0 = 0; 1&1 = 0;
按位或 0|0 = 0; 0|1 = 1; 1|0 = 1; 1|1 = 1;
按位异或 0^0 = 0; 0^1 = 1;1^0 = 1; 1^1 = 0;
>>、>>>和<<<三个移位运算符并不是适合所有的数值类型,他们只适合对byte、short、char、int和long等整数型进行运算。除此之外,进行移位运算时还有如下规则;
对于低于int类型的操作数总是先自动类型转换为int类型后再移位。
对于int类型的整数移位a>>b,当b>32,系统先用b对32求余(因为int类型只有32位),得到的结果才是真正移位的位数。例如a>>33和a>>1的结果完全一样,而a>>32的结果和a相同。
对于long型的整数移位时a>>b,当b>64,总是先用b对64求余(因为long类型是64位),得到的结果才是真正移位的位数。
6.类型相关运算符
7.三目运算符 ?:
七、运算符的优先级
运算级优先级表(上面的优先级高于下面的)
运算符说明
|
java运算符
|
分隔符
|
[] () {} , ;
|
单目运算符
|
++ - ~ !
|
强制类型转换运算符
|
(type)
|
乘法/除法/求余
|
* / %
|
加法/减法
|
+ =
|
移位运算符
|
<< >> >>>
|
关系运算符
|
< <= >= > instanceof
|
等价运算符
|
== !=
|
按位与
|
&
|
按位异或
|
^
|
按位或
|
|
|
条件与
|
&&
|
条件或
|
||
|
三目运算符
|
?:
|
赋值
|
= += -= *= /= &= |= ^= %= <<= >>= >>>=
|
分享到:
相关推荐
【Java学习+面试宝典】 一份涵盖大部分Java程序员所需要掌握的核心知识。 目录: Java 面试题 文章推荐 ...从零开始单排学设计模式「单一职责原则」黑铁 - 青铜 晋级赛 学习书籍: Java 技术书籍大全
安卓开发-单排显示gridview并从解析JSON读取数据加载项目.zip
2.54mm单排双排排针排母直插表贴排针排座90度弯针AD封装库(ALTIUM 3D PCB封装库): Component Count : 177 Component Name ----------------------------------------------- HDR2.54-LI-1P HDR2.54-LI-2P HDR...
2.54mm间距单排座双排座排母表贴SMD排母AD集成3D封装库(原理图库+PCB封装库): PCB Library : 排母.PcbLib Date : 2021/5/11 Time : 17:27:53 Component Count : 60 Component Name -------------------------...
行业分类-设备装置-一种单排孔蒸压灰加气混凝土墙体砌块.zip
自己的Go语言小轮子实践记录与教程文档~~~ 不会Golang的程序员会怎么去学一门新语言呢?来看看吧~~~
2.0mm单排双排排针排母直插直角90度弯角排座AD封装库(ALTIUM 3D PCB封装库): Component Count : 90 Component Name ----------------------------------------------- HDR2.0-LI-2P HDR2.0-LI-2x2P HDR2.0-LI-2...
行业分类-设备装置-单排气囊双向倾斜式洗衣机.zip
行业资料-交通装置-一种单排轮滑鞋刹车装置.zip
行业分类-设备装置-单排孔混凝土墙体芯柱砌块.zip
本文主要讲了单排六脚电位器接线方法,希望对你的学习有所帮助。
常用插装接插件 2.0 2.54 5.08mm单排双排接口插件Altium封装库三维视图PCB封装库(3D封装库合集), 965 个封装,PcbLibb后缀文件,封装列表如下: Component Count : 965 Component Name --------------------------...
赏金赛源码熊猫电竞赏金电竞系统源码 可开王者荣耀、和平精英比赛 支持1v1、单排、双排组、战队排等多种比赛模式熊猫电竞赏金电竞系统源码 APP+H5双端 附搭建教程 支持运营级搭建 可搭建!运营级!首次公开! 赏金...
行业分类-设备装置-一种单排孔蒸压砂加气混凝土墙体砌块.zip
行业资料-交通装置-一种小型单排太阳能高倍聚光发电系统的双轴跟踪机构.zip
电信设备-单排双层式移动公厕.zip
1.27mm单排双排排针排母直插表贴排针排座AD封装库(ALTIUM 3D PCB封装库): Component Count : 152 Component Name ----------------------------------------------- HDR1.27-LI-2P HDR1.27-LI-2x2P HDR1.27-LI-...
Android高级应用源码-单排显示gridview并从解析JSON读取数据加载项目.zip
行业分类-电子-关于单排搪瓷高效新能源太阳能发电热水器的说明分析.rar
行业文档-设计装置-一种单排孔泡沫混凝土墙体砌块