当前位置: 首页 > news >正文

java基础学习

一、注释

1)当行注释 //

2)多行注释  

/* ... */

3)文档注释 (java特有)

/**

@author 张三

@version v1.0

这是文档注释,需要将class用public修饰

   */

二、关键字

(1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while

(2)2个保留字(现在没用以后可能用到作为关键字):goto、const

(3)3个特殊直接量:true、false、null

三、标识符和命名规范

1)标识符

    在程序之中用于定义名称的都表示标识符,例如:类的名称、方法名称或变量名称等等,

    在java之中的标识符的定义格式:由字母、数字、_、$所组成,其中不能以数字开头,不能是Java中的保留字。

2)命名规范

变量名使用驼峰命名法,首字母小写

包名应该都是由一个小写单词组成,如:net.test.modules

类名首字母大写

接口名与类名一致

常量名前面应该是static final,后面变量的名字全部大写,如:static final PI = 3.14

方法名的第一个单词应该是动词,但首字母小写后面每个首字母大写

四、数据类型

1、整型

注:

int num1 = 0b110; //二进制

int num2 = 110;//十进制

int num3 = 0127;//八进制

int num4 = ox110A;//十六进制

2、浮点型

3、字符型

char类型用于存放一个字符,值用单引号’表示 (双引号表示字符串)

其长度和short一样,也是16位的

只能存放一个字符,超过一个字符就会产生编译错误

4、布尔型

布尔型用于表示真假,其长度为1

boolean b1 = true; //false

【备注】

1)自动类型转换:

2)强制类型转换:

自动类型转换的逆运算,可能导致精度损失

五、转义字符

六、运算符

1) 在java中算术运算符+、-、*、/表示加减乘除。

2)数学函数

Math.sqrt(16));//4.0

Math.cbrt(27));//3.0

Math.cbrt(21));//2.7589241763811208

Math.pow(2, 3));//8.0

Math.max(2, 3); //3

3)自增和自减

x++ 表示当前值+1;

x-- 表示当前值-1;

4)二元运算符

x += 10  等价于 x = x + 10

5)三元运算符

boolean ret = name.equals("哪吒")?true:false;

6)位运算符

与&、或|、非~、异或^

7)逻辑运算符

         &     逻辑与      【并且】       (两边算子都是true,结果才是true)

           |     逻辑或      【或者】       (两边算子只要有一个是true,结果就是true)

           !     逻辑非      【取反】       (!false就是true;!true就是false  这是一个单目运算符)

           ^     逻辑异或    【不一样为真】 (两边不一样为真,两边一样为假)

           &&    短路与

           ||    短路或

           注意:

           - 逻辑运算符要求两边算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型

           - 短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象  第一个表达式执行结果是false,会发生短路

           - 短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象  第一个表达式执行结果是true,会发生短路

七、流程控制

(1)分支结构if-else条件判断

if(条件表达式){

执行表达式1}else if(条件表达式){

执行表达式2}else if(条件表达式){

执行表达式3}...else{

执行表达式n}

(2)switch-case语句

switch(表达式){case 常量1:

执行语句1;

//break;

case 常量2:

执行语句2;

//break;

...default:

执行语句n;

//break;

}

八、循环结构

1)for语句

//for循环结构

for(①;②;④){

③}

2)while语句

while(②){

③;

④;}

3)do-while语句

do

{

③;

④;

}while(②);

相关文章:

java基础学习

一、注释 1)当行注释 // 2)多行注释 /* ... */ 3)文档注释 (java特有) /** author 张三 version v1.0 这是文档注释,需要将class用public修饰 */ 二、关键字 (1)48个关键…...

Linux——进程优先级

1.什么是优先级? 优先级和权限息息相关。权限的含义为能还是不能做这件事。而优先级则表示:你有权限去做,只不过是先去做还是后去做这件事罢了。 2.为什么会存在优先级? 优先级表明了狼多肉少的理念,举个例子&#xff…...

音频设备初始化与输出:QT与SDL策略模式的实现

音频设备初始化与输出:QT与SDL策略模式的实现 一、引言(Introduction)1.1 音频设备初始化与输出的重要性1.2 QT与SDL的音频设备处理1.3 策略模式在音频设备处理中的应用 二、深入理解音频设备初始化与输出2.1 音频设备的基本概念2.2 音频设备…...

Linux 手动部署 SpringBoot 项目

Linux 手动部署 SpringBoot 项目 1. 将项目打包成 jar 包 &#xff08;1&#xff09;引入插件 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></pl…...

华为OD机试真题B卷 Java 实现【内存资源分配】

一、题目描述 有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请,需要按需分配内存池中的资源,返回申请结果成功失败列表。 分配规则如下: 分配的内存要大于等于内存的申请量,存在满足需求的内存就必须分配,优先分配粒度…...

深入理解ChatGPT插件:competitorppcads、seoanalysis和kraftful

1. 引言 插件&#xff0c;作为一种扩展功能的工具&#xff0c;为我们的应用程序提供了无限的可能性。在ChatGPT中&#xff0c;我们有许多强大的插件&#xff0c;如competitorppcads、seoanalysis和kraftful。这篇博客将详细介绍这三个插件的功能和使用方法。 2. competitorpp…...

通过源码编译安装LAMP平台的搭建

