Day04 (do)while for ++

循环结构

2.1 while

//while格式
/*         while(boolean表达式){
    	  *     表达式成立时 执行的代码块
    	  * }
*/
		int  k=100;
		while(k<1000){
			int a=k%10;
			int b=k/10%10;
			int c=k/100;
			int sum=a*a*a+b*b*b+c*c*c;
			if(sum==k){
				System.out.println(k);
			}
			k++; //迭代语句
		}	

2.2 for

循环三要素:循环条件 循环代码 迭代语句

/*for格式:
		 *for(初始化语句;条件表达式;迭代语句){
		 *    循环执行的代码
		 *}
		 *初始化语句:定义变量 给变量赋值的语句
		 * 
		 * */
int a=1;
for(System.out.println("初始化语句a="+a); a<=10;  System.out.println("迭代语句:::a="+a)) {
    System.out.println("循环执行的代码:::a="+a);
    a++;
}

for和while完全等价

int b=1;//初始化语句
while(b<10) {
    System.out.println("b="+b);
    b++;//迭代语句
}

int c=1;//初始化语句
for(;c<10;) {
    System.out.println("c="+c);
    c++;//迭代语句
}

//和上面 完全相同:
for(int d=0;d<10;d++) {
    System.out.println("d="+d);
}

//初始化语句 迭代语句  条件表达式都可以省略;	条件表达式不写 默认是true

2.3 do while

/*格式:
		 * do{
		 *     循环体
		 * }while(条件表达式);
		 * 
		 * while(条件表达式){
		 *      循环体
		 * }
		 * 
		 * */
//while------------------------------
int n=11;
while(n<=5) {//先判断条件 条件成立再执行
    System.out.println("while::::n="+n);
    n++;
}
//do while--------------------------------
n=11;
do {//先执行  再判断
    System.out.println("do   while::::n="+n);
    n++;
}while(n<=5);//条件成立,再执行

//当开始条件就成立时  while和do while没有区别
//do while保证 条件不管是否成立  循环体至少执行一次

break和continue

break:
使用场景1:用在switch中:结束switch结构
使用场景2:用在循环中:结束本层for循环
continue:
使用场景:用在循环中:结束本次for循环 继续n++ 下次循环

for (int i = 0; i <=5; i++) {
    for (int j = 0; j <=5; j++) {
        if(j==3) {
            //break;//结束的是内层for循环
        }
        System.out.println(i+":::"+j);
    }
    if(i==3) {
        break;//结束的是外层for循环
    }
}

//面试题:怎么在内层for循环中结束外层for循环-----------
for (int i = 0,k=0; i <=5; i++) {
    for (int j = 0; j <=5; j++) {
        if(j==3) {
            k++;
            break;//结束的是内层for循环
        }
        System.out.println(i+":::"+j);
    }
    if(k!=0) {
        break;
    }
}

//判断一个数是不是质数---------------------------
{
    int n=1;
    int m;
    for (m=2;m<n;m++) {
        if(n%m==0) {
            break;
        }
    }
    if(m==n) {
        System.out.println(n+"是质数!");
    }
}

//或
{
    int n=31;
    boolean b=true;
    for (int m = 2; m < n; m++) {
        if(n%m==0) {
            b=false;
            break;
        }
    }
    if(b&&n!=1) {
        System.out.println(n+"是质数!");
    }
}

阶段总结

/*
    	 *1 jdk jre jvm
    	 *   jvm java虚拟机
    	 *   jre=jvm+java基础类库
    	 *   jdk=jre+开发工具(javac.exe)
    	 *2 jdk环境变量配置
    	 *3 数据类型: byte   short  int long  char  float double  boolean 
    	 *4 数据类型转换: 1 :高精度变量=低精度数据;  float f=1;
    	 *               2: byte short char类型的变量=int常量值;  byte b1=1;
    	 *               3: 低精度变量=(低精度变量的类型)高精度数据;
    	 *5 运算符:
    	 *     算术运算符: + - * / % ++ -- 
    	 *     比较运算符: > >= < <= != ==
    	 *     赋值运算符: =  += -= *= /= %=
    	 *     逻辑运算符:&& & | || ^ !
    	 *     位运算符: & | ^ <<  >>
    	 *     三元运算符: boolean?值1:值2
    	 *     
    	 *6 流程控制
    	 *     顺序结构:
    	 *     选择结构:if/else  switch
    	 *     循环结构:while  for  dowhile
    	 *     跳转:
    	 * */

补充1:&&和&的区别

		/*&&和&:两边只要有一个false结果就是false
		 *||和|:两边只要有一个true结果就是true
		 *
		 *&和&&的区别:
		 *相同之处:
		 *   都可以作为逻辑运算符:结果一样: 两边只要有一个false 结果就是false
		 *不同之处:
		 *   1 &单与 可以作为位运算符  操作的是整数二进制
		 *   2 &&和||会逻辑短路:当通过第一个式子就知道结果时  不再执行第二个式子  直接给出结果
		 *
		 *铁打的面试题回答技巧
		 *a和b的区别:
		 *1 概念简述:a是xx b是xx
		 *2 a和b的相同之处
		 *3 a和b的不同之处
		 *     3.1:
		 *     3.2:
		 *     3.3:
		 * */

补充2:++参加混合运算

// ++ 和--的混合运算------------------------
{
    int a=5;
    int b;
    b=(++a)+1+(a++)+(--a)+a+(a--);
    //a=5;
    //  b= 6 +  1+ 6   +  6 + 6+ 6
    //++在前  先自增  拿自增后的值参加本次运算
    //++在后  先拿当前值参加本次运算  然后自增
    System.out.println(a+":"+b);//5:31
}

{
    int a=1;  
    a=a++;//int temp=a; a++;a=temp;
    //a=a;a++;错误认知
    int b=a++;// b=a; a++;
    //int temp=a; a++; b=temp;
    System.out.println("a="+a+";b="+b);//a=2;b=1

}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值