首页 > 编程语言 >Java基础 -Day04

Java基础 -Day04

时间:2023-06-27 16:55:05浏览次数:46  
标签:Java int void 基础 System Day04 while 循环 static

Java基础 -Day04

For循环

  • 循环结构的4个要素:

    ①初始化条件

    ②循环条件----->只能是Boolean类型

    ③循环体

    ④迭代条件

  • 循环结构

    for(①;②;④){

    }

    执行过程:① - >② - >③ - >④ - >② - >③ - >④ -> ... -> ②

/*
输入两个正整数(m,n),求其最大公约数和最小公倍数
*/

import java.util.Scanner;

class ForTest2{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入正整数m:");
		int m = scan.nextInt();
		
		System.out.println("请输入正整数n:");
		int n = scan.nextInt();
		
		//最大公约数:
		//1.获取两个数中较小的值
		int min = (m <= n) ? m : n;
		//2.遍历
		for(int i = min;i >= 1;i--){
			if(m % i == 0 && n % i == 0){
				System.out.println("最大公约数为:" + i);
				break;//跳出循环
			}
			
		}
		
		//获取最小公倍数
		//1.获取两个数中的较大值
		int max = (m >= n) ? m : n;
		for (int i = max; i <= m * n; i++){
			if(i % m == 0 && i % n == 0){
				System.out.println("最小公倍数:" + i);
				break;
			}
		}
	}
}

While循环

  • 循环结构的4个要素:

    ①初始化条件

    ②循环条件----->只能是Boolean类型

    ③循环体

    ④迭代条件

  • 说明:

    1. 写while循环千万小心不要丢失迭代条件,一旦丢失,就可能造成死循环
    2. 我们写程序,要避免出现死循环
    3. for循环和while循环是可以相互转换的
      • 区别:for循环和while循环的初始化条件的作用域不同
  • 循环结构

    while(②){

    ​ ③;

    ​ ④;

    }

    执行过程:① - ② - ③ -④ -② - ③ -④ - ... - ②

    class WhileTest{
    	public static void main(String[] args){
    		//遍历100以内所有偶数
    		int = 1;
    		while(i <= 100){
    			if(i % 2 == 0){
    				System.out.println(i)
    			}
              	i++;
    		}
    	}
    }
    

DoWhile循环

  • 循环结构的4个要素:

    ①初始化条件

    ②循环条件----->只能是Boolean类型

    ③循环体

    ④迭代条件

  • do - while循环结构:

    do{

    ​ ③;

    ​ ④;

    }while(②);

    执行过程:① - ③ - ④ - ② - ③ - ④ - ... - ②

    说明:

    ​ 1.do-while循环至少会执行一次循环体!

    ​ 2.开发中,使用for和while循环更多一些。

class DoWhileTest{
	public static void main(String[] args){
		//遍历100以内所有偶数
		int = 1;
		do{
			if(i % 2 == 0){
				System.out.println(i)
			}
          	i++;
		}while(i <= 100)
	}
}

嵌套循环

  • 将一个循环放在另一个循环内,就形成了嵌套循环,for,while,do...while均可作为外层循环或内层循环
class BreakContinueTest{
	public static void main(String[] agrs){
		label:for(int i =1;i <= 4;i++){
			for(int j = 1; j <= 10;j++){
				if(j % 4 == 0){
					//break;//推出当前循环
					//continue;//默认跳出包裹此关键字最近的一层循环
					break label;//推出指定标识的for循环,continue也适用
					
				}
				System.out.print(j);
			}
			System.out.println();
		}
	}
}
class WhileTest1{
	public static void main(String[] args){
		for(int i = 1;i <= 9;i++){
			for(int j = 1;j <= i; j++){
				System.out.print(i + "*" + j + "=" + i*j + " ");
			}
			System.out.println();
		}
	}
}
//常见考题
//取正整数100内的质数(也称素数)
class WhileTest1{
	public static void main(String[] args){
		boolean isFlag = true;//写在外部内存占的少
      	int count = 0;//计算质数的个数
      	//获取当前时间距离1970-01-01 00:00:00 的毫秒数
      	long start = System.currentTimeMillis();
		for(int i = 2;i <= 100000;i++){
          	//优化二:对本身是质数的自然数是有效的
			for(int j = 2;j <= Math.sqrt(i);j++){
				if(i % j == 0){
					isFlag = false;
                  	break;//优化一:只对本身非质数的自然数是有效的
				}
			}
			if(isFlag){
				//System.out.println(i);
                count++;
			}
			//重置isFlag
			isFlag = true;
		}
      
      	long end = System.currentTimeMillis();
      	System.out.println("质数的个数:" + count);
        System.out.println("计算所花的时间为:" + (end - start));
	}
}

