【Java_SE】超详细_基础复习

news/2024/4/21 12:55:49/文章来源:https://blog.csdn.net/2201_75406088/article/details/136510257

1:标识符

  • 由数字,字母,下划线,美元符号组成,但是不能以数字开头;

2:基本数据类型

  • byte 1

  • short 2

  • int 4

  • long 8

  • float 4

  • double 8

  • char 2

  • boolean -> false,true

3:引用数据类型

  • String(字符串:Java中字符串不是以\0结束,当遇到+表示拼接)

  • 数组(Array)

  • 类(class)

  • 接口(interface)

4:类型转换,类型提升

  • 显示类型转换:叫做强制类型转换,可能造成精度丢失

  • 隐式类型转换:不相干类型不能相互转换,强制转换也不行

  • 运算时,小类型会提升为大类型(先提升再运算);在参与运算时,小于4个字节的进行提升,否则无法编译通过

5:运算符

  • % 两边可以是小数

  • / 和 % 右操作数不能是0

  • 逻辑运算符(表达式两边得是:布尔表达式) -> &&,||,!

  • 位运算符(位表示:二进制数的位) ->

    1:<< 左移(相当于乘法,*2^n[n表示移动次数])-> 补0;

    2:>> 右移(相当于除法,/2^n) -> (符号位:1表示负数,0表示正数) 符号位为1就补1,符号位为0就补0;

    3:>>> 无符号右移(除法,/2^n)补0;

  • 布尔表达式1 ? 表达式2:表达式3(表达式1必须是布尔表达式)

6:选择语句

  • if,else if -> 括号内必须是:布尔表达式

  • switch -> 不能作为switch的参数只有4种:float,double,long,boolean

7:循环语句(迭代语句)

  • while

  • for

  • do{循环体}while();会先循环一次,再进行判断

8:选择/循环的关键字

  • continue 结束本趟continue以下循环

  • break 跳出当前循环

  • return 结束当前方法

9:方法

  • 方法定义:public static 返回值 方法名(形式参数列表){方法体}

  • 方法重载:方法名一样,参数列表不一样(个数,类型,顺序),返回值不影响方法重载

  • 方法调用:递归自己调用自己

10:一维数组

  • 元素类型[] 数组名 = {元素,元素,...};

  • 元素类型[] 数组名 = new 元素类型[]{元素,元素,...};

  • 数组是引用类型,数组元素是对象;数组在栈上存放的是引用所指向对象的地址,数组指向的对象在堆上开辟空间(局部变量存在栈上);

  • Java中只有传值,没有传址(地址也是一个值);1:传一个基本类型->形参值改变不能改变实参值;2:传一个引用类型->形参值改变可能改变实参值,改变指向地址不能改变实参,但是改变指向对象就可以改变实参;

11:二维数组

  • int[行][列] 数组名

  • 可以省略列,但不能省略行

12:数组拷贝(copyOf)/克隆(clone)

  • 数组拷贝可以控制拷贝长度;数组克隆直接原样克隆,不能改变长度。数组长度:数组名.length

  • Arrays.copyOf(要拷贝数组名,要拷贝的长度) -> Arrays是一个类,copyOf()是一个方法

  • 要克隆的数组名.clone();数组克隆不能改变要克隆的长度,只能原样复制

13:类/对象

  • 类:是描述一个对象的

  • 对象:是类产生的一个实体

  • 构造方法:含参数构造方法和不喊参数构造方法,都是对成员变量进行初始化的

  • this引用 -> 1:this.成员变量 当前类的成员变量;2:this.成员方法 当前类的成员方法;3:this(参数值1,参数值2,...)使用在构造方法中,并放在构造方法的第一句,表示的是:在无参构造函数中调用含有参数的构造函数

14:封装/继承/多态

  • public(哪儿都可以使用)

  • private(仅当前类可以使用)

  • protected(可以在当前包使用,也可以在不同包的子类使用)

  • 封装(private):一个类的某些方法被private修饰,仅对外公开借口来和对象进行交互;

  • 继承(extend):将要使用的共性单独写成一个类,以便于代码的复用。子类会将父类的属性和方法继承过来(继承的是对象),当父类被static所修饰的方法不会被继承(被static所修饰的属于类),子类也不能继承父类的构造方法;被final修饰的类不能被继承

  • 代码执行顺序:父类静态->子类静态->父类的实例->父类的构造->子类的实例->子类的构造;

  • 多态:不同的对象去完成同一个行为产生了不同的效果。多态实现的条件(❓)->1:继承、向上转型、重写

    向上转型(❓):父类引用子类对象(子类 对象1 = new 子类();父类 对象 = 对象1; -> 此时,对象就发生了向上转型,此时对象只能调用父类的方法,不能调用子类的方法)

    向上转型的三种:1:直接赋值;2:方法参数的传递;3:方法返回值。

    重写(❓):在子类中写一个和父类一样的方法,也称为覆盖,覆写;被static或者private所修饰的方法都不能被重写;当子类中重写了父类方法,调用此方法时,只能调用子类中的这个方法。

  • 代码执行顺序:父类实例->父类构造->子类实例->子类构造;

