第二章 Java语言基础

本文详细介绍了Java语言的基础知识,包括代码注释与编码规范、变量与常量、基本数据类型及其转换,以及各种运算符的用法。重点讲解了变量的声明、常量的概念、数据类型转换以及算术、自增自减、关系和逻辑运算符的运用。此外,还提到了位运算符和复合赋值运算符,帮助读者掌握Java编程的基本语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

2.1 代码注释与编码规范

2.1.1 代码注释

2.1.2 编码规范 

2.2 变量与常量

2.2.1 标识符与关键字

2.2.2 变量

2.2.3 常量

2.3 基本数据类型

2.3.1 整数类型 

2.3.2 浮点类型 

2.3.3 字符类型

2.3.4 布尔类型

2.4 数据类型转换

2.4.1 隐式转换

2.4.2 显式转换

2.5 运算符

2.5.1 赋值运算符

2.5.2 算术运算符

2.5.3 自增和自减运算符

2.5.4 关系运算符

2.5.5 逻辑运算符 

2.5.6 位运算符

2.5.7 复合赋值运算符

2.5.8 三元运算符 

2.5.9 圆括号

2.5.10 运算符优先级


2.1 代码注释与编码规范

       在程序代码中适当地添加注释可以提高程序的可读性和可维护性。好的编码规范可以使程序更易阅读和理解。

2.1.1 代码注释

1.单倍注释

“//”注联标记,从符号“//”开始直到换行为止的所有内容均作为注释而被编泽器忽略。

例如:

2.多倍注释

“/**/”为多行注释标记,符号“/*”与“*/”之间的所有内容均为注释内容。注释中的内容可以换行。

 例如:

 3.文档注释

“/** */”为文档注释标记。符号“/**”与“*/”之间的内容均为文档注释内容。当文档注释出现在声明(如类的声明、类的成员变量的声明、类的成员方法声明等)之前时,会被Javadoc文档工具读取作为Javadoc文档内容。文档注释的格式与多行注释的格式相同。

2.1.2 编码规范 

在学习开发的过程中要养成良好的编码习惯,因为规整的代码格式会给程序的开发与日后的维护提供很大方便。

1、每条语句要单独占一行,一条命令要以分号结束。

注意:程序代码中的分号必须为英文状态下输入的,初学者经常会将“;”写成中文状态下的“;”,此时编译器会报出illegal character(非法字符)这样的错误信息。
2、在声明变量时,尽量使每个变量的声明单独占一行,即使是相同的数据类型,也要将其放置在单独的一行上,这样有助于添加注释。
3、在java代码,中关键字与关键字之间如果有多个空格,这些空格均被视作一个。
4、为了方便日后的维护,不要使用技术性很高,难懂,易混淆判断的语句。
5、对于关键的方法要多加注释,这样有助于阅读者了解代码结构。

2.2 变量与常量

       在程序执行过程中,其值能被改变的量称为变量,其值不能被改变的量称为常量。变量与常量的命名都必须使用合法的标识符。将向读者介绍标识符与关键字、变量与常量的声明。 

2.2.1 标识符与关键字

1.Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的保留关键字。

编写Java代码命名规范:
(1)类名:通常使用名词,第一个单词字母必须大写,后续单词首字母大写。
(2)方法名:通常使用动词。第一个单词首字母小写,后续单词首字母大写。
(3)变量:第一个单词首字母小写,后续单词首字母大写。
(4)常量:所有字母均大写。
(5)单词的拼接法:通常使用“userLastName"方式拼接单词,而不是user-last-name

 2.关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。简单理解为凡是在Eclipse变成红色粗体的单词,都是关键字。

2.2.2 变量

 变量的使用是程序设计中一个十分重要的环节。为什么要声明变量呢?简单地说,就是要告诉编译器这个变量是属于哪一种数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这段空间取个名字,就是我们声明的变量名。内存空间内的值就是变量值。在声明变量时可
以没有赋值,也可以直接赋给初值。

 变量名的规则
(1)变量名必须是一个有效标识符。
(2)变量名不可以使用java 中的关键字。
(3)变量名不能重复。
(4)应选择有意义的单词作为变量名。

2.2.3 常量

