一:java基础语法之强制类型转换,
语法形式如:数据类型(引用数据类型) 变量名称 = (强制数据类型) 其他变量或变量值;
例子:int i = (int) (1*0.11);
二:java基础语法之运算符和表达式,
3.1算术运算符和表达式
算术运算符和表达式
1.算术运算符
算术运算表达式由算术运算符和一个或者两个操作数组成。算术运算符分为一元和二元两种,
表3-1 Java算术运算符
注意:表3-1中,“+”也可以作为字符串连接运算符。
2.算术运算符的优先级
算术运算符的优先级顺序为:++和--运算,以及一元加、减的优先级别最高;其次是*、/和%运算;+和-的优先级最低。
3.2关系运算符和表达式
关系运算符和表达式
关系运算表达式由两个操作数和关系运算符组成,实现两个操作数之间关系的比较,比较结果以布尔类型存储表3-2给出了Java关系运算符。
3.3布尔运算符和表达式
布尔运算符和表达式
1.布尔逻辑运算符
布尔运算表达式由关系表达式和布尔运算符组成,实现对关系表达式的值进行布尔逻辑运算,运算结果也是布尔型。表
2.关系运算符和布尔逻辑运算符的优先级关系
!优先级最高,其次是>、>=、<、<=,再次是==和!=,然后是&&,优先级最低的是| |。编写程序的时候,使用括号可以改变优先级次序。
3.“短路”运算方式
对于&&和| |运算符,Java语言采用短路方式运算,基本原则如下。
(1)运算符&&左边的表达式值若为false,则不用计算右边的表达式的值,整个表达式值为false。
(2)运算符| |左边的表达式值若为true,则不用计算右边的表达式的值,整个表达式值为true。
3.4 位运算符和表达式
位运算符和表达式
1.位运算符
位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算。位运算符可以分为逻辑运算符(包括~、&、|和^)及移位运算符(包括>>、<<和>>>)。表3-4给出了Java位运算符。
在进行位运算时,需要注意以下几点。
(1)>>>和>>的区别是:在执行运算时,>>>运算符的操作数高位补0,而>>运算符的操作数高位移入原来高位的值。
(2)右移一位相当于除以2,左移一位(在不溢出的情况下)相当于乘以2;移位运算速度高于乘除运算。
(3)若进行位逻辑运算的两个操作数的数据长度不相同,则返回值应该是数据长度较长的数据类型。
(4)按位异或可以不使用临时变量完成两个值的交换,也可以使某个整型数的特定位的值翻转。
(5)按位与运算可以用来屏蔽特定的位,也可以用来取某个数型数中某些特定的位。
(6)按位或运算可以用来对某个整型数的特定位的值置l。
2.补码的概念
在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。
(l)正数的最高位为0,其余各位代表数值本身(二进制数)。
(2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。
3.位运算符的优先级
~的优先级最高,其次是<<、>>和>>>,再次是&,然后是^,优先级最低的是|。
3.5赋值运算符和表达式
赋值运算符和表达式
赋值运算符由变量和表达式组成,一般格式是:
<变量><赋值运算符><表达式>
赋值运算符包括赋值运算符(=0)和扩展赋值运算符。表3-5给出了Java赋值运算符。
Java赋值运算符
注意:如果在赋值运算符两侧的类型不一致时,若右侧变量类型的级别高,则需要进行强制类型转换。
3.6条件运算符和表达式
条件运算符和表达式
条件表达式由3个操作数和“?”、“:”组成,一般形式是:
opl?opt:op3
其中op1是关系或者布尔逻辑表达式,该值若为真,则计算op2表达式的值,并作为整个表达式的结果;若为假,则计算op3表达式的值,并作为整个表达式的结果。
3.7运算符优先级
运算符优先级
Java语言从左向右计算表达式的值。当一个表达式中有多个运算符的时候,运算的次序由表3-6所示的优先级顺序决定。
表3-6 Java运算符优先级别表
在表3-6中,优先级次序越小,优先级越高,在表达式中,同一级中的运算符按照从左到右的顺序执行。
注意:在表3-6中出现了一些在前面内容中没有介绍的运算符:下标运算符[ ],实例运算符instanceof,内存分配运算符new,强制类型转换符(类型)等,都属于Java运算符的集合。
3.8复杂表达式和表达式语句
复杂表达式和表达式语句
复杂表达式是含有两个或者两个以上运算符的表达式。
注意:表达式可以只由一个常量或者一个变量构成,此时表达式的值就是该常量或者变量的值。
表达式语句是指由表达式直接构成的语句,通常包括 3种。
(1)一元算数表达式(由+ +或者- -运算符构成)。
(2)在赋值表达式后面加上分号。
(3)无返回值的方法调用语句。
三:java基础语法之if分支,
例如
//第一种形式 if(boolean) { } //第二种形式 if(boolean) { //statement; } else { //statement; } //第三种形式 if(boolean) { //statement; } else if(boolean) { //statement; } else if(boolean) { //statement; } else if(boolean) { //statement; } else { //statement; }
四:java基础语法之for循环,
例如:
for(int i=0;i< count ; i++) { //some statement; }
五:java基础语法之while,break,continue,switch
break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do while中,主要用于中断目前的循环执行,break的例子您之前已经看过不少,这里不再举例。
continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环
for(int i = 1; i < 10; i++) { if(i == 5) { break; } System.ut.println("i = " + i); }
for(int i = 1; i < 10; i++) { if(i == 5) { continue; } System.out.println("i = " + i); }
break与continue还可以配合标签使用,例如本来break只会离开for循环,设定标签与程序块,则可以离开整个程序块