JAVA学习day04
1、选择语句switch
编写格式
Switch( 表达式 ){
Case 常量1: 要执行的语句; Break; Case 常量2: 要执行的语句; Break; Case 常量3: 要执行的语句; Break; Default: 要执行的语句; Break;
}
执行流程:表达式,和case后面的常量进行比较
和哪个case后的常量相同,就执行哪个case后面的程序,遇到break,就全部结束;
2、case的穿透性
案例:星期1-5 工作日 星期6-7 输出休息日
case 1 case 2 case 3 case 4 case 5 输出结果相同
case后面的常量,和switch中数据相同,没有break,一直向下穿透
case后面没有break,程序就会一直向下穿透
3、数组
数据多了存数组(原因:数据太多,定义变量,容易造成代码重复)
定义数组容器
定义数组容器,要素,强制数据类型的语言 必须要有数据类型,大小,就是存储数据的个数 定义数组公式: 数组类型 [] 变量名 = new 数据类型 [存储元素的个数] 数据类型:数组中存储元素的数据类型 [] 表示数组的意思 变量 自定义标识符 New 创建容器关键字 数据类型:数组中存储元素的数据类型 [] 表示数组的意思 元素个数,就是数组中,可以存储多少个数据(恒定,数组是定长型)
数组是一个容器:存储到数组中的每个元素,都有自己的额自动编号 自动编号,最小值是0,最大值,长度-1 自动编号专业名词,索引(index),下表,角标 访问数组存储的元素,必须依赖于索引,公式 数组名[索引] JAVA提供了一个属性,操作索引的 数组的一个属性,就是数组的长度,属性的名字 Length 使用属性: 数组名.length 数据类型 Int 数组的最小索引是0 最大索引是数组.length-1
4、JVM的内存划分
5、
其中:
arr引用类型,保存的数据,实质上是内存中的地址;
6、为数组的元素赋值
Arr[1]=5
7、数组的定义
数组的两个定义方式
数据类型[] 变量名 = new 数据类型[]{元素1,元素2,元素3} ; Int[] arr =new int[] {1,2,3,4,5,6,7} 数据类型[] 变量名 ={匀速1,元素2,元素3}; //定义数组,直接大括号赋值这种方式推荐使用 int[]arr2={1,2,3,4,5,8}; System.out.println(arr2.length);//打印数组的长度 System.out.println(arr2[5]);//索引从0开始
8、数组的遍历
通过索引的方式将数组中的每个元素,分别获取出来 要依靠索引才能实现 //如下方式是遍历数组最常用的方式 for(inti=0;i<arr.length;i++){ System.out.println(arr[i]); }
9、数组中常见的异常
数组的索引越界异常 空指针异常
10、数组获取最值得原理思想
1)定义变量,保存在数组中 Int max =arr[0]; 2)max和数组中的其他元素进行比较 A 数组遍历 B max比其他索引上的元素小 max记录下较大的数 3)数组遍历完成后 max记录的就是数组的最大值 publicclassArrayDemo_5{ publicstaticvoidmain(String[]args){ //定义数组,Intleixing int[]arr={5,2,3,5,8,9,0,4}; //定义变量,记录数组中0索引上的元素 intmax=arr[0]; //遍历数组,获取所有的元素,和变量max比较 for(inti=1;i<arr.length;i++){ //变量max,和数组中的每个元素进行比较 //如果Max小于了数组中的一个元素,将较大的元素赋值给max if(arr[i]>max){ max=arr[i]; } } //遍历完成,变量max就是数组的最大值 System.out.println(max); } } 11、二维数组的定义 11、二维数组的定义和访问 12、二维数组的遍历 13、维数组的遍历求和 /* 二维数组的遍历求和 第一小组销售额为{11,12}万元 第二小组销售额为{21,22,23}万元 第三小组销售额为{31,32,33,34}万元。 每个小组就是一个数组,三个数组存储到一个数组中,形成二维数组 求和: 每个小组求和 所有元素求和 */ publicclassArrayArrayDemo_3{ publicstaticvoidmain(String[]args){ int[][]arr={{11,12},{21,22,23},{31,32,33,34}}; //定义变量,保存2个求和的值 intsum=0;//所有元素的求和 intgroupSum=0;//每个一维数组的求和 for(inti=0;i<arr.length;i++){ for(intj=0;j<arr[i].length;j++){ //将一维数组的元素求和 groupSum+=arr[i][j]; } System.out.println("每个小组总金额"+groupSum); //将每个一维数组的总和在相加 sum+=groupSum; //每个唯一数组求和,清空 groupSum=0; } System.out.println("本公司总金额"+sum); } } 14、随机点名器 packagecom.ghy.study; /* 随机点名器: 1存储姓名 2.预览所有人的姓名 3.随机出一个人的姓名 */ importjava.util.Random; publicclassCallName{ publicstaticvoidmain(String[]args){ //存储姓名,姓名存储到数组中 //数组存储姓名,姓名的数据类型,String String[]names={"张三","李四","王五","李蕾","韩梅梅","小名","老王","小华","约翰逊","爱丽丝"}; //预览:遍历数组,打印所有姓名 for(inti=0;i<names.length;i++){ System.out.println(names[i]); } System.out.println(names.length); System.out.println("============="); //随机出一个人的名 //利用随机数,生成一个整数,作为索引,到数组中找到对应的元素 Randomran=newRandom(); //随机数,范围必须是0-数组的最大索引 //nextInt是0-这个数,但不包含这个数 intindex=ran.nextInt(names.length);//index就是随机数,作为索引 System.out.println(names[index]); } }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Javascript基础之-强制类型转换(三)
这一节,应该算是强制类型转换的最后一个小节了,这一部分呢,主要会讲比较操作中遇到的强制类型转换。 抽象相等== 和严格相等 ===。 简单且粗略的来说,抽象相等和严格相等的区别就是抽象相等在比较的时候,如果比较的两个数类型不同,会先进行类型转换再比较,而严格类型呢,比较简单粗暴一些,直接返回false。 当然啦,你也可以这么理解,抽象比较的时候,允许类型转换,而严格相等则不允许,所以看如下例子: console.log('1111' == 1111) // true console.log('1111' === 1111) // false 这个例子很容易理解,那么本例中,抽象相等中究竟是从字符串转换为数字呢,还是相反? 规范是这么说的: 如果相比较的两个操作数,其中一个是数字类型,另一个是字符串类型的话,那么字符串将会转换为数字,再进行比较,就相等于: console.log(Number('1111') == 1111); 那么如果是布尔值呢?比如说 console.log("42" == true); // false console.log(12 == true); // fa...
- 下一篇
ThinkPHP < 5.0.24 远程代码执行高危漏洞 修复方案
漏洞描述由于ThinkPHP5.0框架对Request类的method处理存在缺陷,导致黑客构造特定的请求,可直接GetWebShell。 漏洞评级严重 影响版本ThinkPHP 5.0系列 < 5.0.24 安全版本ThinkPHP 5.0系列 5.0.24ThinkPHP 5.1系列 5.1.31 安全建议升级ThinkPHP至安全版本修复方法1.打开thinkphplibrarythinkRequest.php搜索 public function method($method = false) { if (true === $method) { // 获取原始请求类型 return $this->server('REQUEST_METHOD') ?: 'GET'; } elseif (!$this->method) { if (isset($_POST[Config::get('var_method')])) { $this->method = strtoupper($_POST[Config::get('var_method')]); $this->...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果