在程序运行过程中,一直不会改变的量称为常量,通常也被称为“final 变量” ,常量名通常使用大写字母,但这并不是必须的,很多Java程序员使用大写字母表示常量,是为了清楚的表明正在使用常量。

package hellojava;
public class ConstantTest{//创建ConstantTest类
final double PI=3.14;//声明常量PI
  public static void main(String[] args) {//主方法
	final double PI=3.14; //声明常量PI,并且赋值3.14
	PI=1.1;//再次给常量赋值会报错
	System.out.println("常量PI的值为:"+PI);//输出常量的值
	System.out.println("半径为3的圆的周长为:"+(PI*2*3));//输出半径为3的圆的周长为
	System.out.println("半径为4的圆的面积为:"+(PI*4*4));// 输出半径为4的圆的面积为
   }
  
}

 

2.3 基本数据类型

2.3.1 整数类型 

     整数类型用来存储整数数值,即没有小数部分的数值,可以是正数,也可以是负数。整型数据根据它在内存中所占大小的不同,可分为byte、short int和long 4种类型。它们具有不同的取值范围。

整数数据类型 

数据类型

内分配空间

取值范围

字节

长度

byte

1字节

8位

-128~127

short

2字节

16位

- 32768~32767

int

4字节

32位

-2147483648~2147483647

long

8字节

64位

-9223372036854775808~9223372036854775807

1. int型
例如,声明int型变量,代码如下:
int x;//声明int型变量x
int x,y;//同时声明int型变量x,y
int x= 10,y= -5; //同时声明int型变量x,y并赋予初值
int x = 5+23;//声明int型变量x,并赋予公式(5+23) 计算结果的初值
int型变量在内存中占4字节,也就是32位bit,在计算机中bit是用0和1来表示的。
2. byte 型
byte型的声明方式与int型相同。
3. short 型
short型的声明方式与int 型相同。
4. long 型
long型的取值范围比int型大,属于比int高级的数据类型,所以在赋值的时候要和int做出区分,需要在整数后面加L或者1。

整型数据在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。

十进制:进表现形式大家都很熟悉,如 120、0、-127。

注意:不能以0作为十进制数的开头(0除外)。

八进制:如0123(转换成进制数为83 )、-0123(转换成十进制数为-83)。

注意:八进制必须以0开头。

十六进制:如0x25(转换成十进制数为 37)、0Xb0le(转换成十进制数为45086)。

注意:十六进制必须以 0X 或 0x开头。

public class Keben {//创建Kenben类
public static void main(String[] args) {//主方法
    int a=11;//十进制整型
    System.out.println(a);//1输出十进制表示的整型值
    int b=001;//八进制整型
    System.out.println(b);//输出八进制表示的整型值
    int c=0x11;//十六进制整型
    System.out.println(c);//输出十六进制表示的整型值
	}

}

2.3.2 浮点类型 

1. 浮点类型表示有小数部分的数字。Java 语言中浮点类型分为单精度浮点类型(loat) 和双精度浮点类型(double), 它们具有不同的取值范围。

浮点型数据类型 

数据类型

内存空间(8位等于1字节)

取值范围

字节

长度

float

4字节

32位

1.4E-45~3.4028235E38

double

8字节

64位

4.9E-324~1.7976931348623157E308

2. 在默认情况下小数都被看作double型,若想使用float 型小数,则需要在小数后面添加F或f,另外,可以使用后缀d或D来明确表明这是一个double 类型数据。但加不加“d”没有硬性规定,可以加也可以不加。而声明float 型变量时如果不加“f”,系统会认为是double类型而出错。下 面举例介绍声明浮点类型变量的方法。

public class Dkjkjk {//创建Dkjkjk类
	public static void main(String[] args) {//主方法
	double a =4.35*100;//用double计算4.35*100的结果
	System.out.println("a="+a);//输出这个double值
	int b =(int) a;//将double类型强制转换成int类型
    System.out.println("b="+b);//输出int值
    System.out.println("a的四舍五入值="+Math.round(a));//使用四舍五入
	}

}

 

