java基础

2022/7/16

java基础

  • JVM Java 虚拟机 解析及运行java程序
  • 1.java ----编译(javac)----1.class----运行(java)—JVM(不同操作系统不同)
  • JDK = JRE(运行环境)+java开发工具[as: java 、javac…]
  • JRE=JVM +Java 核心类库

p17

2022/7/17

java 格式
  • main 固定书写格式 public static void main(String[] args) {…}
  • 严格大小写
  • 语句结束必须有分号;
  • 大括号成对出现: 先写大括号再写语句
  • 一个源文件只能由一个 public类 其他类不限 每一个类编译后都对应一个.class
  • 如果源文件只有一个public 类 则只能用该类命名
  • main 方法可写在其他类中 入口方法即非Public类的方法 可指定运行类
转义字符使用
  • 制表位 回车 单引号 双引号
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kFr47NAA-1660920574201)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220717165835686.png)]

java 初学易犯错误

  • 文件名写错误 或路径错误
  • 文件名 公共主类要一致匹配
  • 缺分号 括号 引号
  • 中英文字符混肴

java 注释

  • 单行注释 双反斜杆//

  • 多行注释 /* 。。。。*/ 不能嵌套多行注释

  • 文档注释 javadoc 注释内容 javadoc -d 文件地址 -author -version 文件名

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oIl2Ntov-1660920574203)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220717180512603.png)]

java代码规范

  • 类、方法注释 javadoc
  • 运算符 两边默认敲空格
  • tab 右移 shift+tab 左移
  • 行尾风格(括号行尾起) 次行风格(括号 另行起)

2022/7/18

DOS命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4yCESLzF-1660920574204)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220719100519165.png)]

作业

2022/7/19

java变量:程序基本组成单位
  • 变量三要素:类型 名称 值 {int a = 1 ;}
  • int 1 ; double 1.11 ; char ‘a’、‘女’ ; string “abc”
  • 类型不同 占用字节不同 【int 4; double 8 字节】
  • 变量必须先声明 后使用
  • 变量值可以在同一数据类型内变化
  • 变量在同一个作用域 不能重名 不同 可
+号使用
198  10098 103hello hello1003
1:左右两边都是数值  加法
2:左右两边有一方是字符串  拼接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jsey4Lo3-1660920574206)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220719202355454.png)]

数据类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-81D5R4cg-1660920574207)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220719202544138.png)]

java 数据类型两大类: 基本数据类型 8 个{ byte int short double floot long char boolean }
                   +引用类型 3个 {class类 interface接口 数组}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fXEejsaG-1660920574208)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220719203439452.png)]

2022/7/20 day 5

整数类型使用细节

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VPKppOPO-1660920574209)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220720120221999.png)]

1 固定大小所占字节 
2 long 型常量后要加L  (8字节) 大数
3  1 byte (基本存储单元)= 8 bit 最小存储单位

浮点类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W9N2wecM-1660920574210)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220720121348732.png)]

1 float  4byte  (需说明、且要加f/F)
2 double  8byte (默认,更准确)
3 浮点数= 符号位+ 指数位+ 尾数位
4 表示方法= 十进制、科学计数法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GMRFZpyI-1660920574211)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220720121600407.png)]

1 使用小数  运算结果是小数 相等判断要注意【应该以两数差值在某个精度范围内判断】
2 
image-20220720123402506
java API 使用方法–应用程序编程接口
java 类组织形式 ---查询文档
字符类型 char
1 可以直接存放数字(输出其ACII码)、汉字
2 单引号  
3 可使用转义字符
4 可以运算
5 本质是整数

存储:字符型--对应码值--转换二进制--存储
读取: 二进制--对应码值--字符--显示
ASCII  一个字节 8位 一共128个字符(一个字节可以表示256字符但这里只用128个)[美国制定 ]
Unicode--两个字节表示字符(字母、汉字均占两字节)
utf-8  ----大小可变(字母1字节  汉字3字节)
GBK ----大小可变(字母1字节  汉字2字节)

· 快捷键 ctrl shift D 复制整行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TtQHY2Rc-1660920574212)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220720153546660.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-26LZ1zs4-1660920574213)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220720160103635.png)]

