2020-01-19

day4将循环结构具体的阐述了一遍,for循环,while循环,dowhile循

for(初始化表达式;boolean;循环后表达式){//执行语句}=========执行流程:先执行初始化语句,然后执行判断条件,看其返回值是true还是false,true就执行循环体,false就结束循环,循环体执行到最后,执行循环后表达式,再次执行判断条件,重复第二步========while语句一般看做是for循环的简写格式========dowhile语句无论条件是否成立,循环体都会执行一次

循环总结:dowhile循环至少执行一次循环体,而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句-----如果想在循环结束后继续使用控制条件的那个变量,用while语句比较好,因为while语句我们定义变量的时候在循环体外面定义变量,注意控制条件,避免死循环--while(true)--for(;;) --但是后来我们一般也利用死循环这一个特点来做循环

关键字的作用:    

我们这里说的关键字知道是三个,return,break,continue-------------return--可以写在方法体的任意地方,是和方法打交道的,结束整个方法,之后的代买全部都不在执行-----break---用在循环中或者switch语句中,终止并跳出循环或者结束switch语句------continue是终止本次循环,继续下次循环,这次循环中continue之后的代码都不在执行(break和continue可用于父循环,给父循环起别名)

循环嵌套

就是外面一个循环里面嵌套着一个循环



day5

说到了数组,数组的基本操作,数组可能遇到的常见问题,内存图,以及二分查找,冒泡排序

数组

数组的概念:数组是一个容器,可以存储同一种数据类型多个元素的集合,它既可以存放基本数据类型,也可以存放引用数据类型,是java中唯一的底层容器

数组的初始化:就是为数组开辟连续的内存空间,并为每个数组元素赋值,初始化分为静态初始化和动态初始化;静态初始化指定内容,数组的长度由jvm自行判断,而动态初始化是指定数组的长度,数组中的元素有jvm给出默认值

注意事项:数组的长度在创建的时候就固定了,中途无法改变;数组是靠角标定位元素,并且角标值从0开始,数组属于饮用以数据类型,数组中元素必须是同一数据类型,获取某个角标位上:arr[角标值],获取到数组中的某个角标之后,就可以获取值和赋值了,获取数组的长度:arr.length

数组默认值:整数型:byte short int long 默认初始化都是0  浮点型:float double 默认初始化都是0.0  布尔型 boolean 默认初始化是false  字符型:char初始化值是'\u0000' 十六进制的 , 引用数据类型:所有引用数据蕾西初始化值都是null;

内存图

java中内存分配:(数组)

栈:存储局部变量           堆:存储new出来的数组或者对象   

多个变量引用同一个数组:在栈中创建多个变量;多个变量执行堆中的同一个数组对象

数组常见问题:

ArrayIndexOutOfBoundsException:数组角标越界异常,访问了不存在的角标         NullPointerException:空指针异常,栈中的数组变量没有指向堆内存中的数组实体


数组的基本操作:循环遍历数组;查找数组中的最大值;反转数组,查找数组中某个值第一次出现的位置(对比数组中每个元素,匹配成功,返回当前的角标,否则返回一个负数)

二分查找:使用折半的形式,一次性剔除一半的无效元素,提高查找的效率(二分查找的前提是数组必须是有序的,所以虽然二分查找效率高,但是仅限于有限数列)

冒泡排序:相邻的两个值比较,然后交换位置,每次循环都会将由原元素中最大的或者最小的移动到有效位的最后,所以经过多次循环,就可派出一个有序的数组,所以我们一般把先用冒泡排序先把数组排序然后在二分查找


2020-1-19

今天回顾数组知识的时候,看到了动态静态初始化数组的时候,提到了jvm,静态的时候给定数组的具体值,长度由jvm来判断,动态的时候长度给定,值由jvm赋默认值,那这里的jvm是什么,有什么作用?

概念:jvm是java虚拟机,是一个位于java和操作系统之间的,有自己的完善结构,如处理器,堆栈,寄存器等

作用:java程序的跨平台性主要就是因为JVM实现的.在编译java程序时会将写好的程序通过编译器生成.class文件(又称为字节码文件)然后通过JVM内部的解释器将字节码文件解释称为具体平台上的机器指令执行,所以就可以实现java程序的跨平台特性

JVM内部体系结构大致分为三部分:类装载器(ClassLoader)子系统,运行时数据区和执行引擎

java程序运行与JVM的关系:

java源文件编译生成.class文件(字节码)

字节码由JVM解释运行

因为java程序既要编译同时也要经过JVM的解释运行,所以java被称为半解释语言


day6(函数;方法的分类和调用;方法的重载;方法间相互调用的内存图;可变参数)

1函数(方法):java中运行代码除极个别外,必须写在方法内,方法就是代码的载体;方法的出现提现了代码的复用性

2.格式详解:

修饰符:设定方法的作用范围-----静态/非静态:static关键字表示静态----返回值类型:就是代码运行的结果的数据类型---方法名:这个方法的名称,调用的时候我们使用的就是方法名---参数:实参:就是实际参加运算的值,基本数据类型就是值,引用数据类型就是地址值--形参:定义在方法上,用来表示接受的数据的类型---参数名就是变量名---方法体语句,就是我们实际运行的代码---return关键字,表示结束方法,同时可以返回的一个值---return就是功能运行的结果,由return带给调用者

3.方法的分类和调用

有参方法--无参方法--有返回值--无返回值

调用方式:单独调用,方法独立于其他代码,独立执行功能-多用检测维护型的方法

                输出调用,只做结果输出,这种调用对我们来说没有任何意义

                赋值调用,有返回值结果.可以进一步操作返回值

4.方法的重载

1.一个类里面出现多个方法名相同,参数列表不同的多个方法,我们把这种现象叫做重载

2.方法重载是为了提高方法名的使用率,毕竟意思相同的单词就那么几个,而我们的方法功能也相似,这种情况下如果使用不同的方法名,很可能造成意义混乱,所以就出现了方法的重载

3.在我们的程序中绝不允许出现两个一模一样的方法,如果我们能想办法让jvm区别每个方法,那么这个方法就可以使用

参数列表:参数个数不同;参数类型不同,参数顺序不同(也算是重载,但是一般开发中不用,没有意义)

方法间相互调用的内存图

栈的定义:运行方法和存储局部变量,栈是一个类似于羽毛球筒,是一个一端开口的筒子;执行流程:当jvm执行某个方法时,会将这个方法压入栈中执行,当这个方法又调用了其他方式时,jvm会将新的方法也放入栈中已有的方法上面执行,当方法执行完毕之后,方法就会被jvm从栈中移除,我们称之为弹栈

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容