第二周学习总结

8.1日

  1.for循环

    (1)格式 : for(初始化语句;条件表达式;控制体语句){ 

            循环体语句;

             }

    (2)明确了循环次数,开发应用极为频繁;

    (3)for循环节省内存资源 : 当循环结束,里面的变量被释放.

2.while循环

    (1)格式 : while(条件表达式){ 

                        循环体语句;

                        控制体语句;

                    }

(2)不明确循环次数

(3)相对for循环,比较消耗内存,当while循环结束,依然能够访问变量

3.switch选择语句

(1)格式:switch(表达式){

            case_*_:

                 (语句1);

                break;

            case_*__:

                 (语句2);

                break;

            ......

            default :

                 (语句n);

                break;

            }

(2)表达式可以跟基本数据类型 byte,short ,int ,char

    jdk5以后,可以枚举类型 

    jdk7以后,可以String类型

(3)注意事项:

    1)switch中的case语句只能是常量 

    2)switch语句cae语句中没有携带break,造成case穿透(灵活运用它解决一些问题) 

    3)switch语句的结束条件: a)遇见break结束 b)程序默认执行到末尾 

    4)default语句可以在switch语句任何位置,不影响执行流程 依然当case语句没有匹配的结果,执行default default语句末尾,break可以省略的,(前期不建议省略) 如果在语句中,break不能省略的,否则case穿透

8ab8a5fca05a4eed87b5e31892ad6080.png

 

 

 

8.2日

1.Math的随机数使用 

jdk提供了类:java.lang.Math , java.lang包下的类不需要导包

针对数学运算的工具类,提供了很多的方法; 获取伪随机数,取值范围:[0.0 , 1.0) public static double random():

 快速使用: * Math.random()---获取一个随机数

*猜数字游戏

a693c42ae76043a8bbfcf048d2a149f9.png

 

2.死循环的两种格式 

 (1) for(;;){

 循环体语句;

  } 

(2)while(true){ 

//使用比较多

循环体语句; 

 }

3. 断点调试程序 

在方法中的有效代码第一行打断点,在行号上直接单击即可

e5ec4ec68bac4d13aad52688026fbae7.png

 

使用debug启动Java应用程序 右键---选择 debug run xxx类名.main :debug启动这个类的main方法

4.for循环嵌套

for(初始化语句1;条件表达式1;控制体语句1){

  for(初始化语句2;条件表达式2;控制体语句2){

  循环体语句;

      ,,, } 

}

7c5a19eee675441cbe49e37d3141d577.png

 

5.有具体返回值的方法(方法:给某段代码,使用{}包裹起来,给这个{}起一个名字,方法名,就可以有相同业务逻 辑代码,直接使用方法名调用,提高代码的复用性;)

public static 返回值类型 方法名(形式参数类型1 参数名1,形式参数类型2 参 数名2,....){

        业务逻辑 ... 

return 具体结果;

 }

d4591fb4b2eb46d1b120cd3e58214619.png

 

有具体返回值类型的方法的调用格式 

在main方中 赋值调用 接收的结果类型 变量名 = 方法名(实际参数1,实际参数2,...) ; 实际参数:直接赋值或者main中键盘录入

 

8.3日

1. break,continue与return

break:结束中断,结束循环语句也可以结束switch语句,应用范围比continue大 

continue:仅仅在循环中使用,表示"结束当期循环,立即进入下一次循环"

return:结束方法;在方法中使用时返回结果

2.do-while循环和其他循环语句的区别 

初始化语句; 

do{ 循环体语句; 控制体语句; }

while(条件表达式) ; 

区别于其他循环: 当条件不成立的时候,循环体语句至少执行一次; 开发中使用的比较少

3.一维数组

数组定义格式:

动态初始化 : 数据类型[] 数组名称 = new 数据类型[数组长度] ; 

                    数据类型 数组名称[] = new 数据类型[数组长度] ;

静态初始化 : 数据类型[] 数组对象名 = new 数据类型[]{元素1,元素2,元素3.....} ; 

                    数据类型 数组对象名[] = new 数据类型[]{元素1,元素2,元素3.....} ;

(1)所有的数组有一个特点:数组名称[角标或者索引值]:访问数组的元素 ,角标值/索引值从 0开始计算

(2)数组名称.length:获取数组长度 * 数组中的最大索引值: 数组名称.length-1

90e610d476954f63ab649f05c37cacc2.png

 

4.没有具体返回值的方法

public static void 方法名(形式参数类型1 参数名称1,形式参数类型2 参数 名2,....){

 * * * *

 } 