public class DoubleUnAccurate {//创建DoubleUnAccurate类
	public static void main(String[] args) {//主方法
		double a=0.1;//给a赋值
		double b=2.0-1.9;//用double计算2.0-1.9的结果;
		System.out.println("a="+a);//输出这个double值
		System.out.println("b="+b); // 输出这个double值
		System.out.println("a==b的结果:"+(a==b));//a==b的结果是false
		/*
		 * Math. abs()是取绝对值的方法,1e-6表示1*10的-6次方,是计算机中最小数的概念。
		 *如果两数之差的绝对值小于最小数,则认为这两个数是相等的。
		*/
		boolean bool=Math.abs(a-b)<(1e-6);//判断
		System.out.println("两数之差绝对值小于最小数的结果:"+bool);//输出两数之差绝对值小于最小数的结果
	}

}

 

2.3.3 字符类型

1.char型

     字符类型(char) 用于存储单个字符,占用16位(两个字节)的内存空间。在声明字符型变量时,要以单引号表示,如‘s’表示一个字符。

       同C、C++语言一样,Java语言也可以把字符作为整数对待。由于Unicode编码采用无符号编码,可以存储65536个字符(0x0000 0ffff),所以Java中的字符几乎可以处理所有国家的语言文字。

 2.转义字符

     转义字符是一种特殊的字符变量, 其以反斜杠“\”开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”。

转义字符 

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。

public class Zhuanyizifu {//创建Zhuanyizifu类
	public static void main(String[] args) {//主函数
		char c1='\\';//反斜杠转义字符
		char c2='\'';//单引号转义字符
		char c3='\"';//双引号转义字符
		char c4='\u2605';//16进制表示的字符
		char c5='\101';//8进制表示字符
		char c6='\t';//制表符转义字符
		char c7='\n';//换行符转义字符
		System.out.println("["+c1+"]");//输出c1转义字符的值
		System.out.println("["+c2+"]");//输出c2转义字符的值
		System.out.println("["+c3+"]");//输出c3转义字符的值
		System.out.println("["+c4+"]");//输出c4转义字符的值
		System.out.println("["+c5+"]");//输出c5转义字符的值
		System.out.println("["+c6+"]");//输出c6转义字符的值
		System.out.println("["+c7+"]");//输出c7转义字符的值
	}

}

 

2.3.4 布尔类型

1.布尔类型又称逻辑类型,只有true和false两个值,分别代表布尔逻辑中的“真”和“假”。布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中作为判断条件。

2.通过关键字boolean来声明布尔类型变量。

public class BooleanTest {//创建BooleanTest类
	public static void main(String[] args) {//主方法
		boolean b;//声明布尔型变量b
		  boolean bl,b2; // 声明布尔型变量bl、b2
		  boolean b3=true,b4=false;//声明布尔型变量b1赋给初值true,b2赋给初值false
		  boolean b5=2<3,b6=(2 == 4);//声明布尔型变量赋与逻辑判断的结果 
		  System.out.println("b5的结果是:"+b5);//输出布尔型b5的结果
		  System.out.println("b6的结果是:"+b6);//输出布尔型b6的结果
	}

}

 

3. 在Java虚拟机中,布尔值只使用1位(bit), 但由于Java最小分配单元是1字节,所以一个布尔变量在内存中会分配一个字节。

2.4 数据类型转换

 1.类型转换是将一个值从一种类型更改为另种类型的过程。 例如,不仅可以将String类型数据“457”转换为一个数值型,而且可以将任意类型的数据转换为String 类型。

2.如果从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败。

3.数据类型转换有两种方式,即隐式转换与显式转换。

2.4.1 隐式转换

1.从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这种类型的转换称为隐式转换, 也可以称为自动转换。下列基本数据类型会涉及数据转换,不包括逻辑类型。这些类型按精度从“低”到“高”排列的顺序为byte < short < int < long < float < double。

 

public class Shujuzhuanhuan {//创建Shujuzhuanhuan类
	public static void main(String[] args) {//主方法
		byte mybyte =127;//声明byte型变量mybyte,并把byte型变量允许的最大值赋给mybyte
		  int myint=150;//声明int型变量myint,并赋值150
		  float myfloat=452.12f;//声明float型变量myfloat,并赋值
		  char mychar=10; //声明char型变量mychar,并赋值
		  double mydouble=45.46546;//声明double型变量,并赋值
		  /*将运算结果输出*/
		  System.out.println("byte型与float型数据进行运算结果为:"+(mybyte+myfloat));//输出byte型与float型数据进行运算结果的值
		  System.out.println("byte型与int型数据进行运算结果为:"+(mybyte*myint));//输出byte型与int型数据进行运算结果的值
		  System.out.println("byte型与char型数据进行运算结果为:"+(mybyte/mychar));//输出byte型与char型数据进行运算结果的值
		  System.out.println("double型与char型数据进行运算结果为:"(mydouble+mychar));//double型与char型数据进行运算结果的值
 }
}

