java基础语法学习day05---初学者必看详解(代码片段)

A小码农 A小码农     2022-12-11     725

关键词:

java基础语法学习day05---初学者必看详解

1、循环结构

什么是循环

  • 循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性执行。
  • 循环的要素:
    • 循环体(相同或相似的语句)
    • 循环条件(继续执行循环的条件,某些情况下循环条件以循环次数的方式体现)

1.1 while循环

while语句的执行逻辑

  • 计算boolean表达式的值
  • 如果值为true则执行语句块;语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块;如此循环往复,直到boolean为false时退出while循环。

while语句的流程图

while语句用于处理循环逻辑

int age = 1;

while (age<=100)       System.out.println(“马上有钱”);
      age++;


System.out.println(“over”);

使用break语句跳出循环

break用在循环体中用于退出循环

int x=0; 
while ( x < 10 ) 
    if ( x == 5 ) 
        break;
    
    System.out.println(x);
    x ++ ;

练习:

  • 程序随机生成并存储一个整数;
    用户输入一个整数,程序给出与存储的数字“大”或“小”的比较结果提示;直到用户猜对数字为止;
    如果中途,用户希望结束程序,可以输入0退出。
import java.util.Scanner;
public class NumberGuess 
	public static void main(String[] args) 
		//生成一个随机数作为猜测的结果
		int num = (int) (Math.random() * 1000) + 1;

		//第一次猜测
		System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
		Scanner s = new Scanner(System.in);
		int guest = s.nextInt();

		//如果猜测错误,则继续
		while (guest!=num) 
			//输入为0,则退出循环;否则判断数字
			if(guest == 0)
				break;			
			 else if (guest > num) 
				System.out.println("太大了!");
			 else 
				System.out.println("太小了!");
			 
			System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
			guest = s.nextInt();
		

		//提示用户最终结果
		if(guest == num) 
			System.out.println("恭喜,你猜对了!");
		else
			System.out.println("真遗憾,下次再挑战吧!");
		
		s.close();


1.2 do-while循环

do-while语句的执行逻辑

  • 先执行语句块
  • 再计算boolean表达式的值,如果为true,再次执行语句块,如此循环往复,直到boolean表达式的值为false为止。
do
    语句块
 while ( boolean表达式) ;
说明:无论boolean表达式是否为true,都先执行一次语句块;

do-while语句的流程图

do-while语句用于处理循环逻辑

int pwd ;
do
	  System.out.print(“请输入密码”);
	  pwd = scanner.nextInt();
 while ( 123 != pwd) ;

while和do-while语句的区别

  • while和do-while语句的区别:
    • while循环先判断再执行;
    • do-while循环先执行一次,再判断;
    • 当初始情况不满足循环条件时,while循环一次都不会执行;do-while循环不管任何情况都至少执行一次。
      while和do-while语句的不同仅仅会体现在第一次就不满足条件的循环中;如果不是这样的情况,while和do-while可以互换。

练习

  • 程序随机生成并存储一个整数;
    用户输入一个整数,程序给出与存储的数字“大”或“小”的比较结果提示;直到用户猜对数字为止;
    如果中途,用户希望结束程序,可以输入0 退出
    使用 do-while语句实现。
import java.util.Scanner;
public class NumberGuess02 
	public static void main(String[] args) 
		//生成一个随机数作为猜测的结果
		int num = (int) (Math.random() * 1000) + 1;

		//准备输入
		Scanner s = new Scanner(System.in);
		int guest = -1;
		do
			System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
			guest = s.nextInt();
			//判断:输入0,则中止
			if(guest == 0)
				break;
			 else if(guest > num) 
				System.out.println("太大了!");
			 else if(guest < num)
				System.out.println("太小了!");
			
		while(guest!=num);
		
		//提示用户最终结果
		if(guest == num) 
			System.out.println("恭喜,你猜对了!");
		else
			System.out.println("真遗憾,下次再挑战吧!");
		
		s.close();	
	

1.3 for循环

考虑如下循环问题的相同之处

  • 计算从1加到100的值;
  • 计算1+1/3+1/5+…+1/999;
  • 找出从第1号学员到第500号学员中成绩大于90的学员。
i=1,2,,100,每次循环累加i的值。
i=1,3,5,,999,每次循环计算1/i,并累加。
i=1,2,,500,每次循环判断第i号学员成绩是否大于90