布尔类型
1 占用1字节 (8bit
2 返回 true flase  
3 [不可以用0 或非0 替代]
基本数据类型转换[8种 byte short int long float double char 布尔boolean]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KmZZ9cdv-1660920574214)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220720162417108.png)]

数据类型按精度 大小排序
char 2 --int 4--long 8 --float4--double8
byte 1-short 2--int 4--long 8-float-double8

1 多种数据类型混合运算时--将所有数据自动转化为容量最大的数据类型 再计算
错 --int a = 10 ; float b  = num + 1.1 [此时自动转化为double]
对---int a = 10 ; doubLe b  = num + 1.1【float b  = num + 1.1f】
 
2 精度大的数据类型转化为精度小的数据类型 会报错 【不能大转小】
3 [byte\short ] 不能自动转化 为char ;但可以计算 自动转化为int
4 布尔类型不参与类型转化
5 表达式结果自动转为类型最大的
强制类型转换--数据溢出、精度损失
加上()强制转化符--只对最近操作数有效,可使用小括号提升优先级
image-20220728112550356 image-20220728112917340
基本数据类型-- string 之间转化
1 加上双引号
2 通过包装类 调用parsexx
string a = "123";
int num =Integer.parseint(a);
double num = Double.parseDouble(a);
char
String n = char +"";  //char转string

2022/7/21 day6

运算符 6个

image-20220721110254001
1 算术【对数值类型变量运算】

2 赋值
3 关系/比较
4 逻辑
5 位
6 三元
image-20220721104516652 image-20220721105021626 image-20220721110314884 image-20220721110943423

易错点

1 自赋值 使用临时变量 temp=j; j=j+1; j=temp
2  j=j+1; temp=j,j=temp;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-REE9nPPy-1660920574215)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220721111702455.png)]

关系运算符

1 布尔型 2 运算结果T/F ;3 比较==是否相等双等号

image-20220721115713597

逻辑运算符

1 与&、 或|、 非!、 异或^

2 短路与&& 、 短路或|| 。—效率更高

image-20220721115723103 image-20220721115922767 image-20220721121107158

赋值运算符

image-20220721123456308

2022/7/24 day 7

赋值运算符
1 运算顺序:从右至左
2 复合赋值运算 会进行强制类型转化
3 运算符左边只能是变量 右边可以是变量、表达式、常量
三元运算符
image-20220724113049611

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KnHraXWN-1660920574216)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220724113703032.png)]

1 真一假二  假不执行
2 表达式1、2 均为可以赋值给接受变量的类型(或可自动转化)
image-20220724115442071

标识符

image-20220724115554921
易错
1 数字不能开头
2 可以含_ 、$
3 不能有空格
image-20220724120059141

标识符规范

image-20220724120212297
1 包名 全小写
2 类名、接口名:大驼峰XxxYyyYaa
3 变量名、方法名:小驼峰 aaAqqAzz
4 常量名: 全大写 加_下划线连接

键盘输入

image-20220724121506864

四种进制

 1: 二0b、八0、十、十六0x进制
 2: 二进制转8进制:三位一组  二进制转16进制:4位一组 反之一样
image-20220724123357252

位运算

1: 最高位符号位 0正数1负数
2: 正数原码补码反码一样  
   负数反码等于原码除符号位其余位取反 补码等于反码+1
   0 反码补码都是0
3:java数都是有符号数
4:计算机使用 补码 运算  (可以统一计算正负数)
5:运算结果 原码
image-20220724130404076 image-20220724141034854
1  算术位移 1>>2 0000001  0000000001(0) 本质1/2/2=0
           1<<2 0000001  0000100    本质1*2*2=4
           15 >>2 --15/2/2=3
           -1>>2  10000001-11111110-11111111 -1111111--1111110 1000001 (-1)
           -1<<2  10000001-11111110-11111111 -11111100-- 11111011-- 10000100-(-4)

2022/7/25 day 8

顺序结构
image-20220725115350901
分支控制
image-20220725115548058 image-20220725121729326 image-20220725145147243

多分支可 —无else

嵌套分支–不要超过三层
image-20220725151414778

字符串 转化为 char 【char gender = meSCanner.next().charAt(0);

