美文网首页Java复习
2020-07-21(基础回顾第一天)

2020-07-21(基础回顾第一天)

作者: 残烛_商志飞 | 来源:发表于2020-07-21 10:32 被阅读0次

1,byte字节范围问题

byte的范围是-128到127,

最大数值为127:计算方法如下,用原码表示为  0111 1111,所以是2^7-1;(第一位数是符号位,表示正负)

最小值是-128:计算方法如下,用原码表示为是 1000 0000

2,switch问题

switch(表达式)中,表达式如果是基本数据类型可以接收byte,short,char,int,

如果是引用数据类型可以接收枚举    (JDK1.5)String字符串(JDK1.7)

3,关于数据调用问题

基本数据类型的调用不会改变原来的值:当调用完毕函数的时候,会出栈,此时局部变量也会调出内存;

引用数据类型调用的时候会改变原来的值:调用函数-->栈中为函数分配空间-->函数改变堆中的内容-->调用完毕,函数出栈-->堆中的内容保存

4,成员变量和局部变量:   

成员变量:在类中方法外,属于对象,存放在堆中,有默认的初始值;

局部变量:在方法内,属于方法,存放在栈中,没有默认的初始值(必须自己定义初始值);

注意事项:当两之者名称一样时,采用就近原则;

5,匿名对象

匿名对象是指:没有名字的对象  "例如:new Person()",当只调用一次的时候可以使用,也可以作为实际参数来传递  "例如:void Test(new Person)"

6,private和封装

private修饰符修饰的变量只能本类中进行访问,外部需要访问时,可以设置两个方法getXXX(),setXXX();于是就完成了对象的简单封装。案例如下:

Class Persion{

    public String name;

    private int age;

    public void setAge(int age){

        this.age = age;

    }

    public int getAge(){

        return age;

    }

}

7,为什么要使用this关键字

在封装的过程中,习惯 成员变量 和 局部变量的名字相同,这种情况下使用this关键字可以标注成员变量,避免了由于重名和就近原则带来的困扰。

在上面的例子中,如果不适用this关键字,就变成了age = age。这种情况下,相当于局部变量自己给自己赋值.

8,构造方法

构造方法的特点:方法名和类名完全一样;没有返回值,没有void;没有返回值return;

构造方法的作用:一般是用于数据的初始化;

9,重载的定义

第一,方法名相同;第二,参数的个数,顺序,类型不同;第三,与返回值无关;

10,回顾内存的存储顺序

案例:

class Demo1_Student {

    public static void main(String[] args) {

        Student s = new Student();

        s .show();

    }

}

class Student {

    private String name = "张三";

    private int age = 23;

    public Student() {

        name = "李四";

        age = 24;

    }

    public void show() {

        System.out.println(name + "..." + age);

    }

}

步骤,1,class Demo1_Student加载入方法区;2,main方法进栈,3,class student进入方法去;4,栈中声明一个Student类型的引用; 5,堆中创建一个student对象,6,堆中初始化name和age,初始值时null和0; 7,给name和age分别赋值为张三和23; 8,构造方法进栈,修改堆中name和age的值为李四和24,构造方法出栈;8,student引用指向堆中的student对象; 9,show方法入栈,调用完毕再出栈;

11,static的用法

static修饰的成员变量存储在  该类  在特定方法区地址内的静态区中,所以赋值一次之后,该变量就一直保持这一个值不变;

main方法中不能直接调用本类中的非静态方法,但是可以直接创建本类对象,再调用非静态方法;

main方法中调用本类中静态方法可以直接调用,例如:类名. 方法名();类名可以省略,系统会默认自动加上;

12,Math中random的使用

如果随机取值0.000000-0.999999数字:利用Math.rangdom();

如果随机取0-99数字:利用(int)Math.random()*100;

如果随机取0-100数字:利用(int)Math.random()*100+1;

相关文章

  • 2020-07-21(基础回顾第一天)

    1,byte字节范围问题 byte的范围是-128到127, 最大数值为127:计算方法如下,用原码表示为 011...

  • 基础回顾

  • 2020-07-21 UGUI基础

    2020/7/21 今天我学习了UGUI基础,主要是学习了一些基本控件 一、UGUI介绍 1、UI发展史 ①Uni...

  • 冥想练习第二天(2020-06-12)

    冥想?‍♂️练习第二天 需要回顾第一天练习的说明,基于第一天练习的基础上牢记:只要练习时意识到思想被惯常的思维模式...

  • grpc 入门

    title: grpc 入门date: 2020-07-21 19:26:19 0. 前言 实习期间,公司项目使用...

  • shell 编程

    回顾: bash 的基础特性(3)

  • Swift基础回顾

    2018年5月2日23:13:27更新:这篇之前在iOS文集中,现在移动到Swift中来,swift其实很简单,但...

  • Python基础回顾

    @ 基本类型 mutable: dict, list inmutable: number, tuple, stri...

  • MySQL基础回顾

    最近准备一下面试,所以,重新走一遍基础。 1.删除命令 使用truncate 命令,清除表内数据,却不删除表结构...

  • sql基础回顾

    Write a SQL query that returns the first 10 rows from rec...

网友评论

    本文标题:2020-07-21(基础回顾第一天)

    本文链接:https://www.haomeiwen.com/subject/sdnbkktx.html