学习笔记 韩顺平 零基础30天学会Java

2024.6.18

10 Java_jdk介绍

      1.Java跨平台的原因

            虚拟机JVM,不管是什么设备,都是在JVM里面运行,在什么设备就用什么设备的JVM

      2.如何安装JVM

            包含在jdk里面

      3.JDK有什么组成

            JDK = JRE + java开发工具(java,javac,Javadoc,javap等),JRE = JVM + Java核心类库。如果只要运行写好的Java程序,只需要安装JRE

P18 Java运行机制

P35 变量原理

      讲解了定义一个变量,赋值输出的基本原理

P36 变量概念

1.变量的理解

            变量可以理解为一个门牌号,通过门牌号可以找到附件,通过变量名可以访问到变量的值

P37 变量入门


2024.7.3

最近在纠结要不要提前去学校打工,楼上在装修,总是好吵,和朋友绝交了。。。好多事

P38 变量细节

P43 浮点数使用

      面试可能问:浮点数在机器中的存放形式 浮点数 = 符号位 + 指数位 + 尾数位

      浮点数常量默认为double,如果是float,必须在后面加f

      Foat num = 1.1 错误;double num = 1.1f 正确;储存空间大小导致的

      通常使用double,为了精度

P44 浮点数细节

      浮点数使用陷阱:

            Double num1 = 2.7;

            Double num2 = 8.1/3;  //结果不是2.7,是一个接近2.7的小数,运算的结果是小数的时候,进行相等判断要小心。应该是以两个数的差值的绝对值,在某个进度范围内判断

P45 Java文档

     

P63 算术运算符

P64 算术运算符使用

      /是除,不是取整数商

            System.out.println(10/4);//结果是2

            System.out.println(10.0/4);//结果是2.5

            Double d = 10/4;//结果是2.0

      %,取模

                  %的本质是:a % b = a – a / b * b

                  System.out.println(10 % 3);//1

                  System.out.println(-10 % 3);//-1

                  System.out.println(10 % -3);//1

                  System.out.println(-10 % -3);//-1

      ++,自增

            作为独立语句i++,++i,是同样的

            作为赋值有区别

P81 运算符优先级


2024.7.4

P81 运算符优先级

 

P82 标识符规则

      1.但凡自己可以取名字的地方就叫标识符

       2.标识符命名规则

P83 标识符练习

      Goto是保留字

P84 标识符规范

P104 顺序控制

P105 分支控制

P106 单分支流程图

P107 双分支使用

P115 switch基本语法

P116 switch流程图

P117switch快速入门

            实操:

Import java.util.Scanner;

Public class  {

   Public static void main{

New myScanner = new Scanner(System.in);

System.out.println(“请输入一个字符”);

Char c1 = myScanner.next().charAt(0);//把接收到的字符串转成一个字符,意思是取第一个

Switch(c1){

Case a:

System.out.println(“今天是星期一”);

Break;

Case b:

System.out.println(“今天是星期二”);

Bresk;

Defult:

Break;

}

}

}

P122 for基本语法

P123 for执行流程

P124 For细节

P125 for编程思想

      做题:打印1~100之间所有9的倍数的整数,统计个数,以及总和(思想:化繁为简,先死后活)对应chapter05 for01.java

      心得1:一个一个需求来解决,在第一个需求的基础上解决第二个需求,之前总是想一起把所有的解决了,一个一个加上去,再改,应该是正确的

      心得2:代码灵活性进阶,将范围和倍数全部从常量改为变量

P126 for编程思想2

      做题:输出计算式

对应chapter05 for02.java

P127 while 基本语法

P128 while 执行流程


2024.7.5

P137 break需求

      1.问题:随机生成1~100的一个数,直到生成了97这个数,看看一共用了多少次

2.math.random()返回大于等于0.0,小于1.0的整数。(int) (math.random()*100+1)返回0~100的整数

P139 break执行流程

P156 数组必要性

P157 数组快速入门

      可以通过数组.length得到数组的大小

P158 数组使用1

      使用方式1:动态初始化

            数据类型 数组名[] = new 数据类型[大小]

            数组的循环输入和输出,代码见chapter06\Array01.java

使用方式2:动态初始化,先声明再创建

使用方式3:静态初始化

P192 类和对象的引出

P193 类与对象概述

      1.对象主要由属性和行为构成

       2.类就是数据类型,如cat。对象就是具体的实例

P194 面向对象快速入门

P195 对象内存布局

P196 属性概念

      1.常见叫法:成员变量 = 属性 = field(字段)

P197 属性注意细节

      属性语法同变量,示例:访问修饰符 属性类型 属性名

            访问修饰符包括:public protected 默认 private


2024.7.9

跟老师说清楚了,聊了很久,最后决定不提前去,研0的最后一个暑假在家好好学Java

