24.while 循环语句格式

基本格式:

while( 条件判断语句) {

循环体语句;

}

完整格式:

初始化语句;

while(条件判断语句) {

循环体语句;

条件控制语句;

}

执行流程:

(1)执行初始化语句

(2)执行条件判断语句,看其结果是true还是false

如果是false ,循环结束

如果是 true , 继续执行.

(3)执行循环体语句

(4)执行调价控制语句

(5)回到(2)继续

//for循环for(int i =1;i<=5;i++){System.out.println("Hellow world");}System.out.println("--------");//while循环实现int j =1;//定义变量while(j<=5){System.out.println("Hellow world");j++;//2 3 4 5 }

案例:珠穆朗玛峰

需求:

世界最高峰是珠穆朗玛峰(8848.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米

请问折叠多少次,可以折成珠穆朗玛峰的高度?

分析:

(1)因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况更适合使用while循环

while(条件判断语句) { 循环体}

(2)循环的执行过程中每次纸张折叠,智障的厚度要加倍,因此需要定义纸张厚度,在循环中使厚度加倍

double paper = 0.1;

while ( 条件判断语句) {

paper *=2

(3)折叠的过程中当纸张的厚度大于珠峰就停止了,因此继续执行的要求纸张厚度小于珠峰高度

int zf = 8844430;

while(paper ≤ zf ) {

count ++;

}

int count = 0;double paper = 0.1;int zf=8844430;while(paper<=zf){paper *=2;count++;}System.out.println("需要折叠:"+ count +"次");//输出: 需要折叠27次

25. do ...whlie循环语句格式

基本格式:

do {

循环体语句;

} while(条件判断语句);

完整格式:

初始化语句;

do {

循环体语句;

条件控制语句;

}while(条件判断语句);

执行流程:

(1)执行初始化语句

(2)执行循环体语句

(3)执行条件控制语句

(4)执行条件判断语句。看其结果是true还是false

如果是false,循环结束

如果是true, 继续执行

(5)回到(2)继续

for(int i =1;i<=5;i++){System.out.println("Hellow world");}System.out.println("--------");//do ...while 循环实现int j =1;
do  {System.out.println("Hellow world");j++;}while(j<=5);}

26.三种循环的区别

for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先循环后执行)

do ...while循环限制性一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for和while的区别:

条件控制语句所控制的自增变量,因为归属for循环的语法结构中,for循环结束后,就不能再次被访问到了

条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

死循环格式:

for(;;){ }

while(true){ }

do { }while()

//for循环for(int i=1;i<3;i++){System.out.println("inspare 2 M4/3 | 5.2K | F/1.7 - 16 ");} System.out.println("------");
//while循环
int j = 1;
while(j<3){System.out.println("Mavic 3");j++;
}
System.out.println("------");
//do...while循环
int k =3;
do{System.out.println("fpv");k++;
}while(k<3);
//输出:inspare 2 M4/3 | 5.2K | F/1.7 - 16
//inspare 2 M4/3 | 5.2K | F/1.7 - 16
//------
//Mavic 3
//Mavic 3
//------
//fpv

27.跳转控制语句概述

continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行

break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环

 for(int i = 1;i<=5;i++){if(i%2 == 0){continue;}System.out.println(i);}System.out.println("------");for(int n = 1;n<=5;n++){if(n%2 == 0){break;}System.out.println(n);}//输出:1
//3
//5
//------
//1

28.循环嵌套

语句结构:

顺序语句 以分号结尾,表示一句话的结束

分支语句 一对大括号表示if的整体结构,整体描述一个完整的switch语句

一对大括号表示switch的整体结构,整体描述一个完整的switch语句

循环语句 一对大括号表示for的整体结构,整体描述一个完整的for语句.

一对大括号表示while的整体结构,整体描述一个完整的while语句

do...while以分号结尾,整体描述一个完整的do ..while语句
任何语句对外都可以看成是一句话,一句代码

分支语句中包含分支语句称为分支嵌套

循环语句中包含循环语句称为循环嵌套

    System.out.println("0时0分");System.out.println("0时1分");System.out.println("0时2分");System.out.println("0时3分");System.out.println("------");System.out.println("1时0分");System.out.println("1时1分");System.out.println("1时2分");System.out.println("1时3分");System.out.println("------");System.out.println("2时0分");System.out.println("2时1分");System.out.println("2时2分");System.out.println("2时3分");System.out.println("------");System.out.println("------");//循环改进for(int minute = 0;minute<4;minute++){System.out.println("0时" + minute + "分");}System.out.println("------");for(int minute = 0;minute<4;minute++){System.out.println("1时" + minute + "分");}System.out.println("------");for(int minute = 0;minute<4;minute++){System.out.println("2时" + minute + "分");}System.out.println("------");System.out.println("------");//循环嵌套 外循环控制小时的范围,内循环控制分钟的范围for(int hour = 0;hour<3;hour++){for(int minute = 0;minute<4;minute++){System.out.println( hour +"时" + minute + "分");}System.out.println("------");}//24小时60分钟制for(int hour = 0;hour<24;hour++){for(int minute = 0;minute<60;minute++){System.out.println( hour +"时" + minute + "分");}System.out.println("------");}

