记录生活中的点点滴滴

0%

进阶2

关于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语句来返回数据

方法的形式参数列表中起决定性作用的是参数的类型
参数的名字(局部变量的名字)是随意的只要是合法的标识符即可