continue关键字和break关键字在循环中的使用

 continue:  出现在循环中表示结束本次循环继续下一次循环break:表示结束整个循环
public class Test01 {public static void main(String[] args) {/*** 测试continue关键字* 结束本次循环,继续下一次循环* 需求:打印1到100之间的偶数*/System.out.println("------------------------测试continue关键字-------------------------------");for (int i = 1; i <=100 ; i++) {if(i%2!=0){continue;}System.out.println(i);}/*** 测试break关键字* 用于结束整个循环* 打印1到100的数字;* 需求是:打印到50的时候结束打印*/System.out.println("------------------------测试break关键字-------------------------------");for (int i = 1; i <= 100 ; i++) {System.out.println(i);if(i>49){break;//结束整个循环}}/*** 小结:continue和break只能用于循环中,其它地方不能出现,两者的区别是:* continue用于结束本次循环,循环还要继续而break用于终止循环*/}
}

小结:

 小结:continue和break只能用于循环中,其它地方不能出现,两者的区别是:continue用于结束本次循环,循环还要继续而break用于终止循环

循环的嵌套

 所谓循环的嵌套就是循环里面含有另外一个循环,特点是:外层循环执行一次,内层循环执行多次(一般在实际的开发环境中,循环的嵌套建议不要超过3层,如果多于3层建议使用递归算法)
package com.tedu.cn;/*** 测试循环的嵌套*/
public class Test02 {public static void main(String[] args) {/*** 需求:在控制台打印99乘法表* 循环嵌套的一个典型的特点就是:外层循环执行一次,内层循环执行多次*//*** 要求:  控制台输出1到100每一个数的同时打赢100次鼠你最美*/for (int i = 1; i <=100 ; i++) {System.out.println(i);for (int j = 1; j <=5 ; j++) {System.out.println("鼠你最美");}}/*** 控制台打印99乘法表* 分析:99乘法表是由行和列组成,一共有9行和9列* 首先可以使用一个for循环来控制打印的行数,在打印每一行的过程中再来确定打印多行列* 具体打印多少列一定要理解清楚*   1   1*   2  2*   3  3*   可以总结出:打印到第几行的时候就需要打印多少列   ,假设使用 i表示行数  j表示列数,那么它们之间的关系应该为:*   j=1 i<=j*/System.out.println("----------------------打印99乘法表----------------------------------");for (int i = 1; i <= 9 ; i++) {  // i控制行for (int j = 1; j <= i ; j++) {  //j控制列System.out.print(j+"x"+i+"="+i*j+"\t");  //不带换行输出(不带回车) \t表示一个制表符(相当于tab键)}System.out.println(); //换行}}
}

数组

数组的定义:
数组就是含有相同数据类型的元素的集合,数组类型的变量类型是一个引用数据类型的变量。

数组的申明:
第一种申明方式:
数据类型[] 数组名称 = new 数据类型[数组长度];
数据类型:基本数据类型和引用数组类型,注意[]不能省略
数组名称: 遵循变量的命名规则
new: 表示为数组分配内存空间的关键字
数组长度:数组元素的个数
第二种申明方式:申明的时候并且赋值
数据类型[] 数组名称={元素1,元素2。。。元素n};

数组的初始化

初始化规则
   byte      short    int    long    float    double   char   boolean0          0           0     0     0.0      0.0       ""    false引用类型初始化为:null

数组的访问

  数组的访问是按照下标索引的方式去访问的,下标索引按照0 开始一直到数组的长度-1的位置结束,可以使用数组名加上下标的形式访问数组,比如   arrs的数组  访问第一个元素是arrs[0]  第二个元素是arrs[1]  最后一个元素是arrs[长度-1]

数组的长度

 数组的长度就是数组元素的个数,数组的长度专门有一个属性表示叫做 length
访问数组的长度可以通过数组名称.length进行访问。

数组的遍历

