JAVA基本语言
2018-08-02 05:53:23来源:博客园 阅读 ()
一、基础语言要素
1.1 标识符:用来给类、对象、方法、变量、接口和自定义数据类型命名的。
组成:
由数字,汉字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。
例如:
下面的标识符是合法的:
HelloWord,Hello_Word, $HelloWord,_sys_ta,OK,_23b,_3_
下面的标识符是非法的:
#HelloWord,HelloWord
注意:标识符不能使用JAVA语言中的关键字,关键字下方会进行讲解。
使用标识符应该要学会良好的习惯:
? 包名:全部使用小写字母组成。
? 类和接口名:应以具有含义的单词组成,所有的单词的首字母大写。
? 方法名:有具有含义的单词组成,所有的单词首字母都大写。
? 变量名:成员变量和方法名相同,局部变量全部使用小写。
? 常量名:全部使用大写字母,单词之间用下划线分开。
1.2 关键字:不能作为标识符使用,由系统来使用
访问控制
private protected public
类,方法和变量修饰符
abstract class extends final implements interface native new
static strictfp synchronized transient volatile
程序控制
break continue return do while if else for instanceof switch case default
异常处理
try cathc throw throws
包相关
import package
基本类型
boolean byte char double float int long short null true false
变量引用
super this void
保留字
goto const
相关含义解释
关键字 | 含义 |
abstract | 表明类或者成员方法具有抽象属性 |
assert | 断言,用来进行程序调试 |
boolean | 基本数据类型之一,布尔类型 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 声明一个类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
1.3 注释:们更好的理解代码的含义。
单行注释: //为了可以让我
多行注释:/**/
文档注释:/***/
二、基本数据类型
2.1 常量和变量:
2.1.1 常量表示不能改变的值:
如:final String USERNAME = "LINZHENHUA";
2.1.2 变量是能够改变的值
如 :int x =5
?作用域(Scope)决定了变量可使用的范围
?全局变量(Global variables):变量可以在整个类中被访问;
?局部变量( Local variables ):变量只能在定义其的代码段中被访问。
?作用域规则:在一个代码段中定义的变量只能在该代码段或者该代码段的子代码段中可见。
?使用局部变量比使用全局变量更安全。
2.2 整数类型
分为:
类型 | 位数 | 取值范围 |
字节型(byte) | 8 | -2^7 ~ 2^7 - 1 |
短整型(short) | 16 | -2^15 ~ 2^15 - 1 |
整形(int) | 32 | -2^31 ~ 2^31 - 1 |
长整型(long) | 54 | -2^63 ~ 2^63 - 1 |
2.3 浮点类型
类型 | 位数 | 取值范围 |
单精度浮点类型 | 32 | 3.4e+38 ~ 1.4e-45 |
双精度浮点类型 | 64 | 1.7e+308~ 4.9e-324 |
2.4 字符型(char)
任意单个字符
2.5 布尔类型 (boolean)
取值为:true/false
三、数据类型的转换:满足以下规则
-
不能对boolean类型进行类型转换。
-
不能把对象类型转换成不相关类的对象。
-
在把容量大的类型转换为容量小的类型时必须使用强制类型转换
3.1 自动类型转换: 转换从低级到高级
列如:
定义一个short类型变量: short s = 3;
short自动转换为int类型:int i = s;
定义一个float类型变量:float f = 1.0f;
float自动转换为double:double d = f ;
......
3.2 强制类型转换:把位数高的转换为位数低的
如:
int x = 123;//定义一个int类型
byte b = (byte)x;//强制把int类型转换为byte类型。
四、运算符和表达式
4.1 算术运算符:相当于计算机运算符的加(+),减(-),乘(*),除(/)等数学的基本运算.。
列子:
4.2 自增自减运算符:
是一种特殊的运算符,自增表示操作数值递增加1,自减操作数字递减1;
列如:
4.3 关系运算符:计算两个数之间的操作,其产生的结果是布尔类型;
包括:等于(==),不等于(!=),大于(>),大于等于(>=),小于(<),小于等于(<=)
列如:
4.4 位运算符:对数据比特位进行操作,只能用于整数类型
操作符 | 描述 | 例子 |
---|---|---|
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 如果相对应位都是0,则结果为0,否则为1 | (A | B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
? | 按位补运算符翻转操作数的每一位,即0变成1,1变成0。 | (?A)得到-61,即1100 0011 |
列如:
4.5 逻辑运算符:用于对产生布尔类型数值的表达式进行计算,结果为布尔类型。
操作符 | 描述 | 例子 |
---|---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B)为假。 |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B)为真。 |
! |
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 |
!(A && B)为真 |
列如:
4.6 三元运算符:该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
表达式:
variable x = (expression) ? value if true : value if false
列如:
4.7 运算符的优先级
总结:这一节课主要是学习了基本数据类型,和各种表达式的使用。在实际运用中这些表达式是十分有用的。希望各位在其他时间这里面没有的自行去扩展开来。
微信公众号请关注:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash