关键词:
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(“1到100的和为:” + sum ) ;
阶乘
求 1 * 2 * 3 * … * 10 = ?
for语句三个表达式特殊用法
表达式1位置内容为空时:
int sum = 0 ;
int i = 1;
for ( ; i <= 10 ; i + + )
sum += i ;
System.out.println(“1到10的和为:” + sum ) ;
表达式3位置内容为空时:
int sum = 0 ;
for ( int i = 1 ; i <= 10 ; )
sum += i ;
i + + ;
System.out.println(“1到10的和为:” + sum ) ;
表达式 1 ,2 ,3 位置内容均为空时:
for ( ; ; )
System.out.println(“我要打王者……”);
死循环就产生了哈!!!
表达式 1 和 3 位置内容的多样化:
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应用程序的首选开发语言。那么为什... 查看详情