29.Random

作用:产生一个随机数

使用步骤:

导包

import java.util.Random//导包动作必须出现在类定义的上面

创建对象

Random r = new Random();//上面这个格式里面,r是变量名,可以变,其他的都不允许变

获取随机数

int number = r.nextInt(10);//获取数据的范围:[0,10) 包括0,不包括10//上面的格式里面,number是变量名,可以变,数字10可以变,其他的都不允许变
import java.util.Random;
public class test2 {public static void main(String[] args) {Random r = new Random();int number = r.nextInt(10);System.out.println("number:"+ number);}
}
    import java.util.Random;public class test2 {public static void main(String[] args) {Random r = new Random();//用循环获取10个随机数for(int i = 0;i<10;i++){int number = r.nextInt(10);System.out.println("number:"+ number);//需求:获取一个1-100之间的随机数int x = r.nextInt(100) + 1;System.out.println("number:"+ x);}
}

案例:猜数字

需求:程序自动生成一个1-100的数字,使用程序实现猜出这个数字是多少?

当猜错的时候根据不同情况给出相应提示

如果猜的数字比真实数字大,提示你猜的数据大了

如果猜的数字比真实数字小,提示你猜的数据小了

如果猜的数字与真实数字相符,提示恭喜你猜中了

分析:

(1)要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生成该数字,范围1-100

(2)因为无法预知几次能够猜中,因此猜数字这个操作应该是反复进行的,需要使用循环,而while循环通常用于描述未知循环次数的循环

(3)使用程序实现猜数字,每次均要输入猜测的数值,需要使用键盘录入实现

(4)比较输入的数字和系统产生的数据,需要使用分支数据。这里使用if..else..if..格式,根据不同情况进行猜测显示,当猜中后使用break结束循环即可

  import java.util.Random;import java.util.Scanner;public class test2 {public static void main(String[] args) {Random r = new Random();int number = r.nextInt(100) + 1;while(true){Scanner sc = new Scanner(System.in);System.out.println("请输入您要猜的数字:");int gussNumber = sc.nextInt();if(gussNumber>number){System.out.println("你猜的这个破数字"+gussNumber+"大了大了!!!");}else if(gussNumber<number){System.out.println("你猜的这个破数字"+gussNumber+"小了小了!!!");}else{System.out.println("终于猜对了,真费劲");break;}
}}
}

30.IDEA

IDEA本博主还没搞懂,先用code吧(已经裂开)

31.数组

数组的定义格式

格式一:数据类型[ ] 变量名

范例: int [ ] arr

定义了一个int类型的数组,数组名是arr

格式二:数据类型 变量名

范例: int arr[ ]

定义了一个int类型我的变量,变量名是arr数组

Java中的数组必须是先初始化,然后才能使用

所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

动态初始化:初始化时指定数组长度,由系统为数组分配初始值

格式: 数据类型[ ]变量名 = new 数据类型[数组长度]

范例: int [ ] arr = new int[3]

静态初始化

32.数组元素访问

数组变量访问方式

格式:数组名

数组内部保存的数据的访问格式

格式:数组名[索引]

索引是数组中数据的编号方式

作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名

特征1:索引从0开始

特征2:索引是连续的

特征3:索引逐一增加,每次加1

int[] arr = new int[3];/*左边:int:说明数组中的元素类型是[]:说明这是一个数组arr: 这是数组的名称右边:new:为数组申请内存空间int:说明数组中的元素类型是int类型[ ] :说明这是一个数组3: 数组长度,其实就是数组中的元素个数*/ System.out.println(arr);//[I@24d46ca6  申请空间地址System.out.println(arr[0]);//0System.out.println(arr[1]);//0System.out.println(arr[2]);//0

33.Java中内存分配

Java程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一篇区域都有特定的处理数据方式和内存管理方式。

数组在初始化时,会为存储空间添加默认值

整数:默认值0

浮点数:默认值0.0

布尔值:默认值false

字符:默认值是空字符

引用数据类型:默认值是null

注意:红色方框叫栈内存,蓝色方框叫堆内存

栈内存:存储局部变量

定义在方法中的变量,例如:arr

使用完毕,立即消失

堆内存:存储new出来的内容(实体,对象)

数据初始化时,会为存储空间添加默认值

整数:0

浮点数:0.0

布尔:false

字符:空字符

引用数据类型:full

每一个new出来的东西都有一个地址值

使用完毕,会在垃圾回收器空闲时被回收

34.数组内存图(单个数组)

35.数组内存图(多个数组)

黑马程序员全套Java教程_Java基础入门视频教程零基础自学Java必备教程视频讲义(4)相关推荐

  1. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  2. Python从入门到实战 基础入门视频教程(讲解超细致)-黄勇-专题视频课程

    Python从入门到实战 基础入门视频教程(讲解超细致)-4123人已学习 课程介绍         Python基础入门视频教程:本课程从Python入门到纯Python项目实战.超100以上课时, ...

  3. 黑马程序员-我的入学笔记1-关于C#.net基础

    ---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net ...

  4. 黑马程序员 一步一步往上爬 学习毕老师java视频的第03,04天

    ---------------------- <a href="http://edu.csdn.net/heima" target="blank"> ...

  5. 黑马程序员 一步一步往上爬 学习毕老师java视频第17,18,19天

    ---------------------- <a href="http://edu.csdn.net/heima" target="blank"> ...

  6. 2022年最新最全的Java零基础入门,零基础入门springboot,MySQL的学习

    今天就来开始带领大家零基础入门Java开发 写在前面 为什么学习Java Java用途很广泛,如下图所示,Java可以做很多工作 JAVA语言发展史 2019年3月,JDK12版本发布. 2019年9 ...

  7. 资深程序员教你,用python入门的知识抓取抖音短视频,太厉害了

    抖音短视频可以说是当下最流行的自媒体平台,而python编程同样也是目前最流行的编程语言. 今天,就让一位大厂的资深程序员,用最简单的方式,使用python抓取抖音短视频. 到时候我会把所有的源代码都 ...

  8. JavaScript整合版——后端程序员学js,只读一文直接零基础入门,大学生期末考试不挂科宝典。

    文章目录 建议朋友们在学习的过程中,边写边看 一.hello 二.html 1. 标签语法 2.font标签 3.特殊字符 4.标题标签 5.超链接(重点) 6.列表标签 7.img标签 8.表格标签 ...

  9. 易语言零基础入门视频教程 易语言自学全套教程

    易语言是一门以中文作为程序代码编程语言.易语言早期版本的名字为E语言.其最早的版本的发布可追溯至2000年9月11日.创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中国人的思维编写程序,并 ...

  10. python快乐编程—基础入门-Python零基础快乐学习之旅(K12实战训练)

    内容简介 作者简介 第1章 基本概念 1-1 认识Python 1-2 Python的起源 1-3 Python语言发展史 1-4 Python的应用范围 1-5 跨平台的程序语言 1-6 系统的安装 ...

最新文章

  1. Java开发环境的搭建以及使用eclipse创建项目
  2. javascript笔记:深入分析javascript里对象的创建(上)续篇
  3. 0x10基本数据结构
  4. ajaxfileupload带多个参数上传方法
  5. web.xml配置详细
  6. c++字符串输入_【pwn】什么是格式化字符串漏洞?
  7. 深度学习基本概念笔记
  8. Win10系统java环境配置
  9. 你了解你的征信吗?这六个问题必须知道!
  10. How to make .dmg install for Mac
  11. this.value和$(this).val()的区别
  12. 用C#在Visual Studio写Javascript单元测试
  13. 零基础如何学习C语言
  14. 7.4 倒向随机微分方程-Feynman-Kac公式
  15. AI新星丨普林斯顿陈丹琦
  16. linux lzma 函数 调用,Lzma(7-zip)和zlib
  17. Pancake和import 语句——————————方法的重写
  18. jme之Hello Node
  19. k--最近邻算法(KNN)
  20. 不错的大数据课程体系(感谢某机构,希望不属于侵权)

热门文章

  1. php curl 下载文件
  2. 程序员如何成为自由职业者?
  3. notepad 怎么配置编译c语言,Notepad++ 配置c/c++编译环境
  4. ubb码转换的java类库 ubb2html_ubb代码转换为html
  5. fiddler过滤配置
  6. 面试题:谈谈你对Mysql数据库优化的见解
  7. fastjson:map转json字符串、json字符串转map、map根据key名拿value、JSONArray转list
  8. 计算机找不到970pro,缝缝补补又三年,老机器更新---三星970 pro SSD简测
  9. vue 插槽的版本变化1.x-2.6.0-3.x(详细)
  10. kotlin中文开发文档