Swith 分支结构
image-20220725154841212
1 :break : 结束swith 不结束程序 
2: 表达式的值 对应 case 后各种常量值--逐句运行直到匹配 否如下3
3: 无匹配则 default
4:语句1匹配且 后无break 直接执行语句2 无需判断是否匹配(穿透)直到遇到break;
image-20220725161814888
1: 表达式 与 常量  同一类型或 可用自动转化 (如char-int
2: 表达式返回值类型 只能是(byte short int char enum枚举 String
3:case 常量值 不能是变量
image-20220725171815536

2022/7/26 day 9

for 循环—for(i=0;i<10;i++){语句}
image-20220726085726567 image-20220726090230408
1 ;循环条件 返回布尔值
2 :for(;循环判断;){}
 初试化、变量迭代可用写到其他位置,但分号不能省
3 : for(;;){} 死循环
4 :初始值 可多条语句但类型一致、逗号隔开;变量迭代同理
编程思想
1 化繁为简 --复杂需求 逐步拆解 简单需求
2 先死后活--先考虑固定值 再转化灵活值

while循环
image-20220726100738080 image-20220726100910012
1  while --先判断后执行
do while循环----先执行后判断–至少执行一次
do{语句;变量迭代}while{循环条件}
image-20220726102723949 image-20220726103034099
多重循环嵌套
image-20220726112940660
1 嵌套最多三层
2 总循环次数= 外层循环* 内层循环 { 内层循环走完一轮才进行一次外层循环}

空心金字塔

image-20220726143328566

2022/7/27 day 10

Math.random() 随机数 [0.0 , 1.0)
break语句----跳出最近循环体
image-20220727101246130
1 可以指定退出哪一层 (通过label
2 但实际中 尽量不用  默认退出最近循环体
1 :String name = mySCanner.nextLine();//将输入保存到一个字符串变量中 String name = mySCanner.next();也可
int key = mySCanner.nextInt();  //输入整数
char gender = meSCanner.next().charAt(0);//输入字符

2 :str1.equals(str2) ;//比较两字符串  返回布尔值t/f
continue 语句----跳出本轮 循环 继续下一轮
image-20220727110252986 image-20220727110355907
1 结束本次循环,继续下一次循环---
2 也可以加标签lable 跳过某一层循环
Return语句—跳出当前方法—用在main主方法 退出程序
image-20220727112744465

2022/7/28 day 11

数组-array----int [] num = {, , , };
image-20220728095648557 image-20220728100500260 image-20220728100850583
1 数组名.length---得到数组长度
2  数据类型[] 数组名  /   数据类型 数组名[] = new 数据类型[大小]
3  下标、索引index
image-20220728102819498 image-20220728102904090
1 先声明数组、再创建数组
int a[];
a=new int[10]; //    int a[]=new int[10];  
2 静态初始化
int a[]= {1,,,,}
3 易错: int a[]=new int[]{2,3,5}; new后边的中括号不能有具体值。
       错误: int a[]=new int[3]{2,3,5}; 
image-20220728103536771
使用细节:
1: 数组内——数据类型一致
2: 数组内可用--基础数据类型(8)、引用数据类型(3 类、接口、数组)
3:  数组创建后没赋值 默认空 0 / False 
4: 数组下标从0开始
5: 下标有范围[0,array.length)

image-20220728103841878

数组赋值机制

1 基本数据类型 赋值----只拷贝具体的值【两栋房子】       n2变化不影响n1
2 引用数据类型  赋值---赋地址!!内存一样     arr2变化会影响arr1
   【一栋房子 两把钥匙】
3 
image-20220728114120606
排序(8种)—冒泡排序
1 内部排序、 外部排序
2 冒泡排序---依次从后往前比较相邻元素,逆序交换

-2022/7/29 day 12

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v32BOFmX-1660920574217)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220729120055885.png)]

image-20220729144722293
查找–顺序查找 、二分法查找
image-20220729151557268
1 .二分查找-数组是有序的---根据数组下标范围查找

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w3gxCIfX-1660920574218)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220729162248695.png)]

二维数组-
1: int[][] num ={{},{},....};  num.length 对应二维数组长度
2: 每个元素都是一个一维数组, num[i].length 得到对应一维数组长度
3: num[i][j] 二维数组中  第i+1个一维数组的第j+1个元素