2.4.2 显式转换

 当把高精度的变量值赋给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换,当执行显式类型转换时可能会导致精度损失。

public class ExplicitConversion {//创建ExplicitConversion类
	public static void main(String[] args) {//主方法
		    int a=(int)45.23;//double类型强制转换int类型
		    long b=(long)456.6f;//float类型强制转换long类型 
		    char c=(char)97.14;//double类型强制转换char类型
		    System.out.println("45.23强制转换成int的结果:"+a);//输出45.23强制转换成int的结果的值
		    System.out.println("456.6f强制转换成int的结果:"+b);//输出456.6F 强制转换成long的结果的值
		    System.out.println("97.14强制转换成int的结果:"+c);//输出97.14 强制转换成 char的结果的值
	}

}

2.5 运算符

      运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。提供了丰富的运算符,如赋值运算符、算术运算符和比较运算符等。本节将向读者介绍这些运算。 

2.5.1 赋值运算符

 1.赋值运算符以符号“=”表示,它是一个双目运算符(对两个操作数做处理),其功能是将右边操作数所含的值赋给左边的操作数。

int a=100; //该表达式是将100赋值给变量a

2.左边的操作数必须是一个量, 而右边的操作数则可以是变量(如a、number)、 常量(如123、‘book’)、有效的表达式(如45*12)。

public class EqualsSign {//创建EqualsSign类
	public static void main(String[] args) {//主方法
			     int a,b,c=11;//声明整型变量a,b,c
			     a=32;//将32赋值给变量a
			     c=b=a+4;//将a与4的和先赋值给变量b,再赋值给变量c
			     System.out.println("a="+a);//输出a的值
			     System.out.println("b="+b);//输出b的值
			     System.out.println("c="+c);//输出c的值
	}

}

 

2.5.2 算术运算符

Java中的算术运算符主要有+(加号)、-(减号)、*(乘号)、/(除号)、%(求余),它们都是双目运算符。

 算术运算符

运算符说明实例结果
+12.45f+1527.45
-4.56-0.164.4
*5L*12.45f62.25
/7/23
%取余12%102

 其中,“+”和“_”运算符还可以作为数据的正负符号,如+5、-7。

注意:在进行除法和取余运算时,0不能做除数。

public class ArithemticOperator {//创建ArithemticOperator类
	public static void main(String[] args) {//主方法
		float num1 = 45.2f;//num1赋值为45.2f
		  int num2 = 120;//num2赋值为120
		  int num3 =17, num4=10;//num3赋值为17,num4赋值为10
		  System.out.println("num1+num2的和为:"+(num1+num2));//输出num1+num2的和的值
		  System.out.println("num1-num2的差为:"+(num1-num2));//输出num1+num2的差的值
		  System.out.println("num1*num2的积为:"+(num1*num2));//输出num1+num2的积的值 
		  System.out.println("num1/num2的商为:"+(num1 /num2));//输出num1+num2的商的值
		  System.out.println("num3/num4的余数为:"+(num3%num4));//输出//输出num1+num2的余数的值
	}
}

 

2.5.3 自增和自减运算符

 1.自增和自减运算符是单目运算符,可以放在变量之前,也可以放在变量之后。自增和自减运算符的作用是使变量的值增1或减1。

public class AutoIncrementDecreasing {//创建AutoIncrementDecreasing类
	public static void main(String[] args) {//主方法
		int a =1;//创整型量初始值为1
		  System.out.println("a="+a);//输出此时a的值 
		  a++;
		  // a自增+1
		  System.out.println("a++="+a);//输出此时a的值 
		  a++;
		  // a自增+1
		  System.out.println("a++="+a);// 输出此时a的值 
		  a++;
		  //a自增+1
		  System.out.println("a++="+a);// 输出此时a的值 
		  a--;
		  //a自减-1
		  System.out.println("a--="+a);// 输出此时a的值
	}

}

 

 2.自增自减运算符摆放位置不同,增减的操作顺序也会随之不同。前置的自增、自减运算符会先将变量的值加1 (减1),再让该变量参与表达式的运算。后置的自增、自减运算符会先让变量参与表达式的运算,再将该变量加1 (减1)。

