栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础系列二 Java语言基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础系列二 Java语言基础

Java基础系列第一章 初识Java语言
Java基础系列第二章 Java语言基础


目录
    • 数据类型
    • 基本数据类型
    • 数据类型转换
    • 常量与变量
    • 运算符与表达式
      • 算数运算符
      • 关系运算符
      • 逻辑运算符
      • 位运算符
      • 赋值运算符与扩展赋值运算符
      • 条件运算符
      • 运算符优先级
    • Java关键字


数据类型

Java语言的数据类型分为两大类:

  • 基本数据类型:在声明时会先分配内存空间,其大小固定,在内存中存放的是数据值本身。目前Java有整形:byte、short、int、long,浮点型:float、double,布尔型:boolean,字符型:char八种基本数据类型。
  • 引用数据类型:在声明时不会先分配内存空间,必须另外指定内存空间,引用数据类型在内存中存放的是指向该数据的地址,不是数据值本身。
基本数据类型

整型
byte:字节型,是最小的整数类型,所占位数为8位,默认值0。取值范围为-128 ~ 127。常用于处理数据流。
short:短整型,所占位数16位,默认值0。取值范围为-32768 ~ 32767。主要用于16位计算机(目前很少用)。
int:整型,所占位数32位,默认值0。取值范围为-2147483648 ~ 2147483647。常用于计数、数组下标、长度等(比较常用)。
long:长整型,所占位数64位,默认值0L。取值范围为-9223372036854775808 ~ 9223372036854775807。常用于时间戳等(比较常用)。

浮点型
float:单精度浮点型,所占位数32位,默认值0.0f。取值范围为1.4E-45 ~ 3.4028235E38,常用于对小数位精度要求不是很高的数字。
double:双精度浮点型,所占位数64位,默认值0.0d。取值范围为4.9E-324 ~ 1.7976931348623157E308,常用于计算精确度要求很高的情况。

字符型
char:字符型,所占位数16位,默认值空。取值范围为0 ~ 65535.。

布尔型
boolean:布尔型,只有true和false两个值,默认值false。常用于流程控制、判断等(比较常用)。

数值型常量的特殊值代码

数据类型所在的类最小值代码最大值代码
bytejava.lang.ByteByte.MIN_VALUEByte.MAX_VALUE
shortjava.lang.ShortShort.MIN_VALUEShort.MAX_VALUE
intjava.lang.IntegerInteger.MIN_VALUEInteger.MAX_VALUE
longjava.lang.LongLong.MIN_VALUELong.MAX_VALUE
floatjava.lang.FloatFloat.MIN_VALUEFloat.MAX_VALUE
doublejava.lang.DoubleDouble.MIN_VALUEDouble.MAX_VALUE
数据类型转换

因为Java数据类型在定义时已经确定了,因此不能随意转换,但Java允许用户有限的进行数据类型转换。在所有基本数据类型中只有Boolean不能转换,其他都可进行转换。转换因级别、类型的不同区分"自动转换"和"强制转换"。

  • 自动转换:进行转换的两种类型兼容且目标类型的范围大于源类型的范围。转换不损失精度,也叫隐式转换。
public static void main(String[] args){
	byte a = 1;  // 定义byte类型
	int b = a;    // byte自动转换为int
	long c = b;   // int自动转换为long
	double d = b; // int自动转换为double
}
  • 强制转换:不满足类型自动转换的条件下仍然希望进行类型转换。转换有可能会损失精度,也叫显示转换。
public static void main(String[] args){
	float a = 1.1f;   // 定义float类型
	int b = (int)a;   // float强制转换为int
}
常量与变量

常量和变量都时程序设计人员用来存取内存中数据内容的一个标识码,他们最大的区别是常量会固定不变,变量会根据程序的执行而改变。

  • 常量:在程序执行中不能被修改的固定值。常量也分类型,包含整型、浮点型、布尔型、字符型和字符串型。使用常量好处:增加可读性,增强可维护性。常量声明只需要使用关键字final即可,如:final int A = 1;
  • 变量:在程序执行中大多会变化的值。变量可以是任意类型。一般程序都会有变量,使用变量需先声明后使用。在变量声明的时候也可以给变量赋初值(变量初始化),后面根据需要再进行变量的赋值即可。
