黑马程序员 java学习笔记——基础语法(2)

来源:互联网 发布:公司屏蔽游戏端口 编辑:程序博客网 时间:2024/05/05 10:45

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

if语句

if语句的书写格式如下:

1、if(条件表达式){
          执行语句;
      }

2、if(条件表达式){
          执行语句;
      }else{
          执行语句;
      }

3、if(条件表达式){
          执行语句;
      }else if(条件表达式){
          执行语句;
      }else{
          执行语句;
      }


示例代码如下:

class Demo{public static void main(String[] args){int x=4;if(x>12||x<1)System.out.println(x+"月份不存在");else if(x>3&&x<=5)System.out.println(x+"月是春季");else if(x>6&&x<=8)System.out.println(x+"月是夏季");else if(x>9&&x<=11)System.out.println(x+"月是秋季");elseSystem.out.println(x+"月是冬季");}}//4月是春季


三元运算符

三元运算符的书写格式如下:
(条件表达式)?表达式1:表达式2

class Demo{public static void main(String[] args){int num=60;int n1=num&15;//如果n1>9,则将打印n1-10+'A'的结果//否则打印n1的值System.out.println(n1>9?(n1-10+'A'):n1);//60的二进制数向右移动4位,左边加0补全int temp=60>>>4;int n2=temp&15;//如果n2>9,则将打印n2-10+'A'的结果//否则打印n2的值System.out.println(n2>9?(n2-10+'A'):n2);}}

好处:简化if else代码
弊端:因为是一个运算符,所以运算完必须要有一个结果

switch语句

switch语句的书写格式如下:

switch(表达式){
           case 取值1:
                     执行语句;
                     break
           case 取值:
                   执行语句;
                   break
       …………
           default:
                   执行语句;
}

switch语句的特点

1、switch语句选择的类型只有四种,byte,short,int,char。jdk7.0时增加了字符串,jdk5.0
时增加了枚举
2、case之间与default没有顺序,先执行第一个case。没有匹配的case执行default。
3、结束switch语句的两种情况,遇到break,执行到switch语句结束。
4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语
句,直到遇到break或者switch结尾结束。

示例代码如下:

class Demo{public static void main(String[] args){int x=4;switch(x){case 3:case 4:case 5:System.out.println(x+"月是春季");break;case 6:case 7:case 8:System.out.println(x+"月是夏季");break;case 9:case 10:case 11:System.out.println(x+"月是秋季");break;case 12:case 1:case 2:System.out.println(x+"月是冬季");break;}}}


if语句与switch语句的应用场景

1、如果判断的具体数值不多,而是符合byte、short、int、char这四种类型,虽然两个语句都可以,建议用switch语句,因为效率高。
2、其他情况,对区间判断,对结果为Boolean类型判断,使用if,if的使用范围最广。


while语句

while语句的书写格式

while(条件表达式){
循环体(执行语句)
}

示例代码如下:

class Demo{public static void main(String[] args){int x=0;while(x<5){System.out.println("x="+(++x));}}}//output://x=1//x=2//x=3//x=4//x=5


while语句的特点:先判断后执行


do while语句

do while语句的书写格式:

do{
         执行语句;
}while(条件表达式)

示例代码如下:

class Demo{public static void main(String[] args){int x=0;do{System.out.println("x="+(++x));}while(x<0);}}//output://x=1


for循环语句

for循环的书写格式:

for(初始化表示式;循环条件表达式;循环后的操作表达式){
         执行语句;
}

示例代码如下:

class Demo{public static void main(String[] args){//打印三句hello java!for(int i=0;i<3;i++){System.out.println("hello java!");}}}//output://hello java!//hello java!//hello java!


class Demo{public static void main(String[] args){int x=0;for(System.out.println("a");x<3;System.out.println("c"),x++){System.out.println("b");}}}//output://a//b//c//b//c//b//c

for循环的特点:

1、条件表达式的类型必须为boolean
2、初始化表达式只用一次,一旦不满足条件表达式,循环结束。

for循环与while循环的区别:

1、变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效。for语句执行完毕,该变量从内存中被释放。
2、for和while可以进行互换。如果需要定义循环增量,用for更为合适。

循环练习题

计数器思想:通过一个变量记录住数据的状态变化,也需要通过循环完成。
/* * 需求:求1——50之间7的倍数的个数,并打印 * */class Demo{public static void main(String[] args){int count=0;for(int i=1;i<=100;i++){if(i%7==0){count++;System.out.println(i);}}System.out.println("count="+count);}}//output://7//14//21//28//35//42//49//count=7

累加思想:通过变量记录循环操作后的结果
/* * 需求:求出1-10的累加和 * */class Demo{public static void main(String[] args){int sum=0;for(int i=1;i<=10;i++){sum=sum+i;}System.out.println(sum);}}//output:55

打印如下图案:
*****
****
***
**
*
class Demo{public static void main(String[] args){for(int i=0;i<5;i++){for(int j=i;j<5;j++){  //j=i用到了计数器思想System.out.print("*");}System.out.println();}}}
打印九九乘法表
class Demo{public static void main(String[] args){for(int i=1;i<10;i++){for(int j=1;j<=i;j++){System.out.print(j+"*"+i+"="+i*j+"\t");}System.out.println();}}}//1*1=1//1*2=22*2=4//1*3=32*3=63*3=9//1*4=42*4=83*4=124*4=16//1*5=52*5=103*5=154*5=205*5=25//1*6=62*6=123*6=184*6=245*6=306*6=36//1*7=72*7=143*7=214*7=285*7=356*7=427*7=49//1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64//1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

打印如下图案:
-----*
----* *
---* * *
--* * * *
-* * * * *
class Demo{public static void main(String[] args){for(int i=0;i<5;i++){for(int j=i;j<5;j++){System.out.print("-");}for(int k=0;k<=i;k++){System.out.print("* ");}System.out.println();}}}



break与continue

break语句:应用范围,选择结构和循环结构,跳出当前循环。
continue语句:只能用于循环结构。结束本次循环,结束下次循环。
break和continue单独存在时,下面不可以有任何语句,因为运行不到,会报错。
for关键字前面可加字符串,这是for语句的名字,在break与continue可跟在其后,跳出外循环。

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------


0 0
原创粉丝点击