15:static关键字

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

  • static修饰成员变量(静态变量) -> 被static修饰的变量不属于对象,而属于当前类;

  • static修饰成员方法(静态方法) -> 静态方法中只能访问静态变量,只能调用静态方法;

16:super/this关键字

  • super:指定访问父类的成员变量和方法;

  • this:访问当前类的成员变量和方法(子类继承父类时,this会先访问子类的,子类没有再访问父类的);

  • 1:super.成员变量 访问父类成员变量;2:super.成员方法 访问父类成员方法;3:super()调用父类构造方法,放在构造函数第一句;

  • super()和this()不能同时存在,因为都需要放在构造函数第一句;

后面还有好多没复习的,复习到了再加上去 !!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_996767.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu环境配置-LinuxQQ篇

本教程下载Linux QQ的版本是linuxqq_3.0.0-571_amd64.deb 一、下载LinuxQQ 直接使用wget命令下载链接&#xff0c;下载文件 wget https://dldir1.qq.com/qqfile/qq/QQNT/c005c911/linuxqq_3.0.0-571_amd64.deb 二、安装LinuxQQ 当下载完成后&#xff0c;运行命令&#xff1a;…

【计算机网络笔记】1.概论

【计算机网络笔记】1.概论 前言: 计算机网络概论学习过程中,我感觉它就是在问一个问题: 计算机之间如何实现高效通信? 计算机网络的名词解释 重要基本特点 1.连通性 2.资源共享计算机网络的组成 由若干节点node和连接这些节点的链路link组成。节点可以是计算机、集线器、交换…

供应链管理(SCM):界面设计全面扫盲,得供应链者得天下

大家伙&#xff0c;我是大千UI工场&#xff0c;专注UI分享和项目接单&#xff0c;本期带来供应链系统的设计分享&#xff0c;欢迎大家关注、互动交流。 一、什么是SCM SCM系统是供应链管理&#xff08;Supply Chain Management&#xff09;系统的缩写。供应链管理是指协调和管…

openEuler全球生态合作研讨会:共话全球技术创新,共建国际产业生态

2024年2月27日&#xff0c;OpenAtom openEuler&#xff08;简称“openEuler”&#xff09;全球生态合作研讨会在西班牙巴塞罗那成功举办。开放原子开源基金会副秘书长辛晓华先生&#xff0c;开放原子开源基金会开源安全委员会副主席任旭东先生&#xff0c;Eclipse基金会首席会员…

linux安装openGauss数据库

这里写自定义目录标题 linux安装openGauss数据库openGauss 安装与配置传统安装docker安装 linux安装openGauss数据库 openGauss是一款华为开源的关系型数据库管理系统&#xff0c;它具有多核高性能、全链路安全性、智能运维等企业级特性。 openGauss内核早期源自开源数据库Po…

VMware虚拟机安装Linux教程(超详细)

目录 一、安装VMware VMware下载&#xff08;16 pro&#xff09;&#xff1a; 镜像文件&#xff08;不一定选择CentOS&#xff0c;只是为了有图形界面更好的操作)​ 安装VMware 安装虚拟机 第一步&#xff1a;点击创建新的虚拟机。​ 第二步&#xff1a;选择自定义 &…

2024电子商务与互联网技术国际会议(ICECIT 2024)

2024电子商务与互联网技术国际会议&#xff08;ICECIT 2024) 一、【会议简介】 2024电子商务与互联网技术国际会议&#xff08;ICECIT 2024&#xff09;将于2024年在杭州举行。这是一个重要的学术会议&#xff0c;旨在汇集全球的专家、学者和业界领袖&#xff0c;共同探讨电子…

VS2022打包C#安装包(最新、最全)

开发c#的一个小工具到打包环境碰壁了&#xff0c;在网上找了很多资料耶踩了很多坑&#xff0c;耗时1hour才打包完毕&#xff0c;避免以后碰到类似的问题再次记录&#xff0c;自认为步骤比较全面&#xff0c;如果有帮助麻烦点个赞呗&#xff01;&#xff01;&#xff01; 一、Mi…