2.5.4 关系运算符

 关系送算符属于双目运算符,用来判断一个操作数与另外一个操作数之间的关系。关系运算符的计算结果都是布尔类型的。

运算符说明实例结果
==等于2==3false
<小于2<3true
>大于2>3false
<=小于等于5<=6true
>=大于等于7>=7true
!=不等于2!=3ture
public class RelationalOperator {//创建RelationalOperator类
	public static void main(String[] args) {//主方法
		int num1 =4,num2=7; //声明int型变量num1,并赋值4,声明int型变量num2,并赋值7
		  int num3 =7; //声明int型变量num3,并赋值7
		  System.out.println("numl<num2 的结果:"+(num1 < num2));//输出numl<num2 的结果的值
		  System.out.println("numl>num2 的结果:"+(num1 > num2));//输出numl>num2 的结果的值
		  System.out.println("num1==num2的结果:"+(num1 ==num2));//输出numl==num2 的结果的值
		  System.out.println("numl!=num2 的结果:"+(num1 != num2));//输出numl!=num2 的结果的值
		  System.out.println("numl<=num2的结果:"+(num1 <= num2));//输出numl<=num2 的结果的值
		  System.out.println("num2>=num3的结果:"+(num2>= num3));//输出numl>=num2 的结果的值
	}

}

 

2.5.5 逻辑运算符 

1. 逻辑运算符是对真和假这两种逻辑值进行运算,运算后的结果仍是一个逻辑值。逻辑运算符包括&& (逻辑与)、 II (逻辑或)、! (逻辑非)。逻辑运算符计算的值必须是boolean 型数据。在逻辑运算符中,除了“!”是单目运算符之外,其他都是双目运算符。

 逻辑运算符

运算符含义举例结果
&&逻辑与A&&B(对)与(错)=错
||逻辑或A||B(对)或(错)=对
逻辑非!A不(对)=错

 逻辑运算符的运算结果

A

B

A&&B

A||B

!A

ture

ture

ture

ture

false

ture

false

false

ture

false

false

ture

false

ture

ture

false

false

false

false

ture

 2.逻辑运算符与关系运算符同时使用,可以完成复杂的逻辑运算。 

public class LogicalAndRelational {//创建LogicalAndRelational类
	public static void main(String[] args) {//主方法
		int a = 2;      //声明int型变量a
		  int b =5;      //声明int型变量b
		  boolean result =((a >b) && (a != b));//声明boolean型变量,用于保存应用逻辑运算符“&&”后的返回值
		  boolean result2 = ((a > b) || (a !=b));// 声明boolean 型变量,用于保存应用逻辑运算符“||”后的返回值
		  System.out.println(result);   // 将量result 输出 
		  System.out.println(result2);  //将变量result2输出
	}

}

 

2.5.6 位运算符

       位运算的操作数类型是整型,可以是有符号的也可以是无符号的。位运算符可以分为两大类:位逻辑运算符和位移运算符。

运算符

含义

举例

&

a&b

|

a|b

~

取反

~a

^

异或

a^b

<<

左移位

a<<2

>>

右移位

b>>4

>>>

无符号右移位

x>>>2

1.位逻辑运算符

        位逻辑运算符包括&、|、^和~,前三个是双目运算符,第四个是单目运算符。

A

B

A&B

A|B

A^B

~A

0

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

1

1

1

1

1

1

0

1.位逻辑与实际上是将操作数转换成二进制表示方式,然后将两个二进制操作数对象从低位(最右边)到高位对齐,每位求与,若两个操作数对象同一位都为1,则结果对应位为1,否则结果对应位为0。
2.位逻辑或实际上是将操作数转换成二进制表示方式,然后将两个二进制操作数对象从低位(最右边)到高位对齐,每位求或,若两个操作数对象同一位都为0, 则结果对应位为0,否则结果对应位为1.
3.位逻辑异或实际上是将操作数转换成二进制表示方式,然后将两个二进制操作数对象从低位(最右边)到高位对齐,每位求异或,若两个操作数对象同一位不同时,则结果对应位为1,否则结果对应位为0。
4.取反运算符,实际上是将操作数转换成二进制表示方式,然后将各位二进制位由1变为0,由0变为1。

