type
status
date
slug
summary
tags
category
icon
password
简介
概述
Java是Sun公司开发的一门编程语言,目前被Oracle公司收购。
Java的应用:
- 桌面应用软件
- 互联网应用软件
Java的擅长:
- 互联网:电商、P2P等
- 企业级应用:ERP、CRM、BOS、OA等
Java平台:
- JavaSE:标准版
- JavaEE:企业版
Java特性:
- 跨平台,即操作系统,需要依赖Java虚拟机JVM
开发工具
Java语言开发工具是JDK,刚开始学习可以使用JDK8。
配置环境变量后,进入控制台,分别输入java和javac,测试是否安装成功。
运行环境
Java语言运行环境是JRE,如果不需要开发只需要运行Java程序,那么可以安装JRE,此外,JDK包含了JRE。
编译和运行
源文件
源文件也称为源代码文件,扩展名为.java。
编译
编译即通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class。
编译操作需要使用编译器来完成,在安装JDK时已经安装了编译器,它属于JDK的一部分,可以在JDK目录下的bin目录下找到它:javac.exe。
注意,javac.exe并不支持双击运行,必须使用DOS命令来运行它。
格式:编译器程序完整名称 源文件完整名称
编译之后会在源文件同目录下生成字节码文件,字节码文件的扩展名为.class。
注意,在编译时控制台上不会有输出,如果有输出说明源代码有错误,所以一旦编译出错,就要去查看源文件中是否存在错误。
运行
运行即使用解释器来运行字节码文件。
运行字节码文件需要使用java.exe命令,它和javac.exe在同一目录下。与javac.exe相同,java.exe也不支持双击运行,也必须要使用DOS命令来运行。
注意:在运行HelloWorld.class文件时不能给出.class,切记!!!
环境变量
每次程序编译与运行都要输入D:\program\develop\compiler\java\jdk1.8.0_412\bin后,才能使用javac.exe和java.exe,这样的方式很麻烦。
通过配置Windows的PATH环境变量可以不输入D:\program\develop\compiler\java\jdk1.8.0_412\bin。
PATH变量中保存着多个路径,当在DOS控制台中使用的程序只给出程序名称,而没有给出完整路径时,Windows系统会到PATH变量保存的路径中去查找程序。
如果把D:\program\develop\compiler\java\jdk1.8.0_412\bin路径保存到PATH变量中,那么在使用javac和java时,Windows系统就会自动到D:\program\develop\compiler\java\jdk1.8.0_412\bin路径下查找javac和java了。
语义
注释
我们通常会在源代码中添加文字来对代码进行解释说明,但这些文字并不是Java代码的语法,会导致编译出错,这时就可以使用注释来避免编译出错的情况发生。
在编译时,编译器会忽略注释的存在,所以注释并不会导致编译出错,同时注释还可以方便编写者和其他人阅读源代码,加强对代码的理解。
Java中提供了三种注释方式,分别是:
- 单行注释:
- 多行注释:
- 文档注释:
其中文档注释与多行注释作用基本相同,唯一的区别是文档注释可以使用javadoc.exe命令生成API文档
在编写代码时可以先写思路、分析、步骤,然后再写代码,并且思路、分析、步骤都可以使用注释放在源代码中。
关键字
关键字是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,public,static和void这些单词,均为Java已经预设好的。
Java中关键字均为小写,下面是Java中所有关键字:
abstract | assert | boolean | break | byte |
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
标识符
Java中经常要定义类、方法和变量,在定义它们时要给它们起名字,这些名字就是标识符;在Java程序中,除了关键字以外基本上都是标识符。
组成元素:
- 英文字符:a-z、A-Z
- 数字:0-9
- 符号:_与$
标识符规则:
- 数字不能开头
- 不可以使用关键字
- 严格区分大小写,不限制长度起名时,尽量达到见名知意
常量
Java中的数据量分为常量和变量,常量就是不变的数据量。
- 整数类型
- 十进制表示方式:正常数字 如13、25等
- 二进制表示方式:以0b(0B)开头 如0b1011 、0B1001
- 十六进制表示方式:以0x(0X)开头 数字以0-9及A-F组成 如0x23A2、0xa、0x10
- 八进制表示方式:以0开头 如01、07、0721
- 小数类型:如1.0、-3.15、3.168等
- 布尔类型:true、false
- 字符类型:如 'a','A', '0', '家',字符必须使用 '' 包裹,并且其中只能且仅能包含一个字符
- 字符串类型:如 "我爱Java","0123"," ","null",字符串必须使用 "" 包裹,其中可以包含0~N个字符,字符串String类型是一种引用类型
常量的数据类型:
- 整形常量默认是int类型
- 小数常量默认是double类型
- 定义长整形数据如果值超过int取值范围后面要加L
- 定义float类型的数据后面要加f,否则默认是double
变量
变量是内存中装载数据的容器,只能用它来存数据和取数据。
计算机存储单元
计算机存储设备的最小信息单元叫位(bit),又称为比特位,通常用小写的字母b表示;计算机的最小存储单元叫字节(byte),通常用大写字母B表示,一个字节由连续的8个位组成。
当程序需要使用存储空间时,操作系统最小会分派给程序1个字节,而不是1个位。
计算机中储存和运算的最小单位是一个字节,也就是一个byte。
常用储存单位:
- 1B(字节) = 8bit
- 1KB = 1024B
- 1MB = 1024KB
- 1GB = 1024MB
- 1TB = 1024GB
- 1PB = 1024TB
变量定义
注意事项
- 变量定义后可以不赋值,使用时再赋值,但不赋值不能使用
- 变量使用时有作用域的限制
- 变量不可以重复定义
运算符
算数运算符
算术运算符最常见的操作就是将操作数参与数学计算。
运算符 | 运算规则 | 范例 | 结果 |
+ | 正号 | +3 | 3 |
+ | 加 | 2+3 | 5 |
+ | 连接字符串 | “中”+“国” | “中国” |
- | 负号 | int a=3;-a | -3 |
- | 减 | 3-1 | 2 |
* | 乘 | 2*3 | 6 |
/ | 除 | 5/2 | 2 |
% | 取模 | 5/2 | 1 |
++ | 自增,在原有值的基础上自增1 | int a=1;a++/++a | 2 |
-- | 自减,在原有值的基础上自减1 | int b=3;a--/--a | 2 |
- 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串
- 除法/当两边为整数时,取整数部分,舍余数;当其中一边为浮点型时,按正常规则相除
- %为整除取余符号,小数取余没有意义,结果符号与被取余符号相同
- 整数做被除数,0不能做除数,否则报错
++、-- 位置的使用:
- ++、--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1
- ++、--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作
赋值运算符
赋值运算符就是为变量赋值的符号。
运算符 | 运算规则 | 范例 | 结果 |
= | 赋值 | int a=2 | 2 |
+= | 加后赋值 | int a=2,a+=2 | 4 |
-= | 减后赋值 | int a=2,a-=2 | 0 |
*= | 乘后赋值 | int a=2,a*=2 | 4 |
/= | 整除后赋值 | int a=2,a/=2 | 1 |
%= | 取模后赋值 | int a=2,a%=2 | 0 |
诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型
比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false。
运算符 | 运算规则 | 范例 | 结果 |
== | 相等于 | 4==3 | False |
!= | 不等于 | 4!=3 | True |
< | 小于 | 4<3 | False |
> | 大于 | 4>3 | True |
<= | 小于等于 | 4<=3 | False |
>= | 大于等于 | 4>=3 | True |
赋值运算符的=符号与比较运算符的==符号是有区别的,如下:
- 赋值运算符的=符号,是用来将=符号右边的值,赋值给=符号左边的变量
- 比较运算符的==符号,是用来判断==符号 左右变量的值是否相等的
逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。
运算符 | 运算规则 | 范例 | 结果 |
& | 与 | false&true | False |
ㅤ | ㅤ | 或 | false |
^ | 异或 | true^flase | True |
! | 非 | !true | Flase |
&& | 短路与 | false&&true | False |
ㅤ | ㅤ | 短路或 | false |
- 逻辑运算符通常连接两个其他表达式计算后的布尔值结果
- 当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断
- 短路与&&:参与运算的两边数据,有false,则运算结果为false
- 短路或||:参与运算的两边数据,有true,则运算结果为true
- 逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true
三元运算符
前面的运算符的均为一元或者二元运算符。元即参与运算的数据。
三元运算符格式:
(条件表达式)?表达式1:表达式2;
表达式通俗的说就是通过使用运算符将操作数联系起来的式子,例如:
- 3+2,使用算数运算符将操作数联系起来,这种情况,称为算数表达式
- 3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,称为条件表达式
- 其他表达式,不再一一举例
三元运算符运算规则:
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
运算符优先级
下表是每种运算符的优先级,按照运算先后顺序排序(优先级相同的情况下,按照从左到右的顺序依次运算)。
优先级 | 描述 | 运算符 |
1 | 括号 | ()、[] |
2 | 正负号 | +、- |
3 | 自增自减,非 | ++、--、! |
4 | 乘除,取余 | *、/、% |
5 | 加减 | +、- |
6 | 移位运算 | <<、>>、>>> |
7 | 大小关系 | >、>=、<、<= |
8 | 相等关系 | ==、!= |
9 | 按位与 | & |
10 | 按位异或 | ^ |
11 | 按位或 | ㅤ |
12 | 逻辑与 | && |
13 | 逻辑或 | ㅤ |
14 | 条件运算 | ?: |
15 | 赋值运算 | =、+=、-=、*=、/=、%= |
16 | 位赋值运算 | &=、 |
- 作者:青山🌊
- 链接:http://cxuan.me/article/java-se-base
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。