P197 属性注意细节

      1.属性语法同变量,示例:访问修饰符 属性类型 属性名

            访问修饰符包括:public protected 默认 private

      2.对于新建对象的理解

            例:Person p1 = new Person();//new person是新建的一个对象,再被赋值给p1,p1是指向这个新建的对象,可以把p1理解成对象引用,或者对象名。new person()是创建的对象空间,才是真正的对象

P198 创建对象访问属性

      1.创建对象的方式

            先声明再创建:Car cat;  cat = new Cat();

            直接创建:Cat cat = new Cat();

      2.如何访问属性

            对象名.属性

P199 对象分配机制

P200 对象创建过程

      Java创建对象流程

            示例代码:Person p = new Person();

                              p.name = “jack”;

                              p.age = 10;

加载类信息,只会加载一次

在堆中分配空间,进行默认初始化

把地址赋给P,P就指向对象

进行指定初始化

P228 重载介绍

      1.基本介绍:Java中允许同一个类中,多种同名方法的存在,但是要求形参列表不一致

P229 重载快速入门

P230 重载使用细节

      方法名一样,形参的顺序或类型或都不一样,参数名没有要求,返回类型无要求

P234 可变参数的使用

      使用情景示例,三个方法,分别对应两个数、三个数、四个数相加的和,用方法重载写比较麻烦,使用可变参数

      写法:public int sum(int… nums){

                        int  res = 0;

                        for(int I =0; I < nums.length; i++){//将可变参数看成数组

                              res += nums[i];

}

                        return res;

}

P237 作用域基本使用

      1.Java中主要的变量是属性(成员变量/全局变量)和局部变量(一般就是成员方法中定义的变量)

      2.作用域分类:全局变量是整个类,局部变量是在他定义的代码块中

      3.全局变量可以不赋值,因为有默认值,局部变量不行

P238 作用域使用细节1

P239 作用域使用细节2

      跨类访问属性:在新类的方法中中创建另一个类的对象;在新类的方法中,直接将另一个类传进去

P240 构造器基本介绍

      对初始化的理解:相较于属性的默认值,构造器可以在初始化时就对属性进行赋值

      基本语法:[修饰符] 方法名(形参列表){

                                          方法体;

}

P241 构造器快速入门

      代码见chapter07/javac construstor01.java

P242 构造器使用细节1

P243 构造器使用细节2

      javap可以把.class文件从字节码反编译成程序员可以看懂的代码

      当有自己定义的构造器,而没有再定义默认无参构造器,用无参方法新建对象会报错,像Dog dog1 = new Dog();这样的是默认无参的

P244 构造器课堂练习

      见chapter07\ConstrustorExercise.java

P245 对象创建的流程详解

      1.加载Person类信息(Person.class),只会加载一次

      2.在堆中分配空间(地址)

      3.完成对象初始化(3.1 默认初始化 age = 0, name = null 3.2显式初始化age = 80, name = null 3.3构造器初始化 age = 20, name = 小倩)

      4.在对象在堆中的地址,返回给p(p是对象名,可以理解为对象的引用)

P246 引出this

P247 this入门

      构造方法:public Dog(String name, int age){

                                    name = name;

                                    age = age;//此时就是自己给自己赋值,Dog dog1 = new Dog(“大户”,18),但是得到的name和age都是默认值

                                    this.name = name;

                                    this.age = age;//此时this.name this.age都是指当前对象的属性name age,再使用Dog dog1 = new Dog(“大户”,18)就可以初始化成功

}

P273 包基本介绍

      基本语法:package 包名

P274 包原理

      包的本质就是创建不同的文件夹来保存类文件

P275 包快速入门

      包可以看成一个目录,在src下建一个com.xiaoming1的包,对应在src文件夹中会有com文件夹,com文件夹中又有xiaoming这个文件夹

P279 访问修饰符规则

P280 访问修饰符细节

P281 封装介绍

P282 封装步骤

P283 封装快速入门

      快捷键快速创建get和set:alt和insert

      快捷键运行,对于一个文件,第一次手动运行,后面就可以用快捷键的

快速入门案例:

代码见:chapter08:Encapsulation.java

P284 封装与构造器

      使用构造器进行设置时,可能会导致防护失效,对于此,可以将set方法写到构造器中。

      例:Person(String name, int age, double salary){

                              setName(name);

                              setAge(age);

                              setSalary(salary);//或者是this.setSalary这样的

}

P285 封装课堂练习

      代码见Account.java和AccountTest.java.

      问题1:没有考虑构造器问题,应该考虑无参和有参构造器,以及咋有参构造器中对设置的保护

      问题2:输出的错误提示不够规范

      提升:可以在输出结果的info方法中,增加身份校验


  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值