JAVA零碎知识点

参考:B站黑马程序员发布的视频内容   PTA

JDK

 

JAVA程序开发步骤

 

源文件 .java文件

有一个类是public类,源文件名字与该类名相同 扩展名为java

若源文件没有public类 源文件名字和某个类名相同即可 扩展名为java

例子

有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A ).

A.a1.java

B.a1.class

C.a1

D.都对

字节码文件  .class文件

如果源文件包含多个类,编译源文件将生成多个扩展名为class的文件。

每个clss的文件只存放一个类的字节码,文件名与类名相同

字节码文件存放在源文件相同的目录下

字面量

1.定义:数据在程序中的书写格式

2.分类

整数、小数、字符串、

字符、布尔、空(不能直接打印,需用字符串形式输出)

3.特殊字面量的书写

制表符 \t

打印时将前面字符串补到8或者8的倍数

 

空类型:null

变量

使用场景

重复使用某个值 , 某个数据经常发生改变

注意事项

变量只能存一个值

变量名不能重复

一句语句可定义多个变量

使用前一定要赋值

数据类型

 

 

补充:定义long、float类型变量 long a = 9999999L  float f = 10.1 F

     引用数据类型:除基本数据类型外均为引用类型 如数组

标识符

  1. 定义:给类、方法、变量等起名
  2. 命名规则

硬性要求

由数字、字母、下划线(_)、美元符($)组成

不能以数字开头

不能是关键字

区分大小写

软性要求

小驼峰命名法(方法、类名)、大驼峰命名法(类名)

键盘录入

 

补充:

 

参数

形参

方法中定义的参数

实参

实际参与的参数  方法中调用的参数

传递基本数据类型时传递的是实际值  形参改变影响实参值

传递引用数据类型时传递的是地址值  形参改变 影响实参值

类型转换

隐式转换

取值范围小自动转为范围大的

byte short char 在运算时直接转变为int,再进行运算

强制转换

byte r = (byte)(b1+b2)

算术运算符

+

_

*

%  取模

应用场景

  1. 判断A是否可以被B整除
  2. 判断A是否为偶数 A%2 结果为2->偶数  结果为1->奇数
  3. 斗地主发牌 每张牌定序号 序号%3 结果1->玩家1 以此类推
  4. 数值拆分

个位:数值%10

十位:数值/10%10

百位:数值/100%10

千位:数值/1000%10

字符串的“+操作

当“+”操作中出现字符串时  “+”为字符连接符,而不是算术运算符

e.g “123”+123    “123123”

连续进行“+”操作时  从右往左逐个执行

e.g 1+99+“黑马”   100黑马

当字符+字符 字符+数字  字符会通过ASCII码表查询到对应数字再进行计算

                                 A:65 a:97

自增自减运算符

单独使用   ++ 或--  单独一行  结果都一样

参与计算  b=a++  现加后用   b=++a  先加后用

例子:

 

补充:

+= -= *= /= %= 最后结果会转换为原来的类型

a+b的值赋值给a

关系运算符 比较运算符 

== != > >= < <=

运算结果都是boolean类型 要么true 要么false

三元运算符

运用三元运算符后一定要使用,否则报错

格式:关系表达式?表达式1:表达式2;

计算规则

先计算关系表达式

若值为true    表达式1值就为运算结果

      false   表达式2值为运算结果

短路逻辑运算符

&&  短路与  左边为false 则整个表达式为false

||  短路或  左边为true 则整个表达式为true

  • 分支语句

if :一般是对范围的判断

switch:把有限的数据一一列举,任选其一

switch格式:

switch(表达式){

 case 值1:

          语句体;

          break;

default:

         语句体n+1;

         break;

}

case 穿透

语句没有break导致

使用场景:多个case的语句体重复 考虑使用case穿透去简化代码

  • 跳转语句

continue

跳过本次循环,继续下一次循环

break

结束整个循环

  • 数组

一种容器

int类型数组容器(byte short int )

doube类型数组容器 (byte short int long float double)

静态初始化

手动指定数组元素

格式

数据类型[] 数组名 = {    }

int[] arr = {11,22,33};

获取数组内元素

数组名[索引]

动态初始化

手动指定数组长度(明确元素个数)

格式

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

String[] arr = new  String[50];

添加元素

arr[0]=”sdss”;

数组常见的操作

求最值   max的初始化一定要是数组中的值

求和

数据交换

打乱数据   在无规律的一堆数据中随机抽取  将数据放入数组中再随机抽取一个索引

  • 获取随机数

1.导包

2.Random r = new Random();

3.int n = r.nextInt(随机数范围);

  • 方法

方法是程序中最小的执行单元

重复的、具有独立功能的代码抽取到方法中

方法定义

格式

public static void 方法名(){

方法体;

}

public static void 方法名(参数){

方法体;

}

public static 返回值类型 方法名(){

方法体;

}

方法调用

方法名();  play();

方法名(参数); play(10);  play(10,20);

带返回值:

直接调用 方法名(实参);

赋值调用 整数类型 变量名=方法名(实参);

输出调用 Sout(方法名(实参));

方法重载

同一个类中,方法名相同,参数不同的方法

与返回值无关

参数不同:个数不同、类型不同、顺序不同

方法注意事项

方法必须先定义后调用,否则程序报错

方法调用,参数的数量要与方法定义中小括号内变量一一对应,否则报错

return语句下面,不能编写代码,因为永远执行不到,属于无效代码

return 无返回值 表示结束方法

return有返回值 表示结束方法和返回结果

  • 面向对象

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

类和对象

类:对象共同特性的描述

对象:真实存在的具体东西

JAVA中,必须先设计类,才能获得对象

定义类

public class 类名 {

成员变量  定义格式:修饰符 数据类型 变量名称 = 初始化值; 一般有默认初始值

成员方法

}

多个class类 只能有一个类被public修饰

得到类对象

类名 对象名 = new 类名();

修饰符

private

可修饰成员(成员方法、成员变量)

被public修饰的成员只能在本类中才能被访问

每一个私有化的成员变量都要提供get和set方法

set方法:给成员变量赋值        有形参 无返回值

get方法:对外提供成员变量的值  无形参 ,有返回值

static(静态变量 静态方法 特点 调用方式 注意事项)

 

就近原则

谁离我近就用谁

This

作用:可区分成员变量 局部变量

例子:

如果局部变量和成员变量同名,如何在局部变量作用域引用成员变量?(B )

A.不能引用,必须改名,使它们的名称不相同

B.在成员变量前加this,使用this访问该成员变量

C.在成员变量前加super,使用super访问该成员变量

D.不影响,系统可以自己区分

补充:成员变量与局部变量的区别

 

 

本质:代表方法调用者的地址值

构造方法(格式 特点 执行时机)

 

 

继承

格式

public class Student extends Person {}

特点

JAVA只支持单继承,不支持多继承,但支持多层继承

单继承:一个子类值继承一个父类

多层继承:子类A继承父类B 父类B继承父类C

继承后子类的特点(子类继承了父类哪些东西)

父类的属性和行为 子类都可使用

父类的构造方法   子类不可继承   

构造方法与public修饰的类名一致 public修饰的类名与文件名一致,不满足

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值