这样的变量 i 称之为循环变量;
在每次循环中,它规律的发生变化。同时,它也作为判断是否继续循环的条件。

for语句的执行逻辑

for (表达式1; 表达式2; 表达式3)     
   语句块(循环体)


计算表达式1的值;
计算表达式2(表达式2为逻辑表达式)的值,如果为true则执行循环体,否则退出循环;
执行循环体;
执行表达式3;
计算表达式2,如果为true则执行循环体,否则退出循环;
如此循环往复,直到表达式2的值为false

for语句的流程图

for语句用于实现固定次数循环

累加
求  1 + 2 +3 ++ 100 =int  sum = 0 ;
for ( int i = 1 ; i <= 100 ; i + + ) 
	  sum += i ;

System.out.println(1100的和为:” + sum ) ; 
阶乘 
求  1 * 2 * 3 ** 10 =

for语句三个表达式特殊用法

表达式1位置内容为空时:

int sum = 0 ;
int i = 1;
for (  ; i <= 10 ; i + + ) 
	  sum += i ;

System.out.println(110的和为:” + sum ) ; 
表达式3位置内容为空时:
int  sum = 0 ;
for ( int i = 1 ; i <= 10 ; ) 
	  sum += i ;
	  i + + ;

System.out.println(110的和为:” + sum ) ; 
表达式 123 位置内容均为空时:

for (   ;   ;   ) 
	  System.out.println(“我要打王者……”);

死循环就产生了哈!!!

表达式 13 位置内容的多样化:
for ( int  i =1 , j = 6  ;  i <= 6  ;  i +=2 , j -=2 ) 
	   System.out.println(“ i , j =+ i +,+ j );


输出的结果是:
       i , j = 1 , 6    
       i , j = 3 , 4   
       i , j = 5 , 2

for语句中的三个表达式中表达式1和表达式3可以使用逗号表达式,逗号表达式就是通过”,”运算符隔开的多个表达式组成的表达式,从左向右计算。

循环中使用break语句

break可用于循环语句或switch语句中;
break用于循环,可使程序终止循环而执行循环后面的语句,常常与条件语句一起使用。
    int sum = 0;
    for(int i=1; i<=100; i++) 
          if(sum>=4000)    
              break;   
                  
          sum += i;
     
     当总和大于等于4000时终止循环

循环中使用continue语句

continue只能用于循环中
其作用为跳过循环体中剩余语句而执行下一次循环
    int sum = 0;
    for(int i=1; i<=100; i++)
          if( i % 10 == 3) 
                continue;
          
               sum += i;
     
     统计总和时,跳过所有个位为3

练习:随机加法运算器

  • 程序依次出10道加法题目,由用户输入题目的答案;
    用户每答完一道题,程序判断对错,并提示:“答对了”或“答错了”;
    10道题目答完之后,系统计算得分并输出;
    若用户希望提前结束,可以输入-1提前退出。
import java.util.Scanner;
public class AdditionTest 
	public static void main(String[] args) 
		System.out.println("将开始 10 次加法测试... ");
		Scanner scanner = new Scanner(System.in);
		//用于记载分数
		int score = 0;
		//构建 10 次循环
		for (int i=1;i<=10;i++) 
			//随机生成两个加数
			int a = (int) (Math.random() * 100);
			int b = (int) (Math.random() * 100);
			int result = a + b;
			
			//输出需要计算的加法表达式
			System.out.println("(" + i + "). " + a + " + " + b + " = ?");
			System.out.print("请输入答案(输入-1退出): ");
			//读入结果
			int answer = scanner.nextInt();
			//判断对错
			if(answer == -1)
				break;
			else if (answer != result) 				
				System.out.println("Error!");
				continue;
			 else 
				score += 10;
				System.out.println("Correct!");
						
		
		scanner.close();
		System.out.println("此次测验结束,你的分数是:" + score);
		

好了,欢迎查看!!!关注一波,精彩在后!!!

java基础语法学习day04(补充)---初学者必看详解(代码片段)