二维数组-使用方式

1: 动态初始化 int a[][] = new int[2][3]-一维数组个数+一维数组元素
  //或 先声明再创建; int a[][]; a=new int[2][3];
  //或 列数不确定---二维数组中一维数组元素个数可以不同---
  int a[][] = new int[2][3];   a[i]=new int[i+1]
  //先确定一维数组个数--再个一维数组开空间--给一维数组每个元素赋值
2: 静态初始化 int a[][] ={{1,1,2},{8,8,9},{100}}
  // 三个一维数组、第1、2个有三个元素、第3个只要一个元素。

二维数组存放方式:

image-20220729170442365

二维数组细节:

image-20220729182129690
1 声明 括号位置不影响
2 二维数组 中一维数组可以长度不同---先声明后 给一维数组开空间。

二维数组易错:

1:  x 一维数组 ; y二维数组
image-20220729182554282

-2022/7/30 day 13

面向对象
1: 类与对象--类[属性][行为]--对应--对象【具体实例
 从类创建一个对象/ 把类实例化、
2: 猫类--自定义数据类型
    int--java提供的数据类型
image-20220730122707048 image-20220730152105230

对象在内存中的存在形式

1:属性==成员变量==field
2;属性可以是 基本数据类型、引用数据类型
image-20220730154842309 image-20220730155228668

属性的细节、注意事项

1;属性定义: 访问修饰符 属性类型 属性名;
访问修饰符有四种: public proctected 默认 private
2; 
image-20220730160135379

创建对象

1;先声明再创建   Cat xi;      // 只声明,空间还没分配为空
               xi=new Cat(); //开空间
2;直接创建      Cat xi= new Cat();
image-20220730160714553

类与对象的内存分配机制

1;类似数组 基本数据类型 -堆里直接存放
           引用数据类型--堆里存放方法区地址 方法区存放具体值
       Cat cat1=cat2; 赋值时---相当于同一房子两把钥匙
2:栈--存放基本数据类型..
   堆--存放对象、数组..
方法区--存放常量池、类加载信息...

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ge11A677-1660920574220)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220730161612747.png)]

image-20220730162203800

易错

b= null ---地址置空
输出---小明、200、、报错异常
image-20220730163005096
方法(成员方法)—类与对象–类[属性[行为] 体现对象的行为
1, 类似函数--可传参--可有返回值
2, 方法调用机制
image-20220730170521387 image-20220730170535721 image-20220730170615513

方法调用机制

1;方法--开辟独立栈空间--方法中有return--返回调用位置--继续后面代码
2; 方法使用好处----解决代码重复 减少冗余---提高代码复用性
              ----将细节封装起来,提供调用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BRmBTBQu-1660920574221)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220730173034937.png)]

成员方法定义

1;  public 返回数据类型 方法名(参数列表){、、语句 、返回值return}
2; 返回数据类void(无返回值无return) int(返回Int值 有return)
image-20220730174735894

成员方法使用细节

1;访问修饰符 返回数据类型 方法名(参数列表){、、语句 、返回值return}
访问修饰符(4种)上面写过
2;一个方法最多一个返回值   {多个结果--通过放回数组}
3; 返回数据类型 和return值 类型必须一致
4:方法名 -驼峰法 见名知义
5:参数可以有多个 也可以没有,,参数类型可以是基础、引用数据类型
6;传参--传入对应类型的参数 数据类型相同或可以自动转化
7; 形参 :方法定义时的
    实参: 方法调用时传入的参数
    形参 实参数据类型一致或兼容、 个数、顺序一致
8: 方法不能嵌套定义
image-20220730180540337 image-20220730183234465
9:  同一个类的方法  直接调用
10;  跨类调用--【创建对象-再调用
image-20220730183750475

p211

-2022/7/31 day 14

成员方法传参机制—十分重要

1;值传递   地址传递
2:基本数据类型--值传递---形参改变不影响实参
3:引用数据类型--地址传递---可以通过形参改变影响实参
4:调用方法就会产生一个新栈

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TC2Z8e08-1660920574222)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220731100837306.png)]

值传递---形参改变不影响实参

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aOjqbWos-1660920574222)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220731102920707.png)]

