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

---------------------- 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+"月是秋季");
		else
			System.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=2	2*2=4	
//1*3=3	2*3=6	3*3=9	
//1*4=4	2*4=8	3*4=12	4*4=16	
//1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
//1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
//1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
//1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
//1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值