Java Day4总结

一,笔记

1.循环:
1.常规的死循环:

while (true)  和    for (;;)

2.循环嵌套(三种循环都可以进行相互的嵌套)

执行的规律 :   外层循环循环一次  内存循环循环一遍。(记住,掌握)

2.数组
1.定义:

用多个变量来记录同一种类型的数据,即:就是一个容器    也就是一个特殊的变量

2.特点:

1.数组是引用数据类型
2.可以存多个同类型的数据
3.数组的长度在运行期间不能够变改变

3.初始化数组:

动态初始化方式:  
语法:    数据类型[]  数组的名称 =  new     数据类型[数据的长度];
如:int[] arr = new int[6];
注意点:
1.前后的数据类型必须一致
2. 动态初始化必须给其长度   
3. 数组的类型既可以是引用数据类型也就是基础数据类型  
4. .数组只初始化都会有默认的值 
静态初始化:
语法:int[] moneys= new int[]{1,2}; 或 int[] moneys ={1,2};
注意点:
1.静态初始化时根据具体的值来推算出其长度
2.静态初始化不需要给其长度

数组取值:

如果直接输出是数组的名称,获取的数组的内存地址的哈希值.(16进制)
获取数组长度:数组名称.length

3.java划分了五块内存

a.栈(都是局部变量):  
 局部变量包含两部分
 1. 方法里的参数
 2.方法类的变量
 3. 只要离开作用域,值在栈里就不存在
 4. 所有的方法的执行都是在栈里执行
 5.所有方法里的变量都是随着方法的开始而开始,方法的结束而结束(除了静态变量)

b.堆
只要是new  出来的东西都是在堆里, 所有存在堆里的数据都有一个内存地址,这个地址都是十六进制的。
所有存在堆里的基础数据类型,或者是引用数据类型都有默认值 。

c. 方法区, class字节码的信息     方法里的基本信息(比如方法叫什么名字)
	d.本地方法栈,系统有关 
e.寄存器: cpu有关   

内存分析:

 1.数组创建的时候, 都会在栈与堆里面有同样一个地址,所有的赋值取值操作都是通过栈里面的地址。 
 2. 去找堆里的地址 进行赋值与取值.

赋值的方式 : 1直接赋值  2通过循环来赋值

数组常见错误:

1. ArrayIndexOutOfBoundsException 数组下标越界 
2. java.lang.NullPointerException   空指针异常  

二,总结

第四天的学习,感觉开始慢慢开始抽象起来,有点难理解了,每个课上的知识点需要比前一天多花时间去理解,才能真正的运用起来,该记的需要记忆。需记忆深刻的:money[i]=input.nextInt(); 。
定义中间变量:

int temp=price[0];
        for (int i=0;i<price.length;i++){
            if (price[i]<temp){
                temp=price[i];
            }
if (word[j]>word[j+1]){
                    char temp=word[j];
                    word[j]=word[j+1];
                    word[j+1]=temp;
                }

今天在写的是时候出错地方:
插入一个数字时,找到了位置,忘记中断了。

 //找插入位置
        for (int i=0;i<num.length;i++){
            if (num[i]>a){
                index=i;
                break;   //记的要中断;
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值