关于java语言中的数据类型
byte 1byte(8bit) -128-127
short 2byte
int 4byte
long 8byte
整数有3中表现形式:
十进制
八进制 以0开始
十六进制 以0x开始
在java中基本类型可以相互转换,boolean类型比较特殊不可以转换成其他类型
转换分为自动类型提升和强制类型转换:
自动类型提升:容量小的类型会默认转换为容量大的类型
byte -> short -> int -> long -> float -> double
char
byte,short,char之间计算不会相互转换,首先先转成int
强制类型转换:
将容量大的类型转换成容量小的类型,需要进行强制转换
注意:只要不超出范围可以将整型值直接赋值给byte,short,char
在多种类型混合运算过程中,首先将所有数据转换成容量大的那种,再运算
关于java中的布尔类型
1.boolean类型的数据只有两个值:true/false,没有1和0
2.boolean类型的数据主要用在逻辑运算和条件控制语句中
java程序分为编译期和运行期
关系运算符
>
>= 大等于
< 小于
<= 小等于
== 判断是否相等(基本数据类型)
!= 不等于
关系运算符的运算结果一定是boolean类型
布尔运算符(逻辑运算符)
& 逻辑与
| 逻辑或
! 逻辑非
^ 逻辑异或
&& 短路与
|| 短路或
短路:后边那个表达式不执行
什么时候发生短路与? 第一个算子结果是false的时候
什么时候发生短路或?第一个算子结果是true的时候
布尔运算符两边的(算子)必须是布尔类型,整个表达式的运算结果也是一个布尔类型
关于赋值运算符
基本的赋值运算符
=
扩展的赋值运算符
+= 追加
-=
*=
/=
%=
基本运算符和扩展运算符的区别?
扩展运算符不会改变变量本身的数据类型
关于字符串连接运算符
+运算符可以:
1.做加法运算(+两边只要都是数字类型,一定是加法运算)
2.字符串连接(+两边任意一端只要是字符串类型,则一定是字符串连接)
条件运算符(三目运算符)
?:
语法:
boolean表达式?表达式1:表达式2
boolean表示式的结果是true,则整个表达式的结果就是表达式1的结果,相反则是表达式2的结果
关于条件控制语句:流程控制语句if…else
1.语法
第一种结构:
if(boolean表达式){
java语句;
}
第二种结构:
if(boolean表达式){
java语句;
}else{
java语句;
}
第三种结构:
if(boolean表达式){
java语句;
}else if(boolean表达式){
java语句;
}else if(boolean表达式){
java语句;
}
第四种结构:
if(boolean表达式){
java语句;
}else if(boolean表达式){
java语句;
}else if(boolean表达式){
java语句;
}else{
}
注意:在if语句中只要有一个分支执行,则整个if语句结束
上面的结构2.4可以保证一定会有一个分支语句执行,因为他们都有else语句。
!! else 有隐藏条件
关于switch语句:
1.语法:
switch(int类型){
case int类型:
java语句;
java语句;
break;
case int类型:
java语句;
java语句;
break;
case int类型:
java语句;
java语句;
break;
default:
java语句;
}
注意:break;语句可以没有,default也可以没有
break语句如果没有,则发生case穿透现象
switch后面的括号可以填写byte/short/char类型,因为可以自动转换
jdk7.0可以是String类型
case可以合并
for 循环:
语法:
for(表达式1;表达式2;表达式3){
java语句
}
表达式1是初始化表达式,最先执行,只执行一次
表达式2必须是boolean类型的表达式
for循环开始执行,先执行表达式1,并只执行一次,进而判断表达式2的结果,如果是true
则执行java语句,再执行表达式3,然后再判断表达式2的结果,知道表达式2的结果是false
则for循环结束。
关于while循环
语法
while(boolean表达式){
java语句;
}
该循环的执行次数:0-N
关于do…while…
语法:
do{
java语句;
}while(boolean表达式);
该循环的执行次数:1-N
break语句:
可以用在switch语句中,结束分支语句
break;语句可以出现在循环当中,默认情况下结束离它最近的一个循环
continue语句:可以用来结束当前一次循环,直接进入下一次循环继续执行通过break可以指定结束某个循环(标签)
定义方法的语法:
[方法的修饰列表] 方法的返回值类型 方法名(方法的形参列表){
java语句;
}
1.[方法的修饰列表]是可选项 。暂时携程public static
2.方法的返回值类型,可以是java语言中的任何一种数据类型(基本数据类型和引用数据类型)
3.如果该方法执行结束之后,并没有任何返回值,那抹定义方法的时候,返回值类型写:void
4.方法名只要是合法的标识符即可
5.方法的形参参数列表,可以有参数,也可以没有参数,如果有多个参数的话使用”逗号”分开
6.如果一个方法的返回值的类型不是void,那抹在方法体中必须使用return语句来返回数据
方法的形式参数列表中起决定性作用的是参数的类型
参数的名字(局部变量的名字)是随意的只要是合法的标识符即可