目录 1. 编译安装Apache httpd服务2 编写mysqld服务3 编译安装PHP 解析环境安装论坛 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够提供动态Web站点服务及其应用开发环境。 LAMP是一个缩写词&#xff0c;具体包…...

mac os 安装rz/sz

说明&#xff1a;使用rz sz实现终端的文件传输&#xff0c;该命令主要使用场景为 macos中通过堡垒机登陆后无法使用ftp工具传输文件。 工具&#xff1a;iTerm2、lrzsz、homebrew 以及两个脚本文件&#xff08;iterm2-recv-zmodem.sh、iterm2-send-zmodem.sh&#xff09; …...

Redis源码(1) 建立监听服务和开启事件循环

Redis 是cs架构(服务端-客户端)&#xff0c;典型的一对多的服务器应用程序。多个客户通过网络与Redis服务器进行通信。那么在linux环境中是使用epoll(我们也 只讨论linux环境的&#xff0c;便于学习)。   通过使用I/O多路复用技术&#xff0c; redis 服务器使用单线程单进程的…...

c++基础概念,const与指针、引用的关系,auto,decltype关键字能干啥总得了解吧。总得按照需求自定义创建实体类,自己编写头文件吧

const限定符 有时我们希望定义这样一种变量&#xff0c;它的值不能被改变。例如&#xff0c;用一个变量来表示缓冲区的大小。使用变量的好处是当我们觉得缓冲区大小不再合适时&#xff0c;很容易对其进行调整。另一方面&#xff0c;也应随时警惕防止程序一不小心改变了这个值。…...

【数据结构】---几分钟简单几步学会手撕链式二叉树(下)

文章目录 前言&#x1f31f;一、二叉树链式结构的实现&#x1f30f;1.1 二叉树叶子节点个数&#x1f4ab;代码&#xff1a;&#x1f4ab;流程图&#xff1a; &#x1f30f;1.2 二叉树的高度&#x1f4ab;第一种写法(不支持)&#xff1a;&#x1f4d2;代码&#xff1a;&#x1f…...

用户验证FTP实验

用户FTP实验 目录 匿名用户验证&#xff1a; 本地用户验证&#xff1a; 本地用户访问控制&#xff1a; 匿名用户验证&#xff1a; 例&#xff1a;&#xff08;前提配置&#xff0c;防火墙关闭&#xff0c;yum安装&#xff0c;同模式vmware11&#xff09; 现有一台计算机huy…...

App 软件开发《单选4》试卷答案及解析

App 软件开发《单选4》试卷答案及解析 注&#xff1a;本文章所有答案的解析来自 ChatGPT 的回答&#xff08;给出正确答案让其解释原因&#xff09;&#xff0c;正确性请自行甄辨。 文章目录 App 软件开发《单选4》试卷答案及解析单选题&#xff08;共计0分&#xff09;1&#…...

代码随想录算法训练营第三十七天 | 力扣 738.单调递增的数字, 968.监控二叉树

738.单调递增的数字 题目 738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 解析 从后向前遍历&#xf…...

C++内存总结

1.2 C内存 参考 https://www.nowcoder.com/issue/tutorial?tutorialId93&uuid8f38bec08f974de192275e5366d8ae24 1.2.1 简述一下堆和栈的区别 参考回答 区别&#xff1a; 堆栈空间分配不同。栈由操作系统自动分配释放 &#xff0c;存放函数的参数值&#xff0c;局部变…...

开发移动端官网总结_Vue2.x

目录 1、自定义加载中效果 2、HTML页面注入环境变量 / 加载CDN和本地库 3、在 Vue 中使用 wow.js 4、过渡路由 5、全局监听当前设备&#xff0c;切换PC端和移动端 6、移动端常用初始化样式 7、官网默认入口文件 8、回到顶部滑动过渡效果&#xff08;显示与隐藏、滑动置…...

Zookeeper+消息队列Kafka

一、Zookeeper 概述 官方下载地址&#xff1a;Index of /dist/zookeeper 1.1 Zookeeper 定义 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 1.2 Zookeeper 工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设…...

【滤波】设计卡尔曼滤波器

本文主要翻译自rlabbe/Kalman-and-Bayesian-Filters-in-Python的第8章节08-Designing-Kalman-Filters&#xff08;设计卡尔曼滤波器&#xff09;。 %matplotlib inline#format the book import book_format book_format.set_style()简介 在上一章节中&#xff0c;我们讨论了教…...

redis主备切换,哨兵模式,缓存穿透、缓存击穿、缓存雪崩问题

主备切换 主从复制指的是把一台Redis服务器的数据复制到其他Redis服务器上&#xff0c;前者称为主节点Master&#xff0c;后者称为从节点Slave&#xff0c;只能从Master单向复制到Slave&#xff0c;一般Master以写操作为主&#xff0c;Slave以读操作为主&#xff0c;实现读写分…...

2023山东icpc省赛总结

距离比赛结束已经一天多了&#xff0c;现在的感觉就是三个字&#xff1a;意难平。 这是我们第一次打现场赛&#xff0c;去之前真的是很激动。因为我们比赛前做了很多其他省的省赛模拟&#xff0c;也做了几套今年别的省的题目&#xff0c;做完会去搜题解&#xff0c;会看到别人写…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...