 可以通过for循环遍历数组,由于数组的访问是从下标开始访问的(0开始),刚好和for

默认的初始值0吻合,所以可以使用for遍历数组的元素同时还可以初始化数组的元素

在这里插入代码片package com.tedu.cn;public class Test03 {public static void main(String[] args) {/*** 测试数组的申明*/int[] arrs = new int[10];  //申明长度为10的整型数组double[] doubles = new double[10]; //申明长度为10的double类型的数组byte[] bs = new byte[1024];  //申明长度为1kb大小的长度int[] numbers ={1,3,5,7,9};  //申明一个数组的同时为数组指定相应的元素/*** 数组的初始化规则:* 如果申明数组的时候不给数组的元素进行初始化,那么Java程序会按照如下规则初始化:* byte short  int long  初始化为0* float  double 类型初始化为0.0* char类型初始化为空字符 ''* boolean 类型初始化为 false*///访问numbers数组的第二个元素System.out.println(numbers[1]);System.out.println(arrs[1]);System.out.println(doubles[0]);/*** 如果申明数组的时候没有为数组的相应的元素指定初始化值,那么* 可以使用for循环去初始化数组的元素*/System.out.println("---------------------------arrs数组初始化元素之前--------------------------------------------");//length表示数组的长度  就是数组元素的个数for (int i = 0; i <arrs.length ; i++) {System.out.print(arrs[i]+"\t");}for (int i = 0; i <arrs.length ; i++) {arrs[i] = i+1;}System.out.println();System.out.println("---------------------------arrs数组初始化元素之后--------------------------------------------");for (int i = 0; i <arrs.length ; i++) {System.out.print(arrs[i]+"\t");}}
}

数组的两大API

arrayCopy方法

 该方法是一个静态方法,由System类提供,用于将指定数组的某些元素拷贝到另外一个数组。


案例代码

public class Test5 {public static void main(String[] args) {int[] arrays = {1, 3, 5, 7, 9, 11};int[] arrays1 = new int[20];System.out.println("-------------------拷贝前--------------------------");for (int i = 0; i < arrays1.length; i++) {System.out.print(arrays1[i] + "\t");}System.arraycopy(arrays, 2, arrays1, 10, 4);System.out.println("-------------------拷贝后--------------------------");for (int i = 0; i < arrays1.length; i++) {System.out.print(arrays1[i] + "\t");}}
}

第二大API copyOf方法

  该方法由Arrays类提供,主要实现一个数组的扩容。


注意:当扩容的长度大于元素组的时候则实现扩容,小于的时候实现缩容。

代码

public class Test6 {public static void main(String[] args) {int[] arrays = {1, 3, 5, 7, 9, 11};/*** 把array数组在原有的基础上扩容9个长度*/System.out.println("-------------------扩容前--------------------------");for (int i = 0; i < arrays.length; i++) {System.out.print(arrays[i] + "\t");}System.out.println();arrays = Arrays.copyOf(arrays,arrays.length+9);System.out.println("-------------------扩容后--------------------------");for (int i = 0; i < arrays.length; i++) {System.out.print(arrays[i] + "\t");}}
}

Java-md-bk相关推荐

  1. 京东2017实习生Java.md

    大意为: 警察抓小偷.X为小偷,#为行人,数字代表警察可抓取的范围. 输入实例 9 X1X#2X#XX 注意边界条件,和字符型转换位数字 . import java.util.*; public cl ...

  2. java md密码加密_JavaSE_对密码进行MD5加密

    package me.falcon.utils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExc ...

  3. B站 全套java面试(200道)问题MD(题目+答案)

    Java面向对象有哪些特征,如何应用 ​ 面向对象编程是利用类和对象编程的一种思想.万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的 ...

  4. Java学习总结:4

    面向对象 面向对象的程序设计具有封装性.继承性.多态性. 类的定义语法如下: class 类名称{数据类型 属性(变量);...public 返回值的数据类型 方法名称(参数1,参数2...){程序语 ...

  5. java线程死锁 cpu 100%_一文学会Java死锁和CPU 100% 问题的排查技巧

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开 工欲善其事,必先利其器 00 本文简介 作为一名搞技术的程序猿或者是攻城狮,想必你应该是对下面这两个问题有所了解,说不定你在 ...

  6. Java:使用Fork / Join框架的Mergesort

    此项的目的是显示一个Fork / Join RecursiveAction的简单示例,而不是过多地研究合并合并的可能优化方法,或者比使用Exkutor / Join Pool优于现有的基于Java 6 ...

  7. 用于快速排查Java的CPU性能问题(top us值过高)

    转载于GIT路径 https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-th ...

  8. windows下利用批处理命令生成maven项目(java、javaWeb)

    觉得用IDE生成maven项目会卡住,很慢.就用cmd写了个cmd批处理命令来生成maven项目.效果如下 生成项目导入idea后结构如下 批处理命令代码如下 @echo off::echo 请选择项 ...

  9. 大三,请问现在自学Java还来得及吗?

    前言 如果还在为入门Java晚而发愁时间够不够,首先你是准备自学,那么我们可以看看现在网络上一些比较热门的Java全体系的学习需要化多长时间,先拿B站上做的比较好的黑马教程和尚硅谷举例: 2022黑马 ...

  10. 【面试题】Java 高级工程师面试刷题100题(二)

    文章目录 如何理解 springboot 中的 starter? 什么是嵌入式服务器,为什么使用嵌入式服务器? mybatis 的优缺点有哪些? mybatis 和 hibernate 有什么区别? ...

最新文章

  1. 2016年蓝桥杯省赛题解
  2. JPA保存数据时报持久化对象异常:PersistenceException: org.hibernate.PersistentObjectException
  3. 技术分享 | 个性化推荐系统商业化的五大要素
  4. React Native的安装和初始化(android /ios)
  5. OTT交付如何超越传统广电交付,为用户带来高质量视频网络——对话Synamedia流媒体技术发展经理卢彦林...
  6. IBM 的大型机 z Systems 引入 Go 语言
  7. java基础知识——面向对象基本概念
  8. 3.运算符与表达式,控制流
  9. 2008哲思自由软件峰会
  10. TableView 截图
  11. Windows下基于IIS服务的SSL服务器的配置
  12. matlab模糊聚类分析画树状图,Matlab笔记模糊聚类分析原理及实现
  13. 安装python之后电脑变卡_【Python】如何让电脑变卡?
  14. GF(256)下的乘法
  15. 一位老中医的养生忠告
  16. 现代公关无需遮遮掩掩,明火执仗开干就行
  17. PerfEnforce Demonstration: Data Analytics with Performance Guarantees
  18. http/2与http/1的区别
  19. 千里马-modulo
  20. Elasticsearch mapping与analysis

热门文章

  1. 关于MS OFFICE安装失败、无法卸载干净的完美解决方案
  2. office2010安装出错怎么办
  3. fopen多次打开同一个文件
  4. 基于asp.net的请销假管理系统的设计与实现#毕业设计#课程设计
  5. 第一周Web——HTML5的部分标签
  6. Java中的继承 与 多态(中)
  7. VLC Buffering机制介绍
  8. java oncreate_Android(java)学习笔记112:Activity中的onCreate()方法分析
  9. 苹果系统地图定位服务器,iOS 系统地图实现及定位
  10. 【图解动态规划】用大量图片告诉你动态规划改如何优化?