A

B

A&B

A|B

A^B

ture

ture

ture

ture

false

ture

false

false

ture

ture

false

ture

false

ture

ture

false

false

false

false

false

public class LogicalOperator {//创建LogicalOperator类
	public static void main(String[] args) {//主方法
		short x = ~123;       //给short x 赋值
		  System.out.println("12与8的结果为: " + (12 & 8));  //位逻辑与计算整数的结果
		  System.out.println("4或8的结果为: " + (4|8));      //位逻辑与计算整数的结果
		  System.out.println("31异或22的结果为: " + (31^ 22));  //位逻辑异与计算整数的结果
		  System.out.println("123取反的结果为: " + x);          //位逻辑取反与计算整数的结果
		  System.out.println("2>3与4!-7的与结果: " + (2 >3 &4 != 7));   //位逻辑与计算布尔值的结果
		  System.out.println("2>3与4!-7的或结果: " + (2 > 3 | 4 != 7));  //位逻辑与计算布尔值的结果
		  System.out.println("2<3与4!=7的与异或结果: " + (2 < 3 ^ 4 != 7));  //位逻辑与计算布尔值的结果
	}

}

 

 2.位移运算符

移位运算有三个,分别是左移<<、 右移>>和无符号右移>>>,这三个运算符都是双目的。

(1)左移是将一个二进制操作数对象按指定的移动位数向左移,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。左移相当于乘以2的幂。

(2)右移是将一个二进制的数按指定的位数向右移动,右边(低位端)滋出的位被丢弃,左边(高位端)用符号位补充,正数的符号位为0,负数的符号为1.右移位运算相当于除以2的幂。

(3)无符号右移是将一个二进制的数按指定的位数向右移动,右边(低位端)溢出的位被丢弃,左边(高位端)一律用0填充,运算结果相当于除以2的幂。

public class BitwiseOperator1 {//创建BitwiseOperator1类
	public static void main(String[] args) {//主方法
		int a = 24;//定义a的值
		   System.out.println(a +"右移两位的结果是:"+ (a >> 2)); //输出a右移两后的值
		   int b = -16;//定义b为负数
		   System.out.println(b+"左移三位的结果是:"+ (b << 3));//输出b左移三后的值
		   int c = -256;//定义负数c
		   System.out.println(c+"无符号右移2位的结果是:"+ (c >>> 2));//输出c无符号右移2位的结果
	}

}

public class BitwiseOperator2 {//创建BitwiseOperator2类
	public static void main(String[] args) {//主方法
		byte a = (byte)(-32 >>> 1);//yete无符号右移
		   System.out.println("byte无符号右移的结果:" + a);//输出byte无符号右移的结果的值
		   short b=(short) (-128 >>> 4); //short无符号右移
		   System.out.println("short无符号右移的结果:" + b);//输出short无符号右移的结果的值
	}

}

2.5.7 复合赋值运算符

      和其他主流编程语言一样, Java 中也有复合赋值运算符。所谓的复合赋值运算符,就是将赋值运算符与其他运算符合并成个运算符来使用,从而同时实现两种运算符的效果。

2.5.8 三元运算符 

 三元运算符的使用格式为:

条件式?值1:值2

三元运算符的运算规则为:若条件式的值为truc,则整个表达式取值1,否则取值 2

boolean b = 20<45?ture:false;

2.5.9 圆括号

 圆括号可以提升公式中计算过程的优先级,在编程中常用,使用圆括号更改运算的优先级,可以得到不同的结果。

2.5.10 运算符优先级

1.Java中的表达式就是使用运算符连接起来的符合Java规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到低的顺序依次是增量和减量运算、算术运算、比较运算、逻辑运算、赋值运算。

2.如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理。

优先级描述运算符
1括号0
2正负号+、-
3单目运算符++、--、!
4乘除*、/、%
5加减+、-
6移位运算>>、>>>、<<
7比较大小<、>、>=、<=
8比较是否相等==、! =
9按位与运算&
10按位异与运算^
11按位或运算|
12逻辑与运算&&
13逻辑或运算||
14三目运算符?:
15赋值运算符=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值