地址传递---可以通过形参改变影响实参

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gsR46Fmr-1660920574223)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220731102930129.png)]

 调用方法在栈中开辟新空间
方法递归调用–方法调用自己本身
1 方法不能嵌套定义 --但可以 递归调用 
2 本质---有点类似循环、、
3 调用方法 开一个新栈 每个新栈完整执行全部代码------先递 后归

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VFni6CGh-1660920574225)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220802100429009.png)]

递归程序—阶乘factorial

1 栈 自下而上 堆叠 --放返回时 自上而下 {在哪调用方法 就返回 哪}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7VX0VI3H-1660920574226)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220802102557577.png)]

递归 规则

1 调用方法--开辟新栈
2 方法内部局部变量 独立
3 引用数据类型 --地址传递 ---数据值一样
4 递归必须向着 --已知初始值靠近、向结束递归条件靠近
5 谁调用 谁返回
image-20220802103327490
 广度优先搜索、深度有限搜索

-2022/8/3 day 15

方法重载–overload
image-20220803115021145

方法重载细节

1 方法名相同
2 参数列表至少有一个不同(个数、类型、顺序  【与参数名称无关
3 返回类型 不是构成方法重载的条件 无要求------------------------------------返回类型不一致 参数列表都相同 --不构成方法重载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r08ZyK56-1660920574227)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220803121000825.png)]

可变参数

1  多个同名同功能 但参数个数不同 --封装--通过可变参数
2   public int mm(int...num){}
image-20220803124935028

可变参数注意细节

1 可变参数 实参个数0到多个【传入实际参数--实参
2  实参可以为数组   public int mm(int...num){} -调用时 mm.(arr)
3 可变参数的本质就是数组
4 可变参数可以和普通类型参数 一起传入--但位置在最后
5 参数列表 只允许至多一个可变参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PoucQhYt-1660920574228)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220803130044376.png)]

变量作用域
1 局部变量、全局变量
image-20220803133754249

-2022/8/5 day 16

1 全局变量 -属性 作用域整个类体 ,可在方法中直接使用 可以不赋值有默认值  【属性不赋值 则有默认值 0、False、null 】
2 局部变量 作用域仅仅为当前方法中 必须赋值后使用 无默认值

作用域 使用细节

1 属性 局部变量可以重名  访问时就近原则
2  同一方法中 两局部变量不能重名
3 全局变量 还可以跨类使用  可以加修饰符
4 局部变量 不可以加修饰符
image-20220805163345603 image-20220805164210112
构造器
1 构造器 -----[修饰符] 方法名(形参列表){。。}
2 修饰符可以默认
3 没有返回值 
4 方法名 必须和类名一致
5 构造器作用---完成对对象的初始化值(对象已经创建好了 初始值还没有
6创建对象时 系统自动调用构造器完成 对象初始化
image-20220805164719563 image-20220806121454498

-2022/8/6 day 17

构造器使用细节

1 一个类可以指定 多个构造器
2 构造器也可以重载 和方法重载一致
3 构造器名字 和类名 一致
4 构造器没有返回值
5 构造器是完成对象初始化   不是创建对象 对象在调用时已经创建好对象空间
6 创建对象时 自动调用构造器
7 没有定义构造器 系统生成默认无参构造器  dog(){ } 
[可以使用  javap 对.class 文件反编译  使用 javac -c、-v 类名】 
8 一旦定义构造器 默认构造器被自动覆盖 不能再使用默认构造器除非自己再 定义一个无参构造器(重载一个)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xU4ZWa96-1660920574229)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220806121416133.png)]

image-20220806122428050

对象创建流程

1 方法区  加载类 只加载一次
2 堆中 分配空间 地址
3 完成对象初试化 i [默认0、null] ii[显示初始化] iii[构造器初始化]
4 将对象属性在堆中的地址返回给 栈中的对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLt7EoTP-1660920574230)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220806140617757.png)]