调用格式 : 单独调用

24867aa9bac24af68c63492e2dc41362.png

 

5.方法重载overload

为了某个功能扩展性,多个方法方法名可以相同(完全相同),参数列表不同,与返回值无关 

参数列表不同: 

 1)参数个数不同 

 2)参数类型不同 

 3)考虑参数类型的顺序

6.JVM 内存分配

栈内存:存储局部变量用的这个内存区域

堆内存:new出来的对象存储这个区域 

方法区: 字节码文件区域----方法调用过程需要加载类 里面存储很多的方法,这些方法被调用,加载进栈内存 static区域 : main方法就是被static修饰的

常量池 : 常量的都是在常量池

7.遍历数组

7e81d7ca1c9c43bb962c30f3e18fca16.png

 

int[] array = new int[3] ; 这句话完了哪些事情? 

1)需要在栈内存中开辟空间, int[] array这个变量 

2)new int[3] ; 需要在堆内存中申请空间 

3)为这个堆内存中的这些数组的元素,进行系统默认初始化,int类型的元素在数组中默认值0 

4)系统初始化完毕,为堆内存空间产生一个空间地址值

5)将堆内存空间地址值赋值给栈内存的变量array 6)栈内存变量 array指向堆内存地址;

8.4日

1.面向对象思想特点

1)更符号生活中的思想行为习惯 

2)让复杂的事情简单化 

3)从执行者变成了指挥者

2.面向对象的三大特征: 封装 继承 多态

3.数组的逆序

82bea34bcf16440faf224b7a7a44cb26.png

 

4.冒泡排序的思想以及代码体现

 冒泡排序思想 : 两两比较,较大的值往后方法,第一次比较完毕,最大值出现在最大索引处

e5afed460df743d7aa191d63915e673e.png

 

 

8.5日

1.基本类型作为形式参数和引用类型 (数组,类,接口) 作为形式参数的特点?

 (重点) 实际需求业务中,数组这种在后期用的不是很多,用的"集合" List,Set,Map(高级集合特 性),支持长度可变的需求;

   基本类型作为形式参数,形式参数改变不影响实际参数; 

   引用类型作为形式参数,形式参数的改变直接影响实际参数; 

2.类 

       描述现实世界事物的一组属性和行为,代码体现出来对某个事物的描述以及在对应的主方法中测试;(昨天的题) 1)手机有品牌(brand),价格,颜色,内存等属性, 手机可以打电话,发短信,打游戏等行为, 请使用面向对象的方式描述手机并且进行定义一个PhoneTest类,在主方法中测 试手机类 2)学生有姓名,年龄,性别属性 学生主要行为就是学习,还可以玩游戏, 请使用面向对象的方式描述学生类并且定义一个StudentTest类,在主方法中测 试学生类 

3. 封装(这块关键字 权限修饰符--- >private) 

      如果学生的年龄,手机价格,,赋值的时候可以随便赋值,可能出现非法数据"负数" 以后:描述事务的时候,需要定义类,类中的所有的成员变量(现实世界事物的属性) ,必须都是私有化private;  

封装 : 就是将显示世界事物的属性隐藏了(加入一个关键字private), 私有的,无法直接访问的,对外数据的安全性!(外界不能访问的)

对外提供一个方法,公共的(public)访问方法(setXXX()/getXXX()) 

注意事项: 

        以后在书写的代码的时候,写一个类,描述真是存在事物的属性的时候, 需要属性(英文单词字母全部小写)全部加入private 

面试题:private关键字的特点? * private关键字的特点?* 

    1)被private修饰的成员变量以及成员 方法只能在本类中访问

    2)可以修饰成员变量也可以成员方法,就是为了外界不能直接访问

    3)被private修饰的成员变量/成员方法可以间接的通过 通过的方法访问;

e2007503b412405ba92ec9ab646ba862.png

50a7eeac723b4019b0a6b21bd31d3f15.png e7c93ea05b9d4882a9e6ba12c8ab2497.png

学习心得:
1.敲代码速度太慢,会是感觉会,不能很快的应用到问题里,缺少积累和训练,需增加代码量。
2.自己日常学习效率太低,花费时间多,高耗低效!!!需在接下来的时间里明确学习目标,更加专注.
3.日常有些散慢了,可能跟习惯有关。学习状态需调整,需进入一个紧张的学习状态和氛围,后续难度较大,内容较多,节奏更快.
4.基础能力不够,理解能力有点差,要经过多遍反复复习,加深理解。

已经两周结束了,感觉还是没达到自己的要求,继续加油吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值