java学习day03

运算符

逻辑运算符

  &:逻辑与(并且)

  |:逻辑或(或者)

  &&:与,两边为真,结果才是真(短路与)

  ||:或,只要有一边为真,结果就是真(短路非)

  !:非,将结果取反

短路运算

&&:当左边为假时就不会再判断右边,直接输出结果

||:当左边为真时就不会判断右边,直接输出结果

扩展运算符

%=:将该运算符左边的数值除以右边的数值后取余,取余的结果赋值给左边变量本身

位运算符(二进制)

&:两个二进制数进行对比,位数都为1则输出1,否则输出0(可用于判断一个数是否为偶数)

|:两个二进制数进行对比,位数有1则输出1,否则输出0

^:两个二进制数进行对比,如果两个位数相同则输出0,否则输出1

~:取反,将位数取反,0变成1,1变成0

<<:左移

>>:右移

三目运算符

格式:

  布尔类型?y:z;

原理:如果布尔类型为true则执行y,否则执行z

优先级

当搞不清优先级时,使用小括号()小括号优先级高

字符串连接符

当“+”的一边出现String类型那么就会进行字符串的拼接

包机制

为了更好组织类,java提供了包机制,用于区别类名的命名空间

引入包语法:

  import package1[.package2…].(classname|*);

流程控制

选择结构

if选择结构

if单选泽结构

语法:

  

if(布尔表达式){
    //如果布尔表达式为true将执行的语句
}

if双选择结构

语法:

if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}

if多选择结构

语法:

if(布尔表达式1){
    //如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
    //如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
    //如果布尔表达式3的值为true执行代码
}else{
    //如果以上布尔表达式都不为true执行代码
}

注意:只要有一个条件分支执行了,就不会再往下执行,当分支中只有一条java语句时,可以省略大括号,但不建议这么做,if语句可以进行嵌套

switch多选择语句

语法:

switch(expression){
    case Value1:
        //语句
        break;//可选
    case Value2:
        //语句
        break;//可选
    default://可选
        //语句
}

break:用于结束switch语句

default语句:当所有case都没有匹配成功这个语句会执行

可选代表不是必须的,但如果没有可能会出现我们不想出现的结果

  如果没有break语句就会出现case穿透现象(当一条case匹配成功执行完语句块后不会跳出switch,而是继续执行下面的case语句,直到遇到break语句或者switch语句结束

  如果没有default语句会导致,最后可能没有任何信息输出

注意:switch语句中的expression必须是整型、字符型、字符串型、枚举中的一种

break和continue

break用于终止当前循环,跳出循环

continue终断当前循环进入下一次循环,并没有跳出循环

循环结构

while循环

语法:

while(布尔表达式){
//循环内容
}

只要布尔表达式为true,循环就会一直执行下去,直到遇到break

 do…while循环

语法

do{
//代码语句
}while(布尔表达式);

do…while循环至少会执行一次,do语句中的代码执行后再对while的布尔表达式进行判断

for循环

语法

for(初始化表达式;条件表达式(判断);更新表达式(迭代)){
    //初始化表达式可以不写
    //普通代码语句,无论是否嵌套其他代码,都是一个普通代码(循环体)
}

原理:

  最先执行初始化表达式,并且只执行一次,然后判断条件表达式是否为true,为true则执行循环体,为false则跳出循环,执行完循环体后执行更新表达式,然后在判断条件表达式,以此类推

forEach

forEach增强for循环

java5引入的一种主要用于遍历数组或集合

语法

for(声明语句:表达式){
//代码语句
}

例:

int[] numbers = {10,20,30,40,50};//定义了一个数值
//遍历数组
for(int x:numbers){
    System.out.print(x);
}

声明语句:声明新的局部变量,该变量类型必须要和需要遍历的数组或集合类型相同

表达式:要遍历的数组名或者集合名

while和for的相似性

本质上while循环和for循环原理相似

 for(初始化表达式;布尔表达式;更新表达式){
           循环体;
}
       
初始化表达式;
while(布尔表达式){
   循环体;
   更新表达式;       
}

 

上一篇:学习java——day03


下一篇:流程控制Day03—循环结构