运算符与表达式

在程序中要实现运算就得有运算符。运算符按功能分可分为以下几类:

  • 算数运算符:+、-、*、/、%、++、–。
  • 关系运算符:>、<、>=、<=、==、!=。
  • 逻辑运算符:!、&&、||、&、|。
  • 位运算符:>>、<<、>>>、&、|、^、~。
  • 赋值运算符:=。
  • 扩展赋值运算符:+=、/= 等。
  • 条件运算符(三元运算符):? : 。
算数运算符

算数运算符分一元运算符(只有一个操作数参与运算)和二元运算符(有两个操作数参与运算)。
一元运算符

运算符功能示例
+正值+a
-负值-a
++加1++a 或 a++
减1–a 或 a–

二元运算符

运算符功能示例
+加运算a + b
-减运算a - b
*乘运算a * b
/除运算a / b
%取模运算(求余运算)a % b
关系运算符
运算符功能示例
>大于a > b
>=大于等于a >= b
<小于a < b
<=小于等于a <= b
==等于a == b
!=不等于a != b
逻辑运算符
运算符功能示例运算规则
&逻辑与a & b两个操作均为真时,结果才是真
|逻辑或a | b两个操作均为否时,结果才是否
!逻辑非!a将操作数取反
^异或a ^ b两个操作同真或同否时,结果才是否
&&简洁与a && b两个操作均为真时,结果才是真
||简洁或a || b两个操作均为否时,结果才是否
位运算符
运算符功能示例运算规则
~按位取反~a将a按位取反
&按位与a & b将a和b按比特位相与
|按位或a | b将a和b按比特位相或
^按位异或a ^ b将a和b按比特位异或
>>右移a >> b将a各比特位向右移b位
<<左移a << b将a各比特位向左移b位
>>>0填充右移a >>> b将a各比特位向右移b位,左边空位一律以0填充
赋值运算符与扩展赋值运算符

赋值运算符:“=”,格式为:变量或者对象=表达式。
扩展运算符及等效表达式

运算符示例等效表达式
+=a += ba = a + b
-=a -= ba = a - b
*=a *= ba = a * b
/=a /= ba = a / b
%=a %= ba = a % b
&=a &= ba = a & b
|=a |= ba = a | b
^=a ^= ba = a ^ b
>>=a >>= ba = a >> b
<<=a <<= ba = a << b
>>>=a >>>= ba = a >>> b
条件运算符

条件运算符:“? :”,也叫三元运算符,格式为:表达式1?表达式2 : 表达式3,功能是计算表达式1的值,当表达式1为真时,表达式2为整个表达式的值,否则表达式3为整个表达式的值。

运算符优先级

各运算符的优先级(从上到下,从左到右,优先级从高到底),虽然运算符有优先级,但是在多计算时,还是用括号来控制运算顺序可读性高些。

优先级运算符
1[ ]、( )
2++、–、!、!
3*、/、%
4+、-
5>>、>>>、<<
6>、<、>=、<=
7==、!=
8&
9^
10|
11&&
12||
13? :
14=、+=、-=、*=、/=、%=、^=
15&=、|=、<<=、>>=、>>>=
Java关键字
关键字含义
abstract表明类或者成员方法具有抽象属性
assert断言,用来进行程序调试
boolean基本数据类型之一,声明布尔类型的关键字
break提前跳出一个块
byte基本数据类型之一,字节类型
case用在switch语句之中,表示其中的一个分支
catch用在异常处理中,用来捕捉异常
char基本数据类型之一,字符类型
class声明一个类
const保留关键字,没有具体含义
continue回到一个块的开始处
default默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
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用在循环结构中
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888840.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号