实现vue elmentUI图片本地上传

实现思路 后端代码 //上传头像PostMapping("/uplaod")public String upload(MultipartFile file) { // System.out.println(file"图片上次");//图片校验if (file.isEmpty()) {return "图片上传失败";}//可以自己加一点校验 例如上传的是不…

解决 RuntimeError: “LayerNormKernelImpl“ not implemented for ‘Half‘

解决 RuntimeError: “LayerNormKernelImpl” not implemented for ‘Half’。 错误类似如下&#xff1a; Traceback (most recent call last): File “cli_demo.py”, line 21, in for results in webglm.stream_query(question): File “/root/WebGLM/model/modeling_webgl…

Polar 写shell

Polar 写shell 直接给了源码 还是没啥好说的&#xff0c;考点是die()死亡函数绕过之不同变量 **绕过原理&#xff1a; **通过base64解密或rot13解密使"<?php exit();"变为乱码&#xff0c;而传入的$content为base64编码&#xff0c;解码后为正常shell语句。通过…

企微hook源码

企微hook源码已经在QQ群内开源。速度进群下载&#xff0c;避免和谐。 QQ群&#xff1a;649480745

【Wio Terminal】使用WiFi(3)- Wi-F的高级使用

使用WiFi&#xff08;3&#xff09; Wi-F的高级使用HTTPClient 的使用HTTP GETHTTPs GETHTTP POSTWebServerHTTP Authentication Web ServerDNSServermDNSmDNS-SDWiFiManager Wi-F的高级使用 本节介绍了一些WiFi的高级库用法&#xff0c;如HTTPClient、DNSServer和WebServer库…

Java_排序

文章目录 一、排序的概念二、常见的排序算法三、常见排序算法的实现1.插入排序1、基本思想2、直接插入排序3、希尔排序&#xff08;缩小增量排序&#xff09; 2.选择排序1、基本思想2、直接选择排序2、堆排序 3.交换排序1、冒泡排序2、快速排序3、快速排序优化4、快速排序非递归…

100 spring-security 中 /oauth/token 发送请求不携带参数 报错 “401 Unauthorized“

前言 最近存在这样的一个问题, 大致的复现方式是 访问 /oauth/token 接口, 然后不携带任何参数, 结果 服务器抛出了一个 "401 Unauthorized" 针对这个 401, 这里 梳理一下这个流程, 也会衍生出一些其他的问题 测试用例 客户端这边大致的情况是 构造参数, 然后发…

arguments和剩余参数(...)

1、arguments对象 是函数内部内置的对象&#xff0c;是一个伪数组&#xff0c;包含了调用函数是传入的所有实参。可用来动态获取函数的实参。 function init(a,b,c) {console.log(arguments)}init(1,2,3) 2、剩余函数(...) 获取多余的实参&#xff0c;并形成一个真数组&#xf…

【邀请码体系设计】准入型邀请码的功能模块设计方案

文章讨论了准入型和营销型邀请码的技术需求&#xff0c;强调了管理功能、配置灵活性、数据分析能力和预生成策略的重要性。准入型邀请码的属性包括唯一标识符、生成任务ID、有效时间、使用方式和状态&#xff0c;这些特点确保了其在一次性使用场景中的有效管理和追踪。 文章目录…

Spring——Bean的作用域

bean的作用域 Bean Scope Scope说明singleton&#xff08;默认情况下&#xff09;为每个Spring IoC容器将单个Bean定义的Scope扩大到单个对象实例。prototype将单个Bean定义的Scope扩大到任何数量的对象实例。session将单个Bean定义的Scope扩大到一个HTTP Session 的生命周期…

kibana配置 dashbord,做可视化展示

一、环境介绍 这里我使用的kibana版本为7.17版本。 语言选择为中文。 需要已经有es&#xff0c;已经有kibana&#xff0c;并且都能正常访问。 二、背景介绍 kibana的可视化界面&#xff0c;可以配置很多监控统计界面。非常方便&#xff0c;做数据的可视化展示。 这篇文章&…

Rust错误处理和Result枚举类异常错误传递

Rust 有一套独特的处理异常情况的机制&#xff0c;它并不像其它语言中的 try 机制那样简单。 首先&#xff0c;程序中一般会出现两种错误&#xff1a;可恢复错误和不可恢复错误。 可恢复错误的典型案例是文件访问错误&#xff0c;如果访问一个文件失败&#xff0c;有可能是因…