标签:Java,int,void,基础,System,Day04,while,循环,static
From: https://www.cnblogs.com/lurenj/p/17509340.html

相关文章

  • Java四种引用类型
    强引用:在Java中最常用的就是强引用,把一个对象赋值给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远不会被用到,JVM也不会回收。因此强引用时造成Java内存泄漏的主要原因之一。软引用:需要用S......
  • python基础33 继承、组合
    单继承下的查找循序单继承的意思是一个类只继承一个类classD():passclassC(D):passclassB(C):passclassA(B):pass如何查找继承下的属性和方法呢classFoo():def__f1(self):#_Foo__f1()print("Foo.f1")deff2(self):......
  • ubuntu下java安装
    首先看自己的系统版本是什么,可以通过:uname-a的命令来查看,比如我的系统`22.04.1-Ubuntu XXX x86_64x86_64x86_64GNU/Linux`。去官网下载相关的包,地址:https://www.oracle.com/java/technologies/downloads/这里我们的是x86_64,选择x64CompressedArchive这个包下载。下载......
  • django基础
    创建django目录"d:\python"startproject项目名称搭建app#创建apppythonmanage.pystartappapp01#在setting上注册appINSTALLED_APPS=['app01.apps.App01Config',]#在views上写逻辑defindex(request):returnHttpResponse("欢迎使用django&q......
  • 简单谈谈JAVASCRIPT高级特性
    js中没有class的概念,我们可以使用function来模拟。惰性载入函数例如我们通常使用以下的js代码创建ajax:functioncreateXHR(){varxhr=null;try{xhr=newXMLHttpRequest();//FF、Opera、Safari、IE7}catch(e){handlerError(e);try{xhr=newActiveXOb......
  • Java内存区域
    JVM内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【Java堆、方法区】、直接内存。线程私有数据区域生命周期与线程相同,依赖用户线程的启动/结束而创建/销毁(在HotspotVM内,每个线程都与操作系统的本地线程直接映射,因此部分内存区域的存/否跟随本......
  • java线程监控-jstack+jvisualvm
    Java线程监控一.Jstasck1.查找进程ps-ef|greptomcat-oa2.使用jstack监控jstack2429二、jvisualvm1.tomcat应用环境配置1.1tomcat环境配置修改tomcat中,catalina.sh文件cd/usr/src/tomcat-pinter/binvicatalina.sh在第二行添加如下:JAVA_OPTS="-Dcom.sun.mana......
  • Building a Dice Game using JavaScript Javascript构建一个dice game 项目
    WewillbebuildingaDiceGameProjectusingHTML,CSS,andJavaScript.TheDiceGameisbasedonatwo-player.Bothplayersrollthediceandtheplayerwhogetsthehighestphasevaluewillwinthegame.ImagesofDicePhases: Thelistofdicephasesi......
  • Selenium基础:cookie javascript调用 屏幕截图 09
    1、cookie操作 绕过登录get_cookies():以字典形式返回cookie所有信息get_cookies(name):返回cookie字典中key为name的值add_cookie(cookie_dict):手动添加cookie。cookie_dict为字典数据格式,cookie_dict中必须有name和value值delete_cookie(name):删除cookie字典中key为name的......
  • Excel JavaScript API for PivotTables
    WorkwithPivotTablesusingtheExcelJavaScriptAPI-OfficeAdd-ins|MicrosoftLearnPivotTablesstreamlinelargerdatasets.Theyallowthequickmanipulationofgroupeddata.TheExcelJavaScriptAPIletsyouradd-increatePivotTablesandinteractw......