this关键字
1 java虚拟机会给每个对象分配 this 代表当前对象,
2  this.属性---当前对象 全局变量 指向对象本身 (相当于 ‘我’

this 使用细节

1 可以访问本类的属性、方法、构造器
2 可以用于区分当前类的属性和局部变量 
  当前类没有其他局部变量 可以省略this
3 访问成员方法 this.方法名(参数列表)
4 访问构造器  this.(参数列表) ---只能在构造器中访问另外一个构造器 
           且此语句必须在放置在第一条
5 this 只能在 该类 内部使用 【Π Math.PI】
6 this 可以调用其他构造器  同4
1 a++ ;先赋值(输出)后自增
 ++a:先自增后赋值;

-2022/8/16 day 18

idea 快捷键
1 删除行
2 复制行
3 补全代码
4 注释 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7B3woGQ-1660920574232)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816194554616.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gOlzbk8d-1660920574234)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816194658282.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TYIJUmqp-1660920574235)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816200032397.png)]

模板使用

1 main
2 souf
3 sout
4 fori
5 自定义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9dEymVF2-1660920574236)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816202732494.png)]

1 package 包名
2 包的本质: 创建不同的文件、目录 保存类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JV0JFPH2-1660920574237)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816203123786.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mR8gwD3Q-1660920574239)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816205404455.png)]

包的命名规则

1 不能有关键字、保留字
2 不能以数字开头
3 只能含数字、字母、下划线、小圆点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vx7yyJay-1660920574239)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816211548401.png)]

常用包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lhpystry-1660920574240)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220816211840380.png)]

p278

引入包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QcCsk5sk-1660920574241)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220817212554756.png)]

包的注意事项

1 package 打包 放在类的最上面、一个类最多一个package
2 import 放在类定义前 package 之后 可以有多条且无顺序

访问修饰符

1 访问修饰符有四种: public proctected 默认 private
public: 对外公开
protected; 对子类、同包的类、同类公开
默认:同一个包的类公开
私有:private :只有类可用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FTfYIdcb-1660920574242)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220817213906705.png)]

修饰符注意细节

1  不同包下 只有public 下属性可以被访问
2 同包下 不同类只有 private 不能被访问
3 同一类 四种修饰符 下属性都可访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z65qw0zo-1660920574243)(C:\Users\22272\AppData\Roaming\Typora\typora-user-images\image-20220817214038612.png)]

08/18

封装encapsulation–将数据属性及方法封装到一起
1 隐藏使用细节 方法--调用(传参)
2 安全
封装实现步骤
1 属性私有化 Private 外部不能直接修改
2 提供公共(public)set方法 用于对属性判断、赋值
3 提供公共(public)get方法 用于获取属性值
1在构造器中调用set方法 --也可以用于数据验证 加强防护 避免通过设置构造器 导致数据直接通过 绕过数据验证
2 

2 包的本质: 创建不同的文件、目录 保存类


[外链图片转存中...(img-JV0JFPH2-1660920574237)]

[外链图片转存中...(img-mR8gwD3Q-1660920574239)]  

包的命名规则

1 不能有关键字、保留字
2 不能以数字开头
3 只能含数字、字母、下划线、小圆点


[外链图片转存中...(img-vx7yyJay-1660920574239)]

常用包

[外链图片转存中...(img-Lhpystry-1660920574240)]

p278

引入包

[外链图片转存中...(img-QcCsk5sk-1660920574241)]

包的注意事项

1 package 打包 放在类的最上面、一个类最多一个package
2 import 放在类定义前 package 之后 可以有多条且无顺序


访问修饰符

1 访问修饰符有四种: public proctected 默认 private
public: 对外公开
protected; 对子类、同包的类、同类公开
默认:同一个包的类公开
私有:private :只有类可用


[外链图片转存中...(img-FTfYIdcb-1660920574242)]

修饰符注意细节

1 不同包下 只有public 下属性可以被访问
2 同包下 不同类只有 private 不能被访问
3 同一类 四种修饰符 下属性都可访问


[外链图片转存中...(img-z65qw0zo-1660920574243)]

08/18

###### 封装encapsulation--将数据属性及方法封装到一起

1 隐藏使用细节 方法–调用(传参)
2 安全


###### 封装实现步骤

1 属性私有化 Private 外部不能直接修改
2 提供公共(public)set方法 用于对属性判断、赋值
3 提供公共(public)get方法 用于获取属性值


1在构造器中调用set方法 --也可以用于数据验证 加强防护 避免通过设置构造器 导致数据直接通过 绕过数据验证
2


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值