java基础语法学习day04补充---初学者必看详解1、分支结构1.1嵌套分支1.2switch-case语句1.2.1语法1.2.2break关键字1.2.3案例剖析1.2.3优势1、分支结构1.1嵌套分支if(判断条件1) 满足条件的代码1elseif(判断条件2) 满足条件的代码2elseif(判断条件... 查看详情

java基础语法学习day07---初学者必看详解(代码片段)

java基础语法学习day07---初学者必看详解1、方法1.1方法(函数,过程)1.2方法的定义1.2.1定义方法(函数,过程)的功能1.2.2定义参数和返回值1.3方法的调用1.3.1return语句1.3.2调用方法时的参数传递1、方法1.1... 查看详情

嵌入式初学者学习嵌入式必看必看书籍

 嵌入式初学者学习嵌入式必看必看书籍列表,有电子档的同学可以共享出来,谢谢Linux基础  1、《Linux与UnixShell编程指南》  2、《嵌入式Linux应用程序开发详解》  C语言基础  1.TheCprogramminglanguage... 查看详情

java数组程序员必看数组详解(代码片段)

...前面❤博客主页:努力的小鳴人❤系列专栏:Java基础学习😋❤欢迎小伙伴们,点赞👍关注🔎收藏🍔一起学习!❤如有错误的地方,还请小伙伴们指正!🌹🚩在最近的Java学习中... 查看详情

初学者学javaweb的学习内容有啥

参考技术Ajavaweb需要学啥?让我们一起了解一下吧!1、Java是基础,学习Java基础知识和基本技能。2、MySQL:数据库概念、MySQL安装与使用、SQL基本概念与通用语法、数据库的CRUD操作、数据库表的CRUD操作等。3、JDBC:JDBC快速入门、... 查看详情

javascript初学者必看“箭头函数”

译者按:箭头函数看上去只是语法的变动,其实也影响了this的作用域。原文:JavaScript:ArrowFunctionsforBeginners译者:Fundebug为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。本文我们介绍箭头(a... 查看详情

day05-java基础

Java基础6.变量、常量、作用域6.1变量变量:可以变化的量Java是一种强类型语言,每个变量都必须声明其类型Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域语法规则:typevarName[=value][,varName[=value]];//数 查看详情

java初学者day-02

Java代码的基础格式:Java的代码必须存放在一个类中。类需要使用class关键字来定义,class前面可加修饰符.  1修饰符class{2代码块;3}Java语法的关键点:1、每条执行语句后面必须有个(;分号)2、Java语言严格区分大小写3、代码排... 查看详情

java学习基础概念语法

对象类的实例(通俗点讲,new出来的玩意好像都是对象?初学者的感觉,不造对错啊,有大神给我解释下可以啊)类class嘛,模板嘛,可以给对象实例的嘛方法行为,学编程的,方法,这玩意心里都懂吧,用前端的话,function嘛... 查看详情

初学者学javaweb必须掌握啥

参考技术Ajavaweb需要学啥?让我们一起了解一下吧!1、Java是基础,学习Java基础知识和基本技能。2、MySQL:数据库概念、MySQL安装与使用、SQL基本概念与通用语法、数据库的CRUD操作、数据库表的CRUD操作等。3、JDBC:JDBC快速入门、... 查看详情

#day05-java基础(代码片段)

Day05-Java1、String类1.1两种对象实例化方式对于String在之前已经学习过了基本使用,就是表示字符串,那么当时使用的形式采取了直接赋值:publicclassStringText publicstaticvoidmain(Stringargs[]) Stringstr=newString("Hello");/ 查看详情

java基础|数组及内存分配详解

⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开发的代码能力打下坚实的基础。 查看详情

java基础|arraylist详解与应用

⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开发的代码能力打下坚实的基础。 查看详情

java基础|类对象封装和构造详解

⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开发的代码能力打下坚实的基础。 查看详情

java四大知识点讲解,初学者必看

自学Java的初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有哪些应用。想想这些代码中用到了哪些知识点。不要一味地照着书本敲代码。... 查看详情

java基础|switch循环及random详解

⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开发的代码能力打下坚实的基础。 查看详情

java基础|常用api与stringbuilder详解

⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开发的代码能力打下坚实的基础。 查看详情

java学习作为一名java初学者,如何快速学习j

那首先来了解一下什么是java:Java是SUN(StanfordUniversityNetwork,斯坦福大学网络公司)1995年推出的一门高级编程语